首页 > 代码库 > Spark(四): Spark-sql 读hbase
Spark(四): Spark-sql 读hbase
SparkSQL是指整合了Hive的spark-sql cli, 本质上就是通过Hive访问HBase表,具体就是通过hive-hbase-handler, 具体配置参见:Hive(五):hive与hbase整合
目录:
- SparkSql 访问 hbase配置
- 测试验证
SparkSql 访问 hbase配置:
- 拷贝HBase的相关jar包到Spark节点上的$SPARK_HOME/lib目录下,清单如下:
guava-14.0.1.jarhtrace-core-3.1.0-incubating.jarhbase-common-1.1.2.2.4.2.0-258.jarhbase-common-1.1.2.2.4.2.0-258-tests.jarhbase-client-1.1.2.2.4.2.0-258.jarhbase-server-1.1.2.2.4.2.0-258.jarhbase-protocol-1.1.2.2.4.2.0-258.jarhive-hbase-handler-1.2.1000.2.4.2.0-258.jar
- 在 ambari 上配置Spark节点的$SPARK_HOME/conf/spark-env.sh,将上面的jar包添加到SPARK_CLASSPATH,如下图:
- 配置项清单如下:注意jar包之间不能有空格或回车符
export SPARK_CLASSPATH=/usr/hdp/2.4.2.0-258/spark/lib/guava-11.0.2.jar: /usr/hdp/2.4.2.0-258/spark/lib/hbase-client-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-common-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-protocol-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-server-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hive-hbase-handler-1.2.1000.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/htrace-core-3.1.0-incubating.jar: /usr/hdp/2.4.2.0-258/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加载,hbase-site.xml中主要是以下几个参数的配置:
<property><name>hbase.zookeeper.quorum</name><value>r,hdp2,hdp3</value><description>HBase使用的zookeeper节点</description></property><property><name>hbase.client.scanner.caching</name><value>100</value><description>HBase客户端扫描缓存,对查询性能有很大帮助</description></property>
- ambari 上重启修改配置后影响的组件服务
测试验证:
- 任一spark client节点验证:
- 命令: cd /usr/hdp/2.4.2.0-258/spark/bin (spark安装目录)
- 命令: ./spark-sql
- 执行: select * from stocksinfo; (stocksinfo 为与hbase关联的hive外部表)
- 结果如下则OK:
Spark(四): Spark-sql 读hbase
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。