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 ...
随机推荐
- HDU 4135
http://acm.hdu.edu.cn/showproblem.php?pid=4135 求[A,B]内与N互素的数字个数 首先对N分解质因数,对于一个质因数,1-n与它不互素的数字个数是n/(这 ...
- 常用http请求状态码含义
1** ----临时响应 2** ----成功响应 3** ----重定向 4** ----请求错误 5** ----服务器错误 常用的几个如下: 200---服务器成功返回网页 301-- ...
- dedecms 列表页调用自定义字段
在列表附加字段中添加自己定义的字段 如: lwulr调用:{dede:list addfields="lwurl" channelid="1"}[field:l ...
- JavaScript中指针和地址理解
个人理解:指针只是指向内存的一个索引:而地址则是内存中确切的位置. 下面是函数中关于指针和地址一个小例子: function sum(num1,num2){ return num1+num2; } a ...
- linux定时
linux怎样启动定时任务 crontab -e进入以后的,定时任务写入 */1 * * * * /usr/bin/python /root/lianxi/time_1.py ,每一分钟定时执行tim ...
- web相关问题总结 - imsoft.cnblogs
1,问题:编辑好的web程序乱码,显示不正常 解决方法:在head中加入一下代码,设置网页使用的语言为中文. <meta http-equiv="Content-Type" ...
- php二分式查找
要求数组是有序数组 1 <?php 2 #二分查找 3 function binarySearch(Array $arr, $target) { 4 $low = 0; 5 $high = co ...
- CrossApp 0.3.1示例编译问题解决过程
1 AlertTest.h找不到 问题成因:HelloCpp工程中头文件搜索路径没有增加Classes目录,需要自己加进去.(另外由于这些文件都是在子目录中,用递归模式也行,逐个子目录添加也行) 2 ...
- java如何获取当前机器ip和容器port
获取当前机器ip: private static String getIpAddress() throws UnknownHostException { InetAddress address = I ...
- POJ1087 A Plug for UNIX(网络流)
A Plug for UNIX Time Limit: 1000MS Memory Limit: 65536K Total S ...