2012-04-05 3 views
2

Я могу создать внешние таблицы в hive HBase, теперь у меня есть требование создать внешнюю таблицу, которая имеет переменные столбцы, что означает, что столбцы в HBase не фиксированы для конкретного таблицу, столбцы без столбцов и могут быть созданы динамически во время ввода данных, каким должен быть подход для обработки такой ситуации.Как создать внешнюю таблицу для hbase

Summery: Как создать внешние таблицы в кусте, когда столбцы столбцов не фиксированы в таблице HBase.

Заранее спасибо.

+0

Как вы думаете, что получилось бы? –

+1

У меня есть какое-то решение, которое я опубликую здесь тоже, что поможет другим при необходимости CREATE EXTERNAL TABLE shashwat (key int, value map ) > STORED BY 'org.apache.hadoop.hive.hbase. HBaseStorageHandler ' > С SERDEPROPERTIES ("hbase.columns.mapping" = ": key, demo:") > TBLPROPERTIES ("hbase.table.name" = "hbase_shashwat"); – Infinity

ответ

5
  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. Создать внешнюю таблицу в улье оболочка

    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");

Смежные вопросы