Spark RDD编程 读写HBase数据

HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。Spark支持对HBase数据库中的数据进行读写。

一、创建一个HBase表

启动Hadoop的HDFS:

$ cd /usr/local/hadoop
$ ./sbin/start-dfs.sh

启动HBase:

$ cd /usr/local/hbase
$ ./bin/start-hbase.sh //启动HBase
$ ./bin/hbase shell //启动HBase Shell

创建一个student表,把数据保存到HBase中时,可以把id作为行健(Row Key),把info作为列族,把name、gender和age作为列。

hbase> create  'student','info'
//首先录入student表的第一个学生记录 
hbase> put  'student','1','info:name','Xueqian' 
hbase> put  'student','1','info:gender','F' 
hbase> put  'student','1','info:age','23' 
//然后录入student表的第二个学生记录 
hbase> put  'student','2','info:name','Weiliang' 
hbase> put  'student','2','info:gender','M' 
hbase> put  'student','2','info:age','24'

二、配置Spark

把HBase安装目录下的lib目录中的一些jar文件拷贝到Spark安装目录中,这些都是编程时需要引入的jar包。需要拷贝的jar文件包括:所有hbase开头的jar文件、guava-12.0.1.jar、htrace-core3.1.0-incubating.jar和protobuf-java-2.5.0.jar。

$ cd  /usr/local/spark/jars
$ mkdir  hbase 
$ cd  hbase 
$ cp  /usr/local/hbase/lib/hbase*.jar  ./ 
$ cp  /usr/local/hbase/lib/guava-12.0.1.jar  ./ 
$ cp  /usr/local/hbase/lib/htrace-core-3.1.0-incubating.jar  ./ 
$ cp  /usr/local/hbase/lib/protobuf-java-2.5.0.jar  ./

三、编写程序读取HBase数据

如果要让Spark读取HBase,就需要使用SparkContext提供的newAPIHadoopRDD这个API将表的内容以RDD的形式加载到Spark中。
新建一个SparkOperateHBase.scala代码文件:

import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.hbase._ import org.apache.hadoop.hbase.client._ 
import org.apache.hadoop.hbase.mapreduce.TableInputFormat  
import org.apache
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓之以理的喵~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值