【问题标题】:Create External Hive Table Pointing to HBase Table创建指向 HBase 表的外部 Hive 表
【发布时间】:2015-05-17 13:05:29
【问题描述】:

我在 HBase 中有一个名为 "HISTORY" 的表,该表具有列族 "VDS" 和列名 ROWKEY, ID, START_TIME, END_TIME, VALUE. 我正在使用 Cloudera Hadoop Distribution。我想使用 Impala 为 HBase 表提供 SQL 接口。为了做到这一点,我们必须在 Hive 中创建相应的外部表?那么如何创建指向这个 HBase 表的外部 hive 表呢?

【问题讨论】:

    标签: sql hadoop hive hbase impala


    【解决方案1】:

    在 Hive 查询编辑器中运行以下代码:

    CREATE EXTERNAL TABLE IF NOT EXISTS HISTORY 
    (
        ROWKEY STRING,
        ID STRING,
        START_TIME STRING,
        END_TIME STRING,
        VALUE DOUBLE
    )
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
    WITH SERDEPROPERTIES
    (
        "hbase.columns.mapping" = ":key,VDS:ID,VDS:START_TIME,VDS:END_TIME,VDS:VALUE"
    )
    TBLPROPERTIES("hbase.table.name" = "HISTORY");
    

    不要忘记在创建外部表后使用以下 bash 命令刷新 Impala 元数据:

    echo "INVALIDATE METADATA" | impala-shell;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多