def upsertToDelta (microBatchOutputDF batchId): microBatchOutputDF.createOrReplaceTempView(“更新”)microBatchOutputDF._jdf.sparkSession ()。sql(阿”“合並成老使用更新u在u。id = o。id時,匹配不匹配時更新設置*然後插入*”“”)stream_new_df = spark.readStream.format(“δ”).load (new_data_frame_path) stream_old_df = spark.readStream.format(“δ”).load (old_data_frame_path) stream_old_df.createOrReplaceTempView stream_new_df.writeStream.format(“舊”)(“δ”)\ .option (“checkpointLocation”、" ") \ .option (“mergeSchema”,“真正的”)\ .option(“路徑”、“)\ .foreachBatch (upsertToDelta) \ .trigger(一次= true) \ .outputMode(“更新”)\ .table (" ")
我要執行該代碼但我得到以下錯誤:
數據源com.databricks.sql.transaction.tahoe.sources。DeltaDataSource不支持更新輸出模式
三角洲表/文件版本太老了。請嚐試升級這裏描述https://docs.microsoft.com/en-us/azure/databricks/delta/versioning
三角洲表/文件版本太老了。請嚐試升級這裏描述https://docs.microsoft.com/en-us/azure/databricks/delta/versioning
這是最新的版本嗎?
@Hubert杜德克我得到同樣的錯誤
com.databricks.sql.transaction.tahoe.sources AnalysisException:數據來源。DeltaDataSource不支持更新輸出模式
我試著用兩種方法