创建了一个架构,该架构应仅选择发送推文的ID和名称。 该地方是嵌套的,我只想在表格中找到该地方的名称。
我通过kafka得到了推文。
schema = StructType([
StructField('id', StringType(), True),
StructField('place', StructType([
StructField('name', StringType(), True)
])
)
])
Wien = (
spark
.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "myIP:9092")
.option("subscribe", "Wien")
.option("startingOffsets", "latest")
.load()
.selectExpr("topic","timestamp", "partition", "offset", "CAST(key AS
STRING)", "CAST(value AS STRING)" )
.select(from_json("value", schema).alias("values"))
.select("values.*")
)
query=Wien.writeStream.format("memory")
.queryName("Wien").outputMode("append").start(
)
%sql select * from Wien
sql给了我一张表,该表的位置像{“ name”:“ Wien”}这样的对象,而不仅仅是城市名“ Vienna”