0

我们有一个 cdap 应用程序,可以使用 phoenix 驱动程序从 spark 连接到 phoenix 表。我的环境中有 phoenix 4.7 版。根据标准 spark2 phoenix 连接,它只需要 phoenix-spark2 作为依赖项,所有其他依赖项将从类路径和 hbase-site.xml 属性中获取。

现在 cdap spark phoenix 应用程序所需的依赖项是什么,我如何将 hbase-site.xml 与 cadp 应用程序一起使用以成功连接。

4

1 回答 1

0

这是 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))

如果这不起作用,请告诉我

于 2020-02-03T19:33:13.337 回答