Spark整合HBase,Hive

背景:

  场景需求1:使用spark直接读取HBASE表

  场景需求2:使用spark直接读取HIVE表

  场景需求3:使用spark读取HBASE在Hive的外表

 

摘要:

  1.背景

  2.提交脚本

内容

场景需求1:使用spark直接读取HBASE表

编写提交脚本:

export SPARK2_HOME=/var/lib/hadoop-hdfs/spark-2.0.0-bin-hadoop2.4

export HBASE_LIB_HOME=/opt/cloudera/parcels/CDH/lib/hbase
$SPARK2_HOME/bin/spark-shell --jars \
 $HBASE_LIB_HOME/hbase-common-0.98.6-cdh5.3.2.jar\
,$HBASE_LIB_HOME/hbase-client-0.98.6-cdh5.3.2.jar\
,$HBASE_LIB_HOME/hbase-protocol-0.98.6-cdh5.3.2.jar,\
,$HBASE_LIB_HOME/hbase-server-0.98.6-cdh5.3.2.jar\
,$HBASE_LIB_HOME/lib/htrace-core-2.04.jar

场景需求2:使用spark直接读取HIVE表

编写提交脚本:

export OPT_LIB_HOME=/var/lib/spark/lib
export HBASE_LIB_HOME=/var/lib/hbase/lib

/data/dmp/spark/bin/pyspark --master yarn-client \
 --jars $OPT_LIB_HOME/mysql-connector-java-5.1.26-bin.jar

场景需求3:使用spark读取HBASE在Hive的外表

编写提交脚本:

export SPARK_HOME=/data/dmp/spark
export OPT_LIB_HOME=$SPARK_HOME/lib

$SPARK_HOME/bin/pyspark --master yarn-client \
 --jars $OPT_LIB_HOME/mysql-connector-java-5.1.26-bin.jar,$OPT_LIB_HOME/hive-hbase-handler-1.2.1.jar,$OPT_LIB_HOME/hbase-client-0.98.6-cdh5.3.3.jar,$OPT_LIB_HOME/hbase-common-0.98.6-cdh5.3.3.jar,$OPT_LIB_HOME/hbase-hadoop2-compat-0.98.6-cdh5.3.3.jar,$OPT_LIB_HOME/hbase-protocol-0.98.6-cdh5.3.3.jar,$OPT_LIB_HOME/hbase-server-0.98.6-cdh5.3.3.jar,$OPT_LIB_HOME/htrace-core-2.04.jar,$OPT_LIB_HOME/guava-14.0.1.jar 

 

2.代码例子

  pom添加HBase依赖:https://github.com/Tongzhenguo/my_scala_code/blob/master/pom.xml

  编写Spark Driver Application 类:https://github.com/Tongzhenguo/my_scala_code/blob/master/src/main/scala/utils/HBaseSparkReadUtils.scala

 

posted @ 2016-12-02 18:29  混沌战神阿瑞斯  阅读(2771)  评论(0编辑  收藏  举报