我想以下文檔:
https://learn.microsoft.com/en-us/azure/databricks/getting-started/etl-quick-start
我的代碼看起來像:
(火花。readStream .format .option (“cloudFiles”)(“頭”,“真正的”)# .option (“cloudFiles。partitionColumns”、“日期、小時”).option (“cloudFiles。格式”、“csv”) .option (“cloudFiles。maxBytesPerTrigger”、“10 m”) .option (“cloudFiles。schemaHints”, SCHEMA_HINT) .option (“cloudFiles。schemaLocation”, checkpoint_path) .option (“cloudFiles。schemaEvolutionMode”、“addNewColumns”) .load (file_path) .withColumn (source_file, input_file_name ()) .withColumn (processing_time, current_timestamp ()) .withColumnRenamed(“日期”、“時間戳”).withColumnRenamed .withColumnRenamed (“FW_Version”、“fw_version_1”) (“FW_Version”、“fw_version_2”) #https://kb.www.eheci.com/en_US/sql/dupe-column-in-metadata.withColumnRenamed (“Time_since_last_clear_ (Min)”,“Time_since_last_clear_min”) #δ不喜歡列名與括號.writeStream .format .option(“δ”)(“checkpointLocation”, checkpoint_path) .option(“路徑”,delta_path) .trigger (availableNow = True) .toTable (table_name))
(我已經注釋掉了分區的選擇,因為我的一個原始列具有相同的名稱作為分區覆蓋。找不到解決辦法。)
但是,它不工作。
我得到以下錯誤:
AnalysisException:檢測到不兼容的格式。你想寫“s3: / / nbu-ml /項目/ rca / microsoft / dsm09collectx /δ”使用磚三角洲,但是沒有事務日誌。檢查確保它的上遊工作是編寫使用格式(“δ”),你要寫的基本路徑。禁用此檢查,設置spark.databricks.delta.formatCheck.enabled = false來了解更多關於三角洲,明白了https://docs.www.eheci.com/delta/index.html
你好,
似乎你在寫路徑並不是空的,有一些非三角洲格式文件。
也,你能確認如果路徑在錯誤消息中提到“s3: / / nbu-ml /項目/ rca / microsoft / dsm09collectx /δ’”的路徑你寫作或閱讀來自哪裏?我麵臨一個類似的錯誤——但那是當我讀了三角洲表路徑:.option (“cloudFiles。格式”、“鋪”)。我克服了錯誤通過添加火花配置spark.databricks.delta.formatCheck.enabled = false。
你好,
似乎你在寫路徑並不是空的,有一些非三角洲格式文件。
也,你能確認如果路徑在錯誤消息中提到“s3: / / nbu-ml /項目/ rca / microsoft / dsm09collectx /δ’”的路徑你寫作或閱讀來自哪裏?我麵臨一個類似的錯誤——但那是當我讀了三角洲表路徑:.option (“cloudFiles。格式”、“鋪”)。我克服了錯誤通過添加火花配置spark.databricks.delta.formatCheck.enabled = false。