1. 程式人生 > >phoenix-4.7.0:DataFrame讀取和匯入到Hbase (apache版本)

phoenix-4.7.0:DataFrame讀取和匯入到Hbase (apache版本)

phoenix-4.7.0安裝
1、首先去官網下載Phoenix的壓縮包
下載地址:http://mirror.bit.edu.cn/apache/phoenix/
由於我們系統的Hbase版本是1.1版本的,故下載4.7版本的Phoenix。

2、解壓縮Phoenix的壓縮包
tar –zxvf phoenix-4.7.0-HBase-1.1-bin.tar.gz

3、將phoenix-4.7.0-HBase-1.1-bin/目錄下phoenix-*.jar包複製到hbase的lib目錄下
cp phoenix-*.jar $HBASE_HOME/lib

4、重啟Hbase

$HBASE_HOME/bin/stop-hbase.sh

$HBASE_HOME/bin/start-hbase.sh

1、在IDE中pom.xml檔案中的配置

<dependency>
  <groupId>org.apache.phoenix</groupId>
  <artifactId>phoenix-spark</artifactId>
  <version>4.7.0-HBase-1.1</version>
  <scope>provided</scope>
</dependency>

2、在伺服器上每臺spark機器上的spark-defaults.conf檔案中的配置(在Phoenix4.7或以後的版本用phoenix-4.7.0-HBase-1.1-client-spark.jar,而在之前用phoenix-4.7.0-HBase-1.1-client.jar)

spark.driver.extraClassPath /spark/phoenix-client/lib/phoenix-4.7.0-HBase-1.1-client-spark.jar:/spark/phoenix-client/lib/libthrift-0.9.0.jar

spark.executor.extraClassPath /spark/phoenix-client/lib/phoenix-4.7.0-HBase-1.1-client-spark.jar:/spark/phoenix-client/lib/libthrift-0.9.0.jar

注意:官網上只說明需要將phoenix-4.7.0-HBase-1.1-client-spark.jar包匯入,而實際工作環境中需要將libthrift-0.9.0.jar包匯入,否則會報找不到包的錯

程式碼

主要:conf.getString("key")是resources中的application.conf中的key

//載入Hbase中的表作為DataFrame
sqlContext.read.options(Map("table" -> "USER_OVERVIEW", "zkUrl" -> conf.getString("Hbase.url"))).format("org.apache.phoenix.spark").load().registerTempTable("USER_OVERVIEW")

//儲存資料
resultDF.write.mode(SaveMode.Overwrite).options(Map("table" -> "USER_OVERVIEW", "zkUrl" -> conf.getString("Hbase.url"))).format("org.apache.phoenix.spark").save()

如果您喜歡我寫的博文,讀後覺得收穫很大,不妨小額贊助我一下,讓我有動力繼續寫出高質量的博文,感謝您的讚賞!微信

這裡寫圖片描述