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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM