Как включить обратное давление в Spark Streaming (с помощью pyspark) - PullRequest
0 голосов
/ 14 мая 2018

Я хотел бы знать, какой будет правильный способ включения backpressure в spark streaming через pyspark.Похоже, у меня слишком много сообщений, отправленных с Kafka за короткое время, и они взорвались.Ниже мой код для spark streaming.Может кто-нибудь указать мне правильное место для включения back pressure?

sc = SparkContext(appName="PythonStreamingDirectKafka")
ssc = StreamingContext(sc, 5)
ssc.checkpoint("/spark_check/")
kvs = KafkaUtils.createDirectStream(ssc, [kafka_topic],
                                    {"metadata.broker.list": bootstrap_servers_ipaddress})
parsed_msg = kvs.map(lambda (key, value): json.loads(value))
## do something below

1 Ответ

0 голосов
/ 14 мая 2018

Вот как я устанавливаю противодавление в своем потоковом коде kafka. Надеюсь, это поможет.

from pyspark import SparkContext, SparkConf

conf = SparkConf().setAppName("PythonStreamingDirectKafka")\
        .set("spark.streaming.backpressure.enabled", "true") \
        .set("spark.streaming.backpressure.initialRate", "500")

sc = SparkContext(conf=conf)
...