Проблема с подключением к приложению CDAP spark Phoenix - PullRequest
0 голосов
/ 01 февраля 2020

У нас есть приложение cdap для подключения к таблице phoenix из spark с использованием драйвера phoenix. У меня есть феникс версии 4.7 в нашей среде. В соответствии со стандартным подключением spark2 к Phoenix, в качестве зависимости требуется только phoenix-spark2, а все другие зависимости будут выбраны из classpath и hbase-site. xml properties.

Теперь, что это за зависимости требуется приложением cdap spark phoenix и как я могу использовать hbase-site. xml с приложением cadp для успешного подключения.

1 Ответ

0 голосов
/ 03 февраля 2020

Это ответ для 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))

Дайте мне знать, если это не сработает

...