テーブルにローカルデータをHBaseの。

1.まず、我々は最初の良いテーブルを作成する必要があります

#Baiduの李に名前空間でこの名前空間を作成し、列のクラスタ情報を開発するために
作成し、「李:百度情報
輸入org.apache.hadoop.conf.Configuration。
輸入org.apache.hadoop.fs.Path。
輸入org.apache.hadoop.hbase.HBaseConfiguration。
輸入org.apache.hadoop.hbase.client.Put; 
輸入org.apache.hadoop.hbase.io.ImmutableBytesWritable; 

輸入org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil; 
輸入org.apache.hadoop.hbase.util.Bytes。
輸入org.apache.hadoop.io.LongWritable; 
輸入org.apache.hadoop.io.Text; 
輸入org.apache.hadoop.mapreduce.Job。
輸入org.apache.hadoop.mapreduce.Mapper; 
輸入org.apache.hadoop.mapreduce.lib.input.FileInputFormat。

インポートにjava.io.IOException; 

パブリック クラスReadFromFileIntoHbase {
     静的 クラス ReadFromFileMapperが延びるマッパー<LongWritable、テキスト、ImmutableBytesWritable、プット> { 
        ImmutableBytesWritable IBW = 新しいImmutableBytesWritable()。
        プライベート バイト [] FAMILY = Bytes.toBytes(" 情報" );
        プライベート バイト [] SEARCH = Bytes.toBytes(" SERCH " )。
        プライベート バイト [] RANK = Bytes.toBytes(" ランク" );
        プライベート バイト []をクリックしてください= Bytes.toBytes(" クリック" );
        プライベート バイト [] = Bytes.toBytes URL(" URL " ); 
        @Overrideは、
        保護された 無効地図(LongWritableキー、テキスト値、コンテキストコンテキスト)はIOExceptionが、InterruptedExceptionあるが{スロー
             // 新しいテーブルで指定された区切り文字 
            のString []言葉=値。.toString()スプリット(" \ T " );
             // ユーザID +のような時間のrowKey 
            文字単語RK = [ 1 +] " - " +言葉[ 0 ]; 
            。IBW SET (Bytes.toBytes(RK))。
             // 元のテーブルには、持っている
            IF(words.lengthを==6 ){ 
                プットプット = 新しいプット(Bytes.toBytes(RK))。
                put.addColumn(FAMILY、SEARCH、Bytes.toBytes(ワード[ 2 ]))。
                put.addColumn(FAMILY、RANK、Bytes.toBytes(単語[ 3 ]))。
                put.addColumn(FAMILY、CLICK、Bytes.toBytes(単語[ 4 ]))。
                put.addColumn(FAMILY、URL、Bytes.toBytes(単語[ 5 ]))。
                context.write(IBW、PUT)。
            } {
                 返します
            } 
        } 
        公共の 静的な 無効メイン(文字列[] argsが){にIOException、ClassNotFoundExceptionが、例外:InterruptedExceptionをスロー
            構成設定 = HBaseConfiguration.create()。
            設定。セット" hbase.zookeeper.quorum "" server3の:2181 " ); 
            設定。セット" zookeeper.znode.parent "" / HBaseの、安全でありません" )。
            ジョブジョブ = Job.getInstance(設定、" ExampleRead " ); 
            job.setJarByClass(ReadFromFileIntoHbase。クラス); 

            Job.setMapperClass(ReadFromFileMapper。クラス
            。job.setOutputKeyClass(ImmutableBytesWritable クラス
            。(PUTのjob.setOutputValueClass クラス); 

            // 私たちはテーブルに最終的なデータが欲しいので、私たちは何をする必要があるため 
            TableMapReduceUtilを.initTableReducerJob(" 梁:sogo4 "ヌル、仕事);
             // 設定減らす 
            job.setNumReduceTasks(0 ); 

            FileInputFormat.addInputPath(仕事、新しい新しいパス(" D:\\ sogou.500w.utf8 " )); 

            ブールB= job.waitForCompletion()。
            もし(!のB){
                 スロー 新しいのIOException(" ジョブにエラーを!" ); 
            } 
        } 
    } 
}

2.クイズについて

#前10の参照データ
スキャン" のLi:百度"、LIMIT = {> 10 }

 

おすすめ

転載: www.cnblogs.com/shiji7/p/11929621.html