pyspark接続hbase学習

2347 ワード

1、データの読み取り
from pyspark.sql import SparkSession
from pyspark import SparkContext,SparkConf

spark=SparkSession.builder.appName("abv").getOrCreate() #  spark  
print('spark     ')
host = 'learn'
table = 'student'
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 = spark.sparkContext.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.count()
hbase_rdd.cache()
output = hbase_rdd.collect()
for (k, v) in output:
        print (k, v)

2、書き込みデータ
from pyspark.sql import SparkSession
from pyspark import SparkContext,SparkConf

spark=SparkSession.builder.appName("abv").getOrCreate() #  spark  
print('spark     ')
host = 'learn'
table = 'student'
keyConv = "org.apache.spark.examples.pythonconverters.StringToImmutableBytesWritableConverter"
valueConv = "org.apache.spark.examples.pythonconverters.StringListToPutConverter"
conf = {"hbase.zookeeper.quorum": host,"hbase.mapred.outputtable": table,"mapreduce.outputformat.class": "org.apache.hadoop.hbase.mapreduce.TableOutputFormat","mapreduce.job.output.key.class": "org.apache.hadoop.hbase.io.ImmutableBytesWritable","mapreduce.job.output.value.class": "org.apache.hadoop.io.Writable"}
 
rawData = ['3,info,name,Rongcheng','4,info,name,Guanhua']
#( rowkey , [ row key , column family , column name , value ] )
print('      ')
spark.sparkContext.parallelize(rawData).map(lambda x: (x[0],x.split(','))).saveAsNewAPIHadoopDataset(conf=conf,keyConverter=keyConv,valueConverter=valueConv)

問題:
クラスが見つかりません.hbaseのlibのhbaseの先頭のjarをsparkのjarsパッケージにコピーする必要があります.新しいフォルダを作成して、spark-envにコピーすることができます.shにSPARK_を追加CLASSSPATH=hbaseのパッケージに入れるファイルパス.そしてspark-example-1.6.0をダウンロードする.JArは、前に作成したフォルダに格納されます.
sparkの再起動