如何用hive查询hbase中的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用hive查询hbase中的数据相关的知识,希望对你有一定的参考价值。
参考技术A 第一步,启动hadoop,命令:./start-all.sh第二步,启动Hive,命令:
./hive --auxpath /home/dream-victor/hive-0.6.0/lib/hive_hbase-handler.jar,/home/dream-victor/hive-0.6.0/lib/Hbase-0.20.3.jar,/home/dream-victor/hive-0.6.0/lib/zookeeper-3.2.2.jar -hiveconf hbase.master=127.0.0.1:60000
这里,-hiveconf hbase.master=指向自己在hbase-site.xml中hbase.master的值
第三步,启动hbase,命令:./start-hbase.sh
第四步,建立关联表,这里我们要查询的表在hbase中已经存在所以,使用CREATE EXTERNAL TABLE来建立,如下:
如何用sqoop将hive分区表信息导入到mysql命令
参考技术A 如何用sqoop将hive分区表信息导入到mysql命令直接导入hive表
sqoop
import
--connect
jdbc:postgresql://ip/db_name--username
user_name
--table
table_name
--hive-import
-m
5
内部执行实际分三部,1.将数据导入hdfs(可在hdfs上找到相应目录),2.创建hive表名相同的表,3,将hdfs上数据传入hive表中
sqoop根据postgresql表创建hive表
sqoop
create-hive-table
--connect
jdbc:postgresql://ip/db_name
--username
user_name
--table
table_name
--hive-table
hive_table_name(
--hive-partition-key
partition_name若需要分区则加入分区名称)
导入hive已经创建好的表中
sqoop
import
--connect
jdbc:postgresql://ip/db_name
--username
user_name
--table
table_name
--hive-import
-m
5
--hive-table
hive_table_name
(--hive-partition-key
partition_name
--hive-partition-value
partititon_value);
使用query导入hive表
sqoop
import
--connect
jdbc:postgresql://ip/db_name
--username
user_name
--query
"select
,*
from
retail_tb_order
where
\$CONDITIONS"
--hive-import
-m
5
--hive-table
hive_table_name
(--hive-partition-key
partition_name
--hive-partition-value
partititon_value);
注意:$CONDITIONS条件必须有,query子句若用双引号,则$CONDITIONS需要使用\转义,若使用单引号,则不需要转义。
以上是关于如何用hive查询hbase中的数据的主要内容,如果未能解决你的问题,请参考以下文章