2016-12-01 4 views
0

Ich versuche, eine Tabelle in Hive abzubilden, um eine HBase-Tabelle anzuzeigen. Ich habe dies ohne Probleme mit mehreren Spalten getan, bin mir aber nicht sicher, wie ich mit einer Zählerspalte umgehen soll. Ist das möglich?Zuordnung von HBase-Tabelle mit Zählersäule zu externen Bienenstock-Tabelle?

Wenn ich die hbase-Tabelle scanne, ist ein Beispielwert der Zählerspalte \x00\x00\x00\x00\x00\x00\x00\x01.

Ich vermute, dass ich den Spaltentyp falsch in der Hive-Tabelle festlegen. Ich habe int und string versucht (beide zeigen nur Nullen in der Hive-Ansicht). Gibt es einen besseren Weg, um die Anzahl der Inkremente von diesem Wert zu erhalten? Die ideale Welt wäre eine Spalte im Bienenstock, die die Summe aller Inkremente ist, nehme ich an.

Es ist durchaus möglich, dass ich falsch verstehe, was beim Anzeigen des Zählers möglich ist (oder wie der Zähler ursprünglich eingerichtet wurde).

Antwort

1

Endete finden Antwort durch this link auf Cloudera-Community.

Antwort ist zu Zähler Spalte in Hive-Tabelle als bigint definieren und definieren Sie die SERDEPROPERTIES mit "#b" am Ende hinzugefügt, um den HBase-Spaltentyp ist binär.

Zum Beispiel:

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'); 
Verwandte Themen