标签:height etl hive base union XML 映射 ESS pac
Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询,同时也可以将hive表中的数据映射到HBase中;
<property>
<name>hive.zookeeper.quorum</name>
<value>hadoop102,hadoop103,hadoop104</value>
</property>
<property>
<name>hive.zookeeper.client.port</name>
<value>2181</value>
</property>
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
#删除hive的安装目录下默认存在的hbase的jar文件
rm -rf /opt/module/hive/lib/hbase-*.jar
#将hbase的lib目录下的jar文件复制到hive下
cp /opt/module/hbase/lib/hbase-*.jar /opt/module/hive/lib
#删除hive安装目录下默认存在的zookeeper的jar文件
rm -rf /opt/module/hive/lib/zookeeper-*.jar
#将zookeeper下的jar文件复制到hive下
cp /opt/module/zookeeper/zookeeper-*.jar /opt/module/hive/lib
create ‘hbase_test‘,{NAME => ‘f1‘,VERSIONS => 1},
{NAME => ‘f2‘,VERSIONS => 1},
{NAME => ‘f3‘,VERSIONS => 1}
put ‘hbase_test‘,‘r1‘,‘f1:name‘,‘zhangsan‘
put ‘hbase_test‘,‘r1‘,‘f2:age‘,‘20‘
put ‘hbase_test‘,‘r1‘,‘f3:sex‘,‘male‘
put ‘hbase_test‘,‘r2‘,‘f1:name‘,‘lisi‘
put ‘hbase_test‘,‘r2‘,‘f2:age‘,‘30‘
put ‘hbase_test‘,‘r2‘,‘f3:sex‘,‘female‘
put ‘hbase_test‘,‘r3‘,‘f1:name‘,‘wangwu‘
put ‘hbase_test‘,‘r3‘,‘f2:age‘,‘40‘
put ‘hbase_test‘,‘r3‘,‘f3:sex‘,‘male‘
create external table hiveFromHbase(rowkey String,f1 map<STRING,STRING>,f2 map<STRING,STRING>,f3 map<STRING,STRING>)STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘WITH SERDEPROPERTIES("hbase.columns.mapping"=":key,f1:,f2:,f3:")TBLPROPERTIES("hbase.table.name"="hbase_test");
注意:这里使用外部表映射到hbase中的表,这样,在hive中删除表,并不会删除hbase中的表,否则,就会删除;另外,除了rowkey,其他三个字段使用map结构来保存hbase中的每一个列族;
hbase.columns.mapping:hive表和hbase表的字段映射关系,分别为:hive表中第一个字段映射:key(rowkey),第二个字段映射列族f1,第三个字段映射列族f2,第四个字段映射列族f3;
hbase.table.name:映射到hbase上的表名;
create table hive_test(id String,name String,age int,address String)STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘WITH SERDEPROPERTIES("hbase.columns.mapping"=":key,f1:name,f2:age,f3:address")TBLPROPERTIES("hbase.table.name"="hbaseFromhive");
由于hive表中没有加载数据,此时hbase中映射没有数据;
insert into table hive_test values(‘001‘,‘sjdf‘,18,‘beijing‘);
标签:height etl hive base union XML 映射 ESS pac
原文地址:https://www.cnblogs.com/wnwn/p/12956453.html