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 ...
随机推荐
- 【OpenGL】法线变换详解(Normal Transform)[转]
http://blog.csdn.net/xiajun07061225/article/details/7762711 在图形学中,同样的一个模型视图变换矩阵可以用来变换点.线.多边形以及其它几何体, ...
- MVC 构造新Model实现内容搜索
当前在使用MVC开发一个网站,习惯了使用ASP.NET中控件,转到MVC之后突然对于页面和后台代码的传值感觉无从下手.花了点时间在网上看了写帖子后,想到了一个方法,重新构造一个新Model, 然后利用 ...
- magento的robots文件编写和判断是否是一个导航分类页面
magento是网店系统,我们突出的是我们的产品,所以,有很多路径我们不想让搜索引擎索引到,所以我们需要用robots文件进行限制 下面是麦神magento的robots.txt里面的内容,因为很多u ...
- oracle将多条数据合并成一条
select t.col1,t.col2 ,wmsys.wm_concat(t.col3||' ') AS col3 , wmsys.wm_concat(t.col4||'') as col4,w ...
- I.MX6 console 跳过 login
/*************************************************************************** * I.MX6 console 跳过 logi ...
- C中的setjmp与longjmp
setjmp与longjmp是属于C语言中的,当然,C++也会有这两个函数了.他们的原型如下: int setjmp( jmp_buf env ); 作用:第一次调佣时,将寄存器的当前状态信息全部存入 ...
- MySQL数据库性能优化的关键参数(转)
我们在进行数据库管理和开发中经常会遇到性能问题,这就涉及到MySQL的性能优化.通过在网络上查找资料和笔者自己的尝试,我认为以下系统参数是比较关键的: 关键参数一:back_log 要求 MySQL ...
- 刻通云KeyTone Cloud测试
注:本文转自陈沙克的博客,原文见http://www.chenshake.com/carved-through-the-keytone-cloud-cloud-testing/ 一直都很希望有更多的O ...
- PAT (Basic Level) Practise:1040. 有几个PAT
[题目链接] 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问一共可 ...
- 3-4 rpm包查询
概述:yum不能查询已经安装好的rpm包, 就算采用了yum来进行安装,查询方法还是依赖rpm包的查询, 因此rpm包的查询十分常用和重要 1.查询是否安装 <1>rpm -q 包名(不是 ...