3

HBase のハイブに外部テーブルを作成できます。可変列を持つ外部テーブルを作成する必要があります。これは、HBase の列が特定のテーブルに対して固定されておらず、列の数が固定されておらず、作成できることを意味します。データ挿入時に動的に、そのような状況を処理するためのアプローチはどうあるべきか.

まとめ:HBaseテーブルで列数が固定されていない場合にハイブに外部テーブルを作成する方法。

前もって感謝します。

4

2 に答える 2

6
  1. Hbase シェルでテーブルを作成する

    create 'hbase_2_hive_names', 'id', 'name', 'age'

  2. データを Hbase にロードします (入力ファイルは HDFS にある必要があります)

    export HADOOP_CLASSPATH=$(/usr/local/hbase/bin/hbase classpath);$HADOOP_HOME/bin/hadoop jar /usr/local/hbase/hbase-0.94.1.jar importtsv -Dimporttsv.columns=HBASE_ROW_KEY,id:id,name:fn,name:ln,age:age hbase_2_hive_names /var/data/samples/names.tsv

  3. Hive シェルで外部テーブルを作成する

    CREATE EXTERNAL TABLE hbase_hive_names(hbid INT, id INT, fn STRING, ln STRING, age INT) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,id:id,name:fn,name:ln,age:age") TBLPROPERTIES("hbase.table.name" = "hbase_2_hive_names");

于 2012-08-29T20:45:03.950 に答える