为何不是jdbc访问phoenix?
具体原因参照phoenix官网地址:(https://phoenix.apache.org/phoenix_spark.html)
为何不是官网提倡的访问方式?
官网提倡:
import org.apache.spark.SparkContext
import org.apache.spark.sql.SQLContext
import org.apache.phoenix.spark._
val sc = new SparkContext("local", "phoenix-test")
val sqlContext = new SQLContext(sc)
val df = sqlContext.load(
"org.apache.phoenix.spark",
Map("table" -> "TABLE1", "zkUrl" -> "phoenix-server:2181")
)
df
.filter(df("COL1") === "test_row_1" && df("ID") === 1L)
.select(df("ID"))
.show
但是实际上,spark2.0+版本已经不建议使用sqlContext.load()方法了,而且这种方式也有一些bug会导致phoenix数据取不出来。
正确的连接phoenix的姿势!!!
主要代码如下:
val spark = SparkSession.builder()
.master("local[*]")
.getOrCreate()
val conf = new Configuration
conf.addRe


994

被折叠的 条评论
为什么被折叠?



