![](/img/trans.png)
[英]Why does writeStream write the metadata but not the JSON data into the S3 bucket from my Databricks workbook?
[英]spark.readstream and writestream for json issue in databricks
我有一个 json
{
"name": "John",
"age": 30,
"car": "testing"}
我在数据块中有一个代码
struct2 = StructType([StructField("name", StringType(), True), \
StructField("age", IntegerType(), True, None), \
StructField("car", StringType(), True, None)])
df2 = spark.readStream.schema(struct2).format('json') \
.load("abfss://i**********.dfs.core.windows.net/streamjson/")
下一步我开始写入另一个文件夹
df2.select("name","age","car").writeStream.format('json')\
.option("checkpointLocation", "abfss://****@*****.dfs.core.windows.net/outputstream/jsoncheckpoint3") \
.start("abfss://***@******.dfs.core.windows.net/streamjsonoutput/")
我在那里放了新文件,我检查了 streamjsonoutput 中的文件,文件如下所示
谁能指出我做错了什么?
您需要将.option("multiLine", "true")
添加到您的spark.readStream
中,因为默认情况下,Spark 期望 JSON 文件每行由单独的 JSON 个对象组成,而不是跨越多行(请参阅文档):
df2 = spark.readStream.schema(struct2).option("multiLine", "true") \
.json("abfss://...")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.