Это ответ для Spark-версии, а не CDAP, если кто-то приземлится здесь, возможно, воспользуется этим.
В настоящее время я использую Phoenix версии 4.7 и Spark версии 2.3 в производстве, у меня есть следующие зависимости, связанные с Phoenix, в моем pom. xml
<phoenix-version>4.7</phoenix-version>
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-spark2</artifactId>
<version>4.7.0.2.6.5.3007-3</version>
<exclusions>
<exclusion>
<groupId>sqlline</groupId>
<artifactId>sqlline</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-client</artifactId>
<version>4.14.1-HBase-1.1</version>
</dependency>
Также, скажем, например, я хочу чтобы извлечь таблицу из Phoenix в Spark Dataframe, я бы использовал следующий код Spark:
val sqlContext = spark.sqlContext
val table = sqlContext.load("org.apache.phoenix.spark",
Map("table" -> s"NAMESPACE.TABLE_NAME",
"zkUrl" -> zookeeperUrl))
Дайте мне знать, если это не сработает