Как использовать df.saveToPhoenix() для сохранения DataFrame в таблицу phoenix?
После долгого поиска правильного способа сохранения DataFrame в Phoenix я заметил, что df.save()
метод на самом деле обеспечивается DataFrame.class
в Spark1.x.
Когда я использую:
df.saveToPhoenix(
store_table,
zkUrl = Some(hconnection)
)
Я получил ошибку:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.phoenix.spark.package$.toDataFrameFunctions(Lorg/apache/spark/sql/Dataset;)Lorg/apache/phoenix/spark/DataFrameFunctions;
at com.***.data.process.phoenix.PhoenixToHBase$.main(PhoenixToHBase.scala:63)
at com.***.data.process.phoenix.PhoenixToHBase.main(PhoenixToHBase.scala)
Я думаю, что может быть некоторые конфликты между этими банками или, может быть, я пропустил некоторые банки.
Я написал эти зависимости:
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-spark</artifactId>
<version>4.14.0-cdh5.12.2</version>
</dependency>
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>4.14.0-cdh5.12.2</version>
</dependency>
и даже добавил phoenix-4.14.0-cdh5.14.2-client.jar
с локального диска в соответствии с настройкой phoenix_spark.html ->Spark. Если вы знаете, как решить эту проблему, пожалуйста, дайте мне несколько советов или ваш pom.xml.