取消
顯示的結果
而不是尋找
你的意思是:

在疾控中心DLT處理不斷變化的模式

pmt
新的貢獻者三世

我們正在建設一個DLT管道和自動裝卸機是處理模式演化的罰款。然而,進一步下降流的管道我們正在努力加載數據與apply_changes()函數到一個新表,從它的外貌,似乎沒有處理行更新一個新的模式。然而,在“設置表”不能“org.apache.spark.sql.catalyst.parser。拋出ParseException”錯誤。我能想到的唯一解釋是它不喜歡更換列字段類型的“空”與“結構”。

這是代碼:

@dlt。@dlt視圖(name = " authenticators_stream ")。expect_all_or_drop ({“valid_doc”:“醫生不是零”})def stream_table():返回(火花。readStream \ .format (cloudFiles) \ .option (“cloudFiles。useNotifications”、“真實”)\ .option (“cloudFiles。queueUrl”、“https://sqs.us -東- 1. - amazonaws.com/ * * * * * * * * / mongo-data-queue-testing ") \ .option (“cloudFiles。includeExistingFiles”、“真實”)\ .option (“cloudFiles。格式”、“json”) \ .option (“cloudFiles。在ferColumnTypes", "true") .option("cloudFiles.schemaEvolutionMode", "addNewColumns") \ .option("multiline","false") \ .option("cloudFiles.schemaHints", "_id STRING, ot STRING, ts TIMESTAMP, year INT, month INT, day INT") .load(json_path)) dlt.create_streaming_live_table( name = "authenticators_raw", spark_conf = {"spark.databricks.delta.schema.autoMerge.enabled": "true"} ) dlt.apply_changes( target = "authenticators_raw", source = "authenticators_stream", keys = ["_id"], sequence_by = F.col("ts"), stored_as_scd_type = 2 )

這是完整的錯誤信息:

org.apache.spark.sql.catalyst.parser.ParseException:

[PARSE_SYNTAX_ERROR]語法錯誤達到或接近“<”(第1行,pos 6)

SQL = = = =

struct < __v: bigint _id:字符串,buttonlabel:字符串,公司:字符串,配置:struct <參數:struct < company-id:字符串,cyberarkurl:字符串,duo-sso-url:字符串、電子郵件:字符串,google-oauth-url:字符串,login-success-text:字符串,登錄url:字符串,microsofturl:字符串,okta-url:字符串,oktasubdomain:字符串,onelogin-url:字符串,密碼:字符串,payroll-cookies-wait-for-url:字符串,payroll-provider-selector:字符串,ping-identity-url:字符串,請求id:字符串,secureid-url:字符串,子域名:字符串,target-computing-resources-url:字符串,用戶名:字符串,usersname:字符串,wait-for-milliseconds-param-key:字符串,wait-for-xpath-after-navigate:字符串,workday-organization-group-name: string > >,連接器:字符串,createdat:字符串,可選:boolean、updatedat: string >

- - - - - - ^ ^ ^

7回複7

Hubert_Dudek1
尊敬的貢獻者三世

如果你隻留下authenticators_stream表,代碼運行好嗎?

pmt
新的貢獻者三世

是的,在進一步檢查apply_changes()調用sql不是逃避列名“-”。當我們替換字符效果。感覺自己像一個磚bug

Hubert_Dudek1
尊敬的貢獻者三世

啊,這是蜂巢metastore限製。它將很快在遷移到統一目錄下得到了解決。

pmt
新的貢獻者三世

真的嗎?這是好消息。你知道它還將幫助自動裝載器模式演化?我們當前管道運行時是長得出奇,因為集群被迫重啟每個模式變化檢測。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map