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的更多相关文章

  1. spark sql读hbase

    项目背景 spark sql读hbase据说官网如今在写,但还没稳定,所以我基于hbase-rdd这个项目进行了一个封装,当中会区分是否为2进制,假设是就在配置文件里指定为#b,如long#b,还实用 ...

  2. Spark读HBase写MySQL

    1 Spark读HBase Spark读HBase黑名单数据,过滤出当日新增userid,并与mysql黑名单表内userid去重后,写入mysql. def main(args: Array[Str ...

  3. IDEA中Spark读Hbase中的数据

    import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.io.ImmutableBytesWr ...

  4. IDEA中 Spark 读Hbase 报错处理:

    SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] // :: ERROR RecoverableZooKeepe ...

  5. 大数据技术之_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 ...

  6. [Spark][Python][DataFrame][SQL]Spark对DataFrame直接执行SQL处理的例子

    [Spark][Python][DataFrame][SQL]Spark对DataFrame直接执行SQL处理的例子 $cat people.json {"name":" ...

  7. [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 ...

  8. spark(三)从hbase取数据

    前言 通过spark获取hbase数据的过程中,遇到了InputFormat.文章主要围绕InputFormat介绍.会牵扯到spark,mapreduce,hbase相关内容 InputFormat ...

  9. 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 ...

随机推荐

  1. The name 'Scripts' does not exist in the current context error in MVC

    创建完成ASP.NET MVC4应用程序以后,试着运行其中一个Create页面, 程序报出运行是错误: CS0103: The name 'Scripts' does not exist in  th ...

  2. nginx下面部署fast-cgi和C++【原】

    1.cgi文件的代码 #include "fcgi_stdio.h" #include <stdlib.h> #include <stdio.h> int ...

  3. LeetCode Pow(x, n) (水题)

    题意: 求浮点型x的n次幂结果. 思路: logN直接求,注意n可能为负数!!!当n=-2147483648的时候,千万别直接n=-n,这样的结果是多少?其他求法大同小异. class Solutio ...

  4. 六 JSP 和 Servlet 的系统调优技巧

    方法一:在 Servlet 的 init() 函数中申请缓冲数据 方法二:禁止 Servlet 和 JSP 的自动重载: Servlet/JSP 提供了一个实用的技术,即自动重载技术,它为开发人员提供 ...

  5. 2015GitWebRTC编译实录8

    2015.07.20 common_video 编译通过,其对libyuv有引用[1309/1600 ] CXX obj /webrtc/common_video/libyuv/common_vide ...

  6. ZOJ 1110 Dick and Jane

    原题链接 题目大意:Dick和Jane的年龄之和等于他们宠物的年龄,宠物之间的年龄关系XXX. 解法:小学奥数题目,枚举法. 参考代码: #include<iostream> #inclu ...

  7. leetcode 103 Binary Tree Zigzag Level Order Traversal ----- java

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  8. php归获取当前目录下的二级目录数 和文件数

    <?php        header('Content-Type: text/html; charset=gb2312');        // $baseDir = "/www/u ...

  9. 课堂所讲整理:HTML--6运算符、类型转换

    1.类型转换: 分为自动转换和强制转换,一般用强制转换. 其他类型转换为整数:parseint(): 其他类型转换为小数:parsefloat(): 判断是否是一个合法的数字类型:isNaN(): 是 ...

  10. hihoCoder#1015 : KMP算法 (KMP模板)

    代码如下: # include<iostream> # include<cstdio> # include<cstring> # include<vector ...