背景:
場景需求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
