Spark-sql 读hbase

SparkSQL是指整合了Hive的spark-sql cli, 本质上就是通过Hive访问HBase表,具体就是通过hive-hbase-handler

 

 

  •  拷贝HBase的相关jar包到Spark节点上的$SPARK_HOME/lib目录下,清单如下:
  •  

Spark-sql 读hbase_第1张图片

 

  • 在 ambari 上配置Spark节点的$SPARK_HOME/conf/spark-env.sh,将上面的jar包添加到SPARK_CLASSPATH,如下图:
  •  

Spark-sql 读hbase_第2张图片

 

  • 配置项清单如下:注意jar包之间不能有空格或回车符

export SPARK_CLASSPATH=/usr/hdp/2.5.5.0-157/spark/lib/guava-12.0.1.jar:/usr/hdp/2.5.5.0-157/spark/lib/hbase-client-1.1.2.2.5.5.0-157.jar:/usr/hdp/2.5.5.0-157/spark/lib/hbase-common-1.1.2.2.5.5.0-157.jar:/usr/hdp/2.5.5.0-157/spark/lib/hbase-protocol-1.1.2.2.5.5.0-157.jar:/usr/hdp/2.5.5.0-157/spark/lib/hbase-server-1.1.2.2.5.5.0-157.jar:/usr/hdp/2.5.5.0-157/spark/lib/hive-hbase-handler-1.2.1000.2.5.5.0-157.jar:/usr/hdp/2.5.5.0-157/spark/lib/htrace-core-3.1.0-incubating.jar:/usr/hdp/2.5.5.0-157/spark/lib/protobuf-java-2.5.0.jar:${SPARK_CLASSPATH}

  • 将hbase-site.xml拷贝至${HADOOP_CONF_DIR},由于spark-env.sh中配置了Hadoop配置文件目录${HADOOP_CONF_DIR},因此会将hbase-site.xml加载。
  •  在ambari 上重启修改配置后影响的组件服务

 

测试验证:

  • 任一spark client节点验证:
  •  
  • 命令: park-sql
  • 执行: select * from books_hive;   (books_hive为与hbase关联的hive外部表)
  • 结果如下则OK:

Spark-sql 读hbase_第3张图片

 

 

 

转载于:https://my.oschina.net/u/3094112/blog/1590135

你可能感兴趣的:(Spark-sql 读hbase)