new StreamingContext(sparkConf, Seconds(10)) val kafkaParams = Map[String, Object]( "bootstrap.servers" -> "localhost:9092", "key.deserializer" -> classOf[StringDeserializer], "value.deserializer" -> classOf[StringDeserializer], "enable.auto.commit" -> (false: java.lang.Boolean) ) val topics = Array("random") val kafkaStream = KafkaUtils.createDirectStream[String, String](ssc, PreferConsistent, Subscribe[String, String](topics, kafkaParams)) // アクション kafkaStream.foreachRDD { rdd => // パーティション毎にループする // 何か処理を書く } ssc.start() ssc.awaitTermination() Kafkaのパーティション数 に応じて勝手に 分散処理します