【问题标题】:spark streaming processing parallelism火花流处理并行性
【发布时间】:2017-11-01 18:48:54
【问题描述】:

我使用火花流作业来处理我的输入请求。

我的 spark 输入采用文件名,下载数据,进行一些更改并将数据发送到下游。

目前处理一个文件需要2分钟。

这些文件请求是独立的操作,可以并行执行。

目前,当我通过 netcat 服务器提供输入时,首先处理每个请求,然后处理下一个请求。我希望这个操作是并行的。

@timing
def sleep_func(data):
    print("start file processing")            
    time.sleep(60)      
    print("end file processing")                  
    return data

rdd = ssc.socketTextStream(sys.argv[1], int(sys.argv[2]))     
rdd = rdd.map(sleep_func)    
final_rects = rdd.pprint()

我正在尝试创建多个 sockettextstream,每个 executor 将基于此进行处理。

https://spark.apache.org/docs/2.0.2/streaming-programming-guide.html#level-of-parallelism-in-data-receiving

rdd = [ssc.socketTextStream(sys.argv[1], int(sys.argv[2])) for _ in range(5)]

但不确定如何分别处理这些单独的流。

【问题讨论】:

    标签: apache-spark pyspark spark-streaming


    【解决方案1】:

    你的意思是你想并行处理一批数据而不是一个接一个,对吧?

    见:How jobs are assigned to executors in Spark Streaming?

    【讨论】:

      猜你喜欢
      • 2016-06-25
      • 2021-04-12
      • 1970-01-01
      • 2019-01-11
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      相关资源
      最近更新 更多