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 ... 
随机推荐
- 判断字符串中是否有SQL攻击代码
			判断一个输入框中是否有SQL攻击代码 public const string SQLSTR2 = @"exec|cast|convert|set|insert|select|delete|u ... 
- latex 小结
			1 no file .bbl http://blog.csdn.net/zhedasuiyuan/article/details/9223637 另外,你可能有多个 .bbl.目前的做法是,在控制台上 ... 
- 用vs2008打开vs2012项目
			1 使用记事本打开*.sln解决方案文件,将Visual Studio 2012改为Visual Studio 2008 将版本号改为9.00 2 打开扩展名为*.csproj的项目文件,修改为 To ... 
- 一步一步理解word2Vec
			一.概述 关于word2vec,首先需要弄清楚它并不是一个模型或者DL算法,而是描述从自然语言到词向量转换的技术.词向量化的方法有很多种,最简单的是one-hot编码,但是one-hot会有维度灾难的 ... 
- PAT (Basic Level) Practise:1004. 成绩排名
			[题目链接] 读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3 ... 
- Java自带的keytool命令
			使用Java自带的keytool命令,在命令行生成. 1.生成服务器端私钥kserver.keystore文件 keytool -genkey -alias serverkey -validity 1 ... 
- Linux启动流程详解
			在BIOS阶段,计算机的行为基本上被写死了,可以做的事情并不多:一般就是通电.BIOS.主引导记录.操作系统这四步.所以我们一般认为加载内核是linux启动流程的第一步. 第一步.加载内核 操作系统接 ... 
- Java 正则表达式学习总结和一些小例子
			从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础工具,可以用于很多类型的文本处理, 如匹配,搜索,提取和分析结构化内容. java.util.r ... 
- poj 1840 暴力+标记
			Description Consider equations having the following form: a1x1 3+ a2x2 3+ a3x3 3+ a4x4 3+ a5x5 3=0 T ... 
- viewpager中对fragment的操作
			XXAdatper xxAdapter = (XXAdatper)viewpager.getAdapter(); XXFragment xxFragment= (XXFragment )adapte ... 
