2016-01-30 1 views
2

Я пытаюсь запустить скрипт из этого blogискра питон скрипт не пишу HBase

import sys 
import json 
from pyspark import SparkContext 
from pyspark.streaming import StreamingContext 
def SaveRecord(rdd): 
    host = 'sparkmaster.example.com' 
    table = 'cats' 
    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"} 
    datamap = rdd.map(lambda x: (str(json.loads(x)["id"]),[str(json.loads(x)["id"]),"cfamily","cats_json",x])) 
    datamap.saveAsNewAPIHadoopDataset(conf=conf,keyConverter=keyConv,valueConverter=valueConv) 

if __name__ == "__main__": 
    if len(sys.argv) != 3: 
     print("Usage: StreamCatsToHBase.py <hostname> <port>") 
     exit(-1) 

    sc = SparkContext(appName="StreamCatsToHBase") 
    ssc = StreamingContext(sc, 1) 
    lines = ssc.socketTextStream(sys.argv[1], int(sys.argv[2])) 
    lines.foreachRDD(SaveRecord) 

    ssc.start()  # Start the computation 
    ssc.awaitTermination() # Wait for the computation to terminate 

Я не могу запустить его. Я попробовал три различные опции командной строки, но никто не производит вывод, ни записи данных Hbase таблицы

Вот параметры командной строки, которые я попытался

spark-submit --jars /usr/local/spark/lib/spark-examples-1.5.2-hadoop2.4.0.jar --jars /usr/local/hbase/lib/hbase-examples-1.1.2.jar sp_json.py localhost 2389 > sp_json.log

spark-submit --driver-class-path /usr/local/spark/lib/spark-examples-1.5.2-hadoop2.4.0.jar sp_json.py localhost 2389 > sp_json.log

spark-submit --driver-class-path /usr/local/spark/lib/spark-examples-1.5.2-hadoop2.4.0.jar --jars /usr/local/hbase/lib/hbase-examples-1.1.2.jar sp_json.py localhost 2389 > sp_json.log

Адрес logfile. Это слишком многословно. Это одна из причин, по которой отладка сложна в иске Apache, потому что она выплескивает слишком много информации.

ответ

2

И наконец, он работал с использованием следующего командного синтаксиса spark-submit --jars /usr/local/spark/lib/spark-examples-1.5.2-hadoop2.4.0.jar,/usr/local/hbase/lib/hbase-examples-1.1.2.jar sp_json.py localhost 2399 > sp_json.log

Смежные вопросы