您好我正在尝试通过kafka读取1000个JSON文件并将其处理为火花流。
我的JSON格式如下所示。
{
"name" : "The Lightning Thief",
"author" : "Rick Riordan",
}
我想阅读所有json文件并计算重复的作者和重复的名称。就像这样。
作者Rick Riordan:7 名字杰西:12
这是我的代码。
import org.apache.spark.sql.functions._
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.types.{ StructType, StructField, IntegerType, StringType };
import org.apache.spark.streaming.kafka._
import org.apache.spark.streaming.kafka.KafkaUtils
import org.apache.spark.sql.functions._
import org.apache.spark.sql.Row
import org.apache.spark.streaming._
import kafka.serializer.StringDecoder
import org.apache.kafka.clients.producer.ProducerConfig
object StructuredStreamingExample {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().appName("JSON Reader").master("local").getOrCreate();
val stream = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](
ssc, kafkaParams, Set("TutorialTopic"))
stream.foreachRDD(
rdd => {
val dataFrame = sqlContext.read.json(rdd.map(_._2))
})
}
}
但我不知道要继续前进。我们将不胜感激。