为了支持Spark 读写HBase,需要把HBase lib 目录下的一些jar 文件拷贝到Spark 的jars 目录下, 这些jar 有hbase 开头jar 包,zookeeper-3.4.5.jar,metricscore-2.1.2.jar,htrace-core-2.01-incubating.jar,guava-12.0.1.jar。拷贝命令如下:
cp /hadoop/hbase-0.96.0-hadoop2/lib/hbase-*.jar /hadoop/spark-2.1.0-binhadoop2.6/jars/
cp /hadoop/hbase-0.96.0-hadoop2/lib/zookeeper-3.4.5.jar /hadoop/spark-2.1.0-binhadoop2.6/jars/
cp /hadoop/hbase-0.96.0-hadoop2/lib/metrics-core-2.1.2.jar /hadoop/spark-2.1.0-bin-hadoop2.6/jars/
cp /hadoop/hbase-0.96.0-hadoop2/lib/htrace-core-2.01.jar /hadoop/spark-2.1.0-bin-hadoop2.6/jars/
cp /hadoop/hbase-0.96.0-hadoop2/lib/guava-12.0.1.jar /hadoop/spark-2.1.0-binhadoop2.6/jars/
首先通过hbase shell 创建表:
create 'student', 'info'
向HBase 写入数据完整代码如下:
(www.daowen.com)
如果只是在spark-shell 中运行,代码从val conf = HBaseConfiguration.create()开始运行到rdd.saveAsHadoopDataset(jobConf)即可,也可以打包成jar 运行,具体如何打包可以参考8.8 节内容。运行结果如图8-12 所示:
图8-12 Spark 向HBase student 表插入数据
也可以使用saveAsNewAPIHadoopDataset 完成写入数据。
运行结果如图8-13 所示:
图8-13 Spark 读取HBase student 表数据
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。