我正在尝试在hdp2.6.3沙盒上构建一个数据管道(docker),我正在使用pyspark和phoenix(4.7)以及hbase。
我已经从maven安装了phoenix项目,并成功地创建了一个包含测试记录的表。我也可以在hbase中看到数据。
现在,我尝试使用pyspark从表中读取数据,代码如下:
import phoenix
from pyspark import SparkContext
from pyspark.sql import SQLContext
sc = SparkContext(appName="Phoenix test")
sqlContext = SQLContext(sc)
table = sqlContext.read.format("org.apache.phoenix.spark").option("table", "INPUT_TABLE").option("zkUrl", "localhost:2181:/hbase-unsecure").load()
菲尼克斯ddl:
CREATE TABLE INPUT_TABLE (id BIGINT NOT NULL PRIMARY KEY, col1 VARCHAR, col2 INTEGER);
UPSERT INTO INPUT_TABLE (id, col1, col2) VALUES (1, 'test_row_1',111);
UPSERT INTO INPUT_TABLE (id, col1, col2) VALUES (2, 'test_row_2',111 );
电话:
spark-submit --class org.apache.phoenix.spark --jars /usr/hdp/current/phoenix-server/phoenix-4.7.0.2.5.0.0-1245-client.jar --repositories http://repo.hortonworks.com/content/groups/public/ --files /etc/spark2/conf/hbase-site.xml phoenix_test.py
回溯(最近一次调用):文件“/root/hdp/process\u data.py”,第42行,格式为.format(data\u source\u format)\file“/usr/hdp/current/spark2 client/python/lib/pyspark.zip/pyspark/sql/readwriter.py”,第593行,保存文件“/usr/lib/python2.6/site packages/py4j-0.10.6-py2.6.egg/py4j/java\u gateway”,第1160行,调用应答,self.gateway\u client,self.target\u id,self.name)文件“/usr/hdp/current/spark2 client/python/lib/pyspark.zip/pyspark/sql/utils.py”,第63行,deco文件“/usr/lib/python2.6/site packages/py4j-0.10.6-py2.6.egg/py4j/protocol.py”,第320行,格式为get\u return\u value(target\u id,“.”,name),value)py4j.protocol.py4jjavaerror:调用o55.save时出错:java.lang.unsupportedoperationexception:空.tail
谢谢,千里眼
暂无答案!
目前还没有任何答案,快来回答吧!