Pyspark和凤凰表

时间:2017-01-30 14:49:18

标签: pyspark classnotfoundexception phoenix

我想和Pyspark一起使用凤凰表。我尝试了我在这里找到的解决方案:https://phoenix.apache.org/phoenix_spark.html

但我有一个错误。你能帮我解决这个错误吗?

df_metadata = sqlCtx.read.format("org.apache.phoenix.spark").option("zkUrl", "xxx").load("lib.name_of_table")
print(df_metadata.collect())

和错误:

py4j.protocol.Py4JJavaError:调用o103.load时发生错误。 :java.lang.ClassNotFoundException:无法找到数据源:org.apache.phoenix.spark。请在http://spark-packages.org

找到套餐

如何将org.apache.phoenix.spark与pyspark一起使用?

2 个答案:

答案 0 :(得分:2)

好的,我发现这段代码有多正确: 我在spark-submit中添加了这个部分: --jars /opt/phoenix-4.8.1-HBase-1.2/phoenix-spark-4.8.1-HBase-1.2.jar,/opt/phoenix-4.8.1-HBase-1.2/phoenix-4.8.1-HBase -1.2-client.jar \

答案 1 :(得分:0)

我知道@Zop给出的答案。

我遇到了这个错误py4j.protocol.Py4JJavaError: An error occurred while calling o53.load. : java.lang.ClassNotFoundException: Failed to find data source: org.apache.phoenix.spark. Please find packages at http://spark.apache.org/third-party-projects.html

您也可以这样做

spark-submit --jars /usr/hdp/current/phoenix-client/phoenix-spark2.jar,/usr/hdp/current/phoenix-client/phoenix-4.7.0.2.6.4.0-91-client.jar,/usr/hdp/current/phoenix-client/phoenix-4.7.0.2.6.4.0-91-server.jar  <file here>