我们有一个cdap应用程序连接到凤凰表从火花使用菲尼克斯驱动程序。我在我们的环境中有phoenix 4.7版。根据标准的spark2 phoenix连接,它只需要phoenix-spark2作为依赖项,所有其他依赖项都将从类路径和hbase-site.xml属性中选取。
现在,cdap spark phoenix应用程序需要哪些依赖项,以及如何将hbase-site.xml与cadp应用程序一起使用以建立成功的连接。
发布于 2020-02-04 03:33:13
这是Spark版本的答案,而不是CDAP,如果有人在这里登陆,也许可以使用它。
我目前在生产中使用Phoenix版本4.7和spark版本2.3,我的pom.xml中有以下与Phoenix相关的依赖项
<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))如果这不起作用,让我知道
https://stackoverflow.com/questions/60020295
复制相似问题