代碼如下,我使用的工具是IDEA,語言python,使用python訪問hbase提示如下錯誤
py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.newAPIHadoopRDD.
: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.io.ImmutableBytesWritable
from pyspark import SparkContext, SparkConf
import os
os.environ['JAVA_HOME'] = 'D:\Java\jdk1.8.0_92'
conf = SparkConf().setMaster("local").setAppName("spark_hbase_test")
sc = SparkContext(conf=conf)
host = 'devhadoop3.reachauto.com,devhadoop2.reachauto.com,devhadoop1.reachauto.com'
table = '2:IndexMessage'
conf = {"hbase.zookeeper.quorum": host, "hbase.mapreduce.inputtable": table}
keyConv = "org.apache.spark.examples.pythonconverters.ImmutableBytesWritableToStringConverter"
valueConv = "org.apache.spark.examples.pythonconverters.HBaseResultToStringConverter"
hbase_rdd = sc.newAPIHadoopRDD("org.apache.hadoop.hbase.mapreduce.TableInputFormat",
"org.apache.hadoop.hbase.io.ImmutableBytesWritable",
"org.apache.hadoop.hbase.client.Result", keyConverter=keyConv, valueConverter=valueConv,
conf=conf)
count = hbase_rdd
print(count)
uj5u.com熱心網友回復:
缺少hbase相應的包,你找找python有沒有hbase的安裝包,安裝下,然后試下通過python直接連接hbase 是否可行;可行的話再使用pyspark應該就沒問題了
uj5u.com熱心網友回復:
https://www.cnblogs.com/junle/p/7611540.html 或許有用uj5u.com熱心網友回復:
python與大資料對接,需要配置env變數SPARK_HOME 或者HADOOP_HOME 這里面有相應的jar包。uj5u.com熱心網友回復:
我本地又沒有spark和hadoop環境,怎么設啊,我用java沒環境本地就能跑起來,python這兩個你告訴我怎么設?uj5u.com熱心網友回復:
spark官網,下載一個spark-hadoop包,配置環境變數,指向解壓目錄就可以了。uj5u.com熱心網友回復:
回頭我試試轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/39339.html
標籤:Spark
上一篇:java,從入土到出棺——2.資料結構(從容器(集合等)到底層原理)
下一篇:No server address listed in hbase:meta for region student
