【问题标题】:Pyspark streams proccess 1 record per triggerPyspark 流处理每个触发器 1 条记录
【发布时间】:2021-11-26 13:43:35
【问题描述】:

我正在尝试 Databricks Developer Foundation Capstone,但我似乎无法通过流式练习。

我应该读取一个 json 数据流,对其进行转换并将其附加到一个表中。

我这样创建了 DataFrame:

df = (spark.readStream.schema(DDLSchema).option("maxFilesPerTrigger", 1).json(stream_path))

然后我用orders_df = df.select(...)对其进行了转换

ordersQuery = (orders_df.writeStream
               .outputMode("append")
               .format("delta")
               .partitionBy('submitted_yyyy_mm')
               .queryName(orders_table)
               .trigger(processingTime="1 second")
               .option("checkpointLocation", orders_checkpoint_path)
               .table(orders_table))

转换和一切正常,但最后的检查一直失败,它说:

预计前 20 个触发器每个触发器处理 1 条记录 |失败

我用谷歌搜索了这个问题,但我无法在任何地方找到答案。

【问题讨论】:

  • 您能否更清楚您的问题是什么?也许在这里陈述问题/作业描述或描述你想要实现的目标

标签: pyspark spark-streaming databricks databricks-community-edition


【解决方案1】:

删除检查点路径将解决问题。尝试运行:

dbutils.fs.rm(orders_checkpoint_path, True)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-14
    • 2022-08-18
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    相关资源
    最近更新 更多