Hive中怎么通过外部表操作Hbase数据


Hive中怎么通过外部表操作Hbase数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。概述:HBase:查询效率比较高,常为实时业务提供服务,但是其查询方式比较单一,只能通过row方式get单条数据,或者通过scan加过滤器的方式扫描数据表获取数据。
Hive: hive用来存储结构化数据,常用来搭建数据仓库作为离线分析的数据存储,支持HQL操作,但是对于复杂HQL都会转化成mapreduce任务,执行比较慢。
有时候我们数据存在HBase中,但是需要通过sql语句来操作hbase表数据,我们一般使用Hive外部表操作HBase数据。大体步骤如下:1.拷贝依赖包将Hive操作HBase依赖的几个包拷贝到Hive安装目录下的lib下(每个hive节点都要执行拷贝):/usr/lib/hive/lib/zookeeper.jar;/usr/lib/hive/lib/hbase.jar;/usr/lib/hive/lib/hive-hbase-handler-X.X.X.jar/usr/lib/hive/lib/guava-11.0.2.jar;2.HBase操作登录hbase shell控制台,新建hbase表ljs:student(ljs是命名空间,student是表名)执行命令:create_namespace ‘ljs’
create ‘ljs:student’,’info’
查看表结构:!desc ‘ljs:student’向HBase表插入数据:put ‘ljs:student’,’1001′,’info:name’,’ljs1001’put ‘ljs:student’,’1001′,’info:age’,’21’put ‘ljs:student’,’1001′,’info:score’,’89’put ‘ljs:student’,’2001′,’info:name’,’ljs1002’put ‘ljs:student’,’2001′,’info:age’,’24’put ‘ljs:student’,’2001′,’info:score’,’78’查看表数据:
3.Hive操作执行/usr/hdp/2.6.3.0-235/hive/bin/hive登录到hive控制台 香港云主机新建hive数据表:
create external table hive_student(user_no string,user_name string,user_age string,user_score string) stored by ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’ with serdeproperties (“hbase.columns.mapping” = “:key,info:name,info:age,info:score”) tblproperties(“hbase.table.name” = “ljs:student”);查询hive表,可查看hbase映射表中对应的数据:
至此Hive操作HBase表数据完成。注意:1.hive中建hbase映射表时,建表语句中关键字“hbase.columns.mapping”后面的对应映射字段要与HBase表字段大小写一致。否则可能映射失败。看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注开发云行业资讯频道,感谢您对开发云的支持。

相关推荐: airflow使用mysql数据库和LocalExecutor并发调度

这篇文章主要介绍“airflow使用mysql数据库和LocalExecutor并发 香港云主机调度”,在日常操作中,相信很多人在airflow使用mysql数据库和LocalExecutor并发调度问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/05 11:18
下一篇 08/05 11:18

相关推荐