2017-10-13 1 views
0

Ich versuche, jeden Datensatz aus dem Socket-Stream zu erhalten. Ich möchte, dass der Datensatz ein String-Datentyp aus Zeilen ist. Wie schreibe ich den Code in Python? Vielen Dank!Wie im Datensatzformat von socketTextStream Datensatz

model = pipeline.PipelineModel.read(). Last (model_path)

sc = spark.sparkContext ssc = Streaming (sc, 1)

lines = ssc.socketTextStream (sys.argv [ 1], int (sys.argv [2]))

if (Linien ist nicht None): lines.foreachRDD (Lambda RDD: rdd.foreach (processRecord))

def processRecord (Aufnahme):

print("test") 
... 

Antwort

0
from __future__ import print_function 
import sys 
from pyspark import SparkContext 
from pyspark.streaming import StreamingContext 


if __name__ == "__main__": 
    sc = SparkContext(appName="Demo") 
    ssc = StreamingContext(sc, 1) 

    #record = ssc.socketTextStream("localhost", 9999) 
    record = ssc.socketTextStream(sys.argv[1], int(sys.argv[2])) 
    # print out each single word 
    record.flatMap(lambda line: line.split(" ")).pprint() 

    # start streaming 
    ssc.start() 
    # stop when the socket we are listening is dead 
    ssc.awaitTermination() 

Danke.

+0

Datensatz ist kein String-Typ – icecream

+0

Ich habe dort weitere Codes hinzugefügt. Bitte überprüfe, was mit meinen Codes nicht stimmt. Vielen Dank! – icecream

Verwandte Themen