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..jar
htrace-core-3.1.-incubating.jar
hbase-common-1.1.2.2.4.2.-.jar
hbase-common-1.1.2.2.4.2.--tests.jar
hbase-client-1.1.2.2.4.2.-.jar
hbase-server-1.1.2.2.4.2.-.jar
hbase-protocol-1.1.2.2.4.2.-.jar
hive-hbase-handler-1.2.1000.2.4.2.-.jar - 在 ambari 上配置Spark节点的$SPARK_HOME/conf/spark-env.sh,将上面的jar包添加到SPARK_CLASSPATH,如下图:

- 配置项清单如下:注意jar包之间不能有空格或回车符
export SPARK_CLASSPATH=/usr/hdp/2.4.2.0-/spark/lib/guava-11.0..jar: /usr/hdp/2.4.2.0-/spark/lib/hbase-client-1.1.2.2.4.2.-.jar:/usr/hdp/2.4.2.0-/spark/lib/hbase-common-1.1.2.2.4.2.-.jar:/usr/hdp/2.4.2.0-/spark/lib/hbase-protocol-1.1.2.2.4.2.-.jar:/usr/hdp/2.4.2.0-/spark/lib/hbase-server-1.1.2.2.4.2.-.jar:/usr/hdp/2.4.2.0-/spark/lib/hive-hbase-handler-1.2.1000.2.4.2.-.jar:/usr/hdp/2.4.2.0-/spark/lib/htrace-core-3.1.-incubating.jar: /usr/hdp/2.4.2.0-/spark/lib/protobuf-java-2.5..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的更多相关文章
- spark sql读hbase
项目背景 spark sql读hbase据说官网如今在写,但还没稳定,所以我基于hbase-rdd这个项目进行了一个封装,当中会区分是否为2进制,假设是就在配置文件里指定为#b,如long#b,还实用 ...
- Spark读HBase写MySQL
1 Spark读HBase Spark读HBase黑名单数据,过滤出当日新增userid,并与mysql黑名单表内userid去重后,写入mysql. def main(args: Array[Str ...
- IDEA中Spark读Hbase中的数据
import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.io.ImmutableBytesWr ...
- IDEA中 Spark 读Hbase 报错处理:
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] // :: ERROR RecoverableZooKeepe ...
- 大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池
第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark ...
- [Spark][Python][DataFrame][SQL]Spark对DataFrame直接执行SQL处理的例子
[Spark][Python][DataFrame][SQL]Spark对DataFrame直接执行SQL处理的例子 $cat people.json {"name":" ...
- [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子
[Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive h ...
- spark(三)从hbase取数据
前言 通过spark获取hbase数据的过程中,遇到了InputFormat.文章主要围绕InputFormat介绍.会牵扯到spark,mapreduce,hbase相关内容 InputFormat ...
- Spark Shell启动时遇到<console>:14: error: not found: value spark import spark.implicits._ <console>:14: error: not found: value spark import spark.sql错误的解决办法(图文详解)
不多说,直接上干货! 最近,开始,进一步学习spark的最新版本.由原来经常使用的spark-1.6.1,现在来使用spark-2.2.0-bin-hadoop2.6.tgz. 前期博客 Spark ...
随机推荐
- linux远程连接mysql数据库
在linux系统中,远程连接mysql数据库时不仅需要开启ip访问,还需要将防火墙中添加相应规则 在wdlinux中的[安全管理]菜单下选择[防火墙[iptables]]选项,增加端口为3306的规则 ...
- Redis 3.0 集群搭建
Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...
- 帝国cms相关调用
Loop用法:[!--temp.header--] [e:loop={6,6,0,1}] <!--标题连接/标题--> <a href="<?=$bqsr[title ...
- xampp访问403 Access forbidden 解决办法
本地可以访问,换一台机子就不行了,是因为权限没有开启,安装目录xampp\apache\conf\extra内有个httpd-xampp.conf文件,打开, 最后一段是 # # New XAMPP ...
- java 读取文件的常用方式
1.读取: public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void rea ...
- 【转】eclipse集成开发工具的插件安装
转发一:打开Eclipse下载地址(http://www.eclipse.org/downloads/),可以看到有好多版本的Eclipse可供下载,初学者往往是一头雾水,不知道下载哪一个版本. 各个 ...
- 文件IO操作
前言 本文介绍使用java进行简单的文件IO操作. 操作步骤 - 读文件 1. 定义一个Scanner对象 2. 调用该对象的input函数族进行文件读取 (参见下面代码) 3. 关闭输入流 说明:其 ...
- 漫水填充算法 - cvFloodFill() 实现
前言 漫水填充算法是用来标记一片区域的:设置一个种子点,然后种子点附近的相似点都被填充同一种颜色. 该算法应用性很广,比如目标识别,photoshop 的魔术棒功能等等,是填充类算法中应用最为广泛的一 ...
- SAP 增强说明
转自http://blog.csdn.net/lyb_yt/article/details/8177974 (一)什么是增强(Enhancement)? 简单地说,增强就是ERP系统中标准程序的出口, ...
- 关于项目中用到的流程的sql和表
select * from FLOW_MAIN SEQCODE FULL_NAME SHORT_NAME FLOW_DESC CREATE_TIME UPDATE_TIME 1 CoursePackF ...