zoukankan      html  css  js  c++  java
  • 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.1.jar
      htrace-core-3.1.0-incubating.jar
      hbase-common-1.1.2.2.4.2.0-258.jar
      hbase-common-1.1.2.2.4.2.0-258-tests.jar
      hbase-client-1.1.2.2.4.2.0-258.jar
      hbase-server-1.1.2.2.4.2.0-258.jar
      hbase-protocol-1.1.2.2.4.2.0-258.jar
      hive-hbase-handler-1.2.1000.2.4.2.0-258.jar
      复制代码
    • 在 ambari 上配置Spark节点的$SPARK_HOME/conf/spark-env.sh,将上面的jar包添加到SPARK_CLASSPATH,如下图:
    • 配置项清单如下:注意jar包之间不能有空格或回车符
      export SPARK_CLASSPATH=/usr/hdp/2.4.2.0-258/spark/lib/guava-11.0.2.jar: /usr/hdp/2.4.2.0-258/spark/lib/hbase-client-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-common-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-protocol-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-server-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hive-hbase-handler-1.2.1000.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/htrace-core-3.1.0-incubating.jar:  /usr/hdp/2.4.2.0-258/spark/lib/protobuf-java-2.5.0.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:

    转自https://www.cnblogs.com/tgzhu/p/5829242.html

  • 相关阅读:
    讲课专用——线段树——最长上升子序列
    讲课专用——线段树——最长连续空位
    讲课专用——线段树——BSS
    求背景图
    致备战noip2018的勇士
    TNS-12547 Linux Error: 104: Connection reset by pe (转载)
    清理Oracle安装目录里的一些日志信息
    tmp_table_size
    11gr2 alert日志中报TNS-12535 TNS-00505原因及解决方法 (转载)
    systemstate dump 介绍
  • 原文地址:https://www.cnblogs.com/yuluoxingkong/p/12795941.html
Copyright © 2011-2022 走看看