2017-05-13 9 views
0

私は、KMSクライアント側で暗号化されたDynamoDBのダンプ(つまり、各レコードは独立してKMSクライアント側で暗号化されています)のS3 jsonデータセットを持っています。スパークマップ操作の速度を制限する方法は?

私は各レコードを解読するためにKMSを呼び出さなければならないことを意味するいくつかの分析を実行するために、そのデータセットを読み込むためにSparkを使用したいと思います。各行を単純に復号化するudfを使用しても、KMS APIの制限は100コール/秒に達します。

これらのSparkマップ操作にはいくらかの制限があるのでしょうか?

答えて

0

これはSpark streamingアプリケーションで処理できると思います。

チェックspark.streaming.backpressure.enabledspark.streaming.receiver.maxRate

(1.5以降)スパークストリーミングの内部背圧メカニズムを有効または無効にします。これにより、Spark Streamingは現在のバッチスケジューリングの遅延と処理時間に基づいて受信レートを制御し、システムが処理できるだけの速さでシステムを受信できるようになります。内部的に、これは受信者の最大受信レートを動的に設定します。このレートは、上限が設定されていれば、spark.streaming.receiver.maxRatespark.streaming.kafka.maxRatePerPartitionの値で上限が設定されます(下記参照)。

あなたは、各受信機がデータを受信するときの最大streaming100 calls/sec

最大レート(1秒あたりのレコード数)を設定します。効果的には、各ストリームは最大でこの1秒あたりのレコード数を消費します。この設定を0または負の数に設定すると、レートに制限はありません。参照モードのSparkストリーミングプログラミングガイドの導入ガイドでは、詳細

deploying-applications

関連する問題