2016-12-01 12 views
0

hbaseテーブルを表示するために、ハイブでテーブルをマップしようとしています。私はいくつかの列で問題なくこれを行いましたが、カウンタ列でどのように管理するのかは不明です。これは可能ですか?外部のハイブテーブルへのカウンタ列を持つhbaseテーブルのマッピング?

hbaseテーブルをスキャンすると、カウンタ列の値の例は\x00\x00\x00\x00\x00\x00\x00\x01になります。

ハイブテーブルで列の種類を誤って設定していると思われます。私はintとstringを試しました(どちらも、ハイブビューではnullのみを表示します)。この値からインクリメントの数を得るより良い方法はありますか?理想的な世界は、すべてのインクリメントの合計であるハイブの列になると思います。

私はカウンタの表示(またはカウンタの設定方法)を誤解している可能性があります。

答えて

1

クローズダコミュニティでthis linkまでの回答が見つかりました。

答えは、bigintとしてハイブテーブルのカウンタ列を定義し、最後に '#b'を付けてSERDEPROPERTIESを定義して、hbase列の型がバイナリであることを示します。例えば

create external table md_extract_file_status (table_key string, fl_counter bigint) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,colfam:FL_Counter#b) 
TBLPROPERTIES('hbase.table.name' ='HBTABLE'); 
関連する問題