我是新手,并试图理解结构化流媒体,我想显示从kafka到spark控制台的json密钥,任何帮助都会有很大的帮助。
Spark代码
import org.apache.spark.sql._
import org.apache.spark.sql.functions._
import org.apache.spark.sql.types.StructType
import org.apache.spark.sql.types._
import org.apache.spark.sql.streaming.ProcessingTime
object kafka_stream {
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.appName("kafka-consumer")
.master("local[*]")
.getOrCreate()
import spark.implicits._
spark.sparkContext.setLogLevel("WARN")
// val schema = StructType().add("a", IntegerType()).add("b", StringType())
val schema = StructType(Seq(
StructField("a", IntegerType, true),
StructField("b", StringType, true)
))
val df = spark
.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "172.21.0.187:9093")
.option("subscribe", "test")
.option("startingOffsets", "earliest")
.load()
values = df.select("a.*")
values.writeStream
.outputMode("complete")
.format("console")
.start()a
.awaitTermination()
我想显示提取整个json并将其显示到spark控制台
我对kafka的输入
{
"a": {
"b": 1,
"c": 2
}
}
输出到spark控制台应该是这样的
{
"a": {
"b": 1,
"c": 2
}
}