2016-04-18 25 views
0

Ich bin neu bei HBase und ich habe eine flache Datei (nicht begrenzte Datei), die ich gerne in eine einzige HBASE-Tabelle laden würde. HierWie lade ich eine flache Datei (nicht begrenzte Datei) in HBase?

ist eine Vorschau einer Zeile in meiner Datei:

0107E07201512310015071C11100747012015123100

ich fo Beispiel weiß, dass von Position 1 bis 7, es ist eine ID und von Position 7 bis 15 ist es ein Datum ....

Das Problem ist, wie man ein Schema erstellt, das meiner Datei entspricht oder wenn es eine Möglichkeit gibt, es in eine Datei mit Trennzeichen zu konvertieren oder solche Datei mit Jaql zu lesen, weil ich mit Infosphere BigInsights arbeite.

Jede Hilfe würde sehr geschätzt werden.

Vielen Dank im Voraus.

Antwort

0

erstellen Hive Tabelle RegExSerDe mit

CREATE EXTERNAL TABLE testtable ((col1 STRING, col2 STRING, col3 STRING) 
ROW FORMAT SERDE ‘org.apache.hadoop.hive.contrib.serde2.RegexSerDe’ 
WITH SERDEPROPERTIES (“input.regex” = “(.{5})(.{6})(.{3}).*”) 
LOCATION ‘<hdfs-file-location>’; 

Sie können HBase hive Tabelle erstellen zeigt Hier sind die Anweisungen http://hortonworks.com/blog/hbase-via-hive-part-1/

Sie Einsatz Überschreibungstabelle verwenden, können die Daten von hive Tabelle zu laden zu HBase-Tabelle https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-SELECTSandFILTERS

+0

Vielen Dank für Ihre Antwort. Es hat mein Problem gelöst – user3531429

0

Sie können eine SerDe schreiben, um in Hive zu deserialisieren und Hive zu verwenden, um nach HBase zu exportieren.