如何增加火花流向http服务器

时间:2017-05-17 10:08:46

标签: scala apache-kafka spark-streaming

我使用Spark 2.0.1和Kafka 0.8.2。我们在主题中有6个分区。

我有一个流媒体管道=> kafka - > sparkStreaming(做一些操作) - >发帖给Http。

发布到http我正在使用java apache http client。

以下是代码

 processedStream.foreachRDD {
      rdd => {
        rdd.foreachPartition {
          partition => {
            val client = ClientFactory.create() // gets http client
            // grouping the data in order to avoid big data
            val groupedPartitions = partition.toList.grouped(metricPerReq.toInt).toList

            groupedPartitions.foreach(x=>postData(x,client))
            //free up client resources
            client.close()
            }
          }
        }
      }  

但即使增加执行者的数量,代码也会花费相同的时间。 理想情况下,我希望通过增加执行程序的数量来获得一些吞吐量增益。 当使用4个核心以及8个核心(约2分钟)时,所花费的时间是相同的,其中1个执行器是1核心和1核心。 1gb。

如何提高并行度?我也试过了重新分区,但它没有提升性能。

0 个答案:

没有答案