我想和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一起使用?
答案 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>