Phoenix 中如何使用Spark

     Phoenix是使用Java编写的一个开源项目,基于在HBase之上的一个SQL层,能让我们通过标准的JDBC API读写HBase,而不用Scan或者get的方式,其实底层是将SQL编译成原生的HBase scans进行查询。

      本文将通过Spark的方式来读写Phoenix,基于以下版本开发测试。

      scala-version:2.11.8

      spark-version:2.2.0

      hbase-version:1.3.1

      phoenix-version:4.14.0

接下来正式开始了。

1. 添加Maven依赖



   
         org.apache.spark
         spark-core_2.11
         2.2.0
   

   
         org.apache.phoenix
         phoenix-spark
         4.14.0-HBase-1.3
         provided
   

2. Spark 操作 Phoenix

import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}

object Phoenix2Spark {
  def main(args: Array[String]): Unit = {

    val jdbcPhoenixUrl = "jdbc:phoenix:172.18.18.100:2181"
    val tableName = "test"

    val conf = new SparkConf().setAppName("phoenix-spark").setMaster("local")
    val sc = new SparkContext(conf)
    val sqlContext = new SQLContext(sc)

    val df = sqlContext.load("org.apache.phoenix.spark", Map("table"->tableName, "zkUrl"->jdbcPhoenixUrl))
    df.show()

    sc.stop()
  }


}

 

你可能感兴趣的:(Spark,死磕Spark)