如何使用df.saveToPhoenix()将DataFrame保存到凤凰表?

时间:2018-09-04 05:03:32

标签: apache-spark apache-spark-sql hbase bigdata phoenix

在寻找将DataFrame保存到Phoenix的正确方法很长时间之后,我注意到df.save()方法实际上是由Spark {.x中的DataFrame.class提供的。

当我使用时:

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_spark.html-->Spark setup从本地磁盘添加了phoenix-4.14.0-cdh5.14.2-client.jar。 如果您知道如何解决此问题,请给我一些建议或您的pom.xml。

0 个答案:

没有答案