日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Hive訪問云HBase數據

阿里云HBase需要借助外部Hive對多表進行關聯分析,本文介紹如何使用E-MapReduce(簡稱EMR)上的Hive關聯阿里云HBase的表。

前提條件

  • 已創建DataLake集群。詳細步驟,請參見創建集群。
  • 已創建與EMR在同一地域下且共用VPC的HBase實例。
說明 本文示例使用HBase標準版(2.0版本),暫不支持HBase增強版(Lindorm)。

步驟一:新增Hive配置

  1. 進入配置頁面。
    1. 登錄EMR on ECS控制臺。
    2. 在頂部菜單欄處,根據實際情況選擇地域和資源組。
    3. 集群管理頁面,單擊目標集群右側操作列的集群服務。
    4. 單擊Hive服務區域的配置
    5. 單擊hbase-site.xml頁簽。
  2. 添加以下配置項。

    新增配置項的具體操作,請參見添加配置項

    配置項配置內容
    hbase.zookeeper.quorum填寫HBase集群的ZooKeeper鏈接地址(專有網絡 )。例如:hb-xxxx-master1-001.hbase.rds.aliyuncs.com:2181、hb-xxxx-master2-001.hbase.rds.aliyuncs.com:2181hb-xxxx-master3-001.hbase.rds.aliyuncs.com:2181

步驟二:查看HBase表

說明 HBase Shell的獲取方式,請參見HBase Shell使用介紹。
  1. 執行以下命令,連接HBase。
    hbase shell
  2. 執行list命令,查看HBase表中hive_hbase_table或者hbase_table是否存在。

步驟三:創建HBase外部關聯表

  1. 執行以下命令,創建外部表。
    create 'hbase_table','f'
  2. 執行以下命令,向表中插入數據。
    1. 插入第一條數據。
      put 'hbase_table','1122','f:col1','hello'
    2. 插入第二條數據。
      put 'hbase_table','1122','f:col2','hbase'
  3. 執行以下命令,創建HBase外部關聯表并查看數據。
    1. 在Hive中創建HBase外部關聯表。
      create external table hbase_table(key int,col1 string,col2 string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = "f:col1,f:col2") TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");
    2. 查看關聯表信息。
      select * from hbase_table;
      返回表信息如下:
      1122    hello   hbase
    3. 在Hive中刪除表hbase_table。
      drop table hbase_table;
    4. 在HBase中執行list命令,查看表hbase_table是否存在。
      若返回信息顯示表hbase_table存在,則表明刪除Hive中的表并不影響HBase中已存在的表。

步驟四:創建HBase內表

  1. 輸入hive命令進入Hive CLI命令行。
  2. 執行以下命令,創建HBase表。
    CREATE TABLE hive_hbase_table(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "hive_hbase_table", "hbase.mapred.output.outputtable" = "hive_hbase_table");
  3. 執行以下命令,向hive_hbase_table表中插入數據。
    insert into hive_hbase_table values(212,'bab');
  4. 執行以下命令,在Hive中查看表信息。
    select * from hive_hbase_table
  5. 執行以下命令,在HBase中寫入數據并在Hive中查看。
    1. 在HBase中寫入數據。
      put 'hive_hbase_table','132','cf1:val','acb'
    2. 在Hive中查看寫入的數據。
      select * from hive_hbase_table;
      返回信息如下:
      132 acb 212 bab
  6. 執行以下命令,刪除Hive表并查看HBase表情況。
    1. 在Hive中刪除表hive_hbase_table。
      drop table hive_hbase_table;
    2. 在HBase中查看表hive_hbase_table。
      scan hive_hbase_table;
      返回信息會提示表已經不存在。