HBase+Spark社区 + 关注
手机版

HBase实操 | 使用Spark通过BulkLoad快速导入数据到HBase

  1. 云栖社区>
  2. HBase+Spark社区>
  3. 博客>
  4. 正文

HBase实操 | 使用Spark通过BulkLoad快速导入数据到HBase

hbase小能手 2018-11-16 11:45:19 浏览604 评论0

摘要: HBase社区直播本期分享专家:明惠(网名:过往记忆)-阿里云数据架构师 视频地址: https://yq.aliyun.com/live/590?spm=a2c4e.11155435.0.0.460177969kCLxf PPT地址: https://yq.aliyun.com/download/3033 PS:欢迎关注HBase+Spark团队号 https://yq.aliyun.com/teams/382 博客,问答,直播,各类HBase资料,线下meetup都会发布到这里。

HBase社区直播本期分享专家:明惠(网名:过往记忆)-阿里云数据架构师

视频地址:

https://yq.aliyun.com/live/590?spm=a2c4e.11155435.0.0.460177969kCLxf

PPT地址:

https://yq.aliyun.com/download/3033

PS:欢迎关注HBase+Spark团队号 https://yq.aliyun.com/teams/382 博客,问答,直播,各类HBase资料,线下meetup都会发布到这里。


1.文档编写目的



在项目中有需求需要将Hive表中的数据存储在HBase中。使用Spark访问Hive表,将读表数据导入到HBase中,写入HBase有两种方式:一种是通过HBase的API接口批量的将数据写入HBase,另一种是通过BulkLoad的方式生成HFile文件然后加载到HBase中,两种方式相比之下第二种效率会更高。本篇文章Fayson主要介绍如何使用Spark读取Hive表数据通过BulkLoad的方式快速的将数据导入到HBase。


  • 文章概述

1.环境准备

2.示例代码及运行

3.总结


  • 测试环境

1.CM5.14.3和CDH5.14.2

2.集群未启用Sentry和Kerberos

3.Spark1.6.0


2.环境准备



本篇文章主要使用HBase中hbase-spark包提供的HBaseContext来实现,需要准备hbase-spark的依赖包并部署到Spark集群。

1.将准备好的hbase-spark-1.2.0-cdh5.13.1.jar部署到集群所有节点的/opt/cloudera/parcels/CDH/lib/spark/lib目录下


67744393990d85446552aeafd2b5403231b303c4

保存配置,并重新部署Spark客户端配置

3.Hive表示例数据查看

47960eb8bb09c76027007ccd2642b5dc5e739c54

3.Spark示例代码



1.使用Maven创建Scala示例工程,pom.xml文件内容如下:

fd506d1fb8caf3054b2de45c7ba526782a8402cd

2.在工程中创建Hive2HBase.scala文件,内容如下:

a9852d25efea7b85942de92e759f5b926615183a

7b49c80d5e685442066347d9da5e04d52b5b004e

4d156f4bdfa5b72b9a8353667566a9d7b0bd5ee0

ccfa4c68c5a08254b2b0b2a6858f17bc9fb64d40

9a27d36286a432916a44199340efe3d13ffef28e

8dda61bd0e4ee4e0d188972b14705bb1076f5a9d

查看表数据

0ac8b8ec9fb54f9eed9d5ba6d0c954a6dab4b32a


5.总结



1.本篇文章是使用hbase-spark包中提供的bulkload方法生成HFile文件,然后将生成的文件导入到HBase表中。


2.使用bulkload的方式导入数据到HBase表时,在load HFile文件到表过程中会有短暂的时间导致该表停止服务(在load文件过程中需要先disable表,load完成后在enable表。


3.需要使用hbase用户提交Spark作业


GitHub地址:

https://github.com/fayson/cdhproject/blob/master/sparkdemo/src/main/scala/com/cloudera/hbase/Hive2HBase.scala


HBase直播主题调研,以及2019年HBase Meetup举办城市调研,欢迎大家积极参与。

697b08d2675fce358d6870b930704dab867be742

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

21898fcddd2cf701ebcc4d392de1d36451b8c719

d3f2f0da5b6761a64c7049db7719525a2c492a0c

大家工作学习遇到HBase技术问题,把问题发布到HBase技术社区论坛http://hbase.group,欢迎大家论坛上面提问留言讨论。想了解更多HBase技术关注HBase技术社区公众号(微信号:hbasegroup),非常欢迎大家积极投稿。

c77a5a6c913cdf0b6e23f5c5a4c21ff46fb76af2


HBase技术交流社区 - 阿里官方“HBase生态+Spark社区大群”点击加入:https://dwz.cn/Fvqv066s

【云栖快讯】一站式开发者服务,海量学习资源免费学  详情请点击

网友评论