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

設置我的第一個DLT管道第三方JSON數據

塞恩
新的貢獻者三世

我得到一個錯誤當我試圖創建一個DLT管道從一堆第三方app-usage數據。這是錯誤信息:

發現無效的字符(s)的,{}()\ n \ t = '列名的模式。

請升級您的三角洲表讀者版本2版本5和作家

和改變列映射模式名稱的映射。您可以使用以下命令:

ALTER TABLE < table_name >設置TBLPROPERTIES (

“delta.columnMapping。模式”=“名稱”,

“三角洲。minReaderVersion ' = ' 2 ',

“三角洲。minWriterVersion ' = ' 5 ')

所以,我添加了屬性表定義,我仍然得到錯誤。我做錯了什麼?表定義:

創建流表clevertap_analytics_bronze生活

評論“應用程序使用數據從CleverTap”

TBLPROPERTIES (“myCustomPipeline。質量”=“青銅”,

“delta.columnMapping。模式”=“名稱”,

“三角洲。minReaderVersion”=“2”,

“三角洲。minWriterVersion”=“5”

)

作為

選擇

*

cloud_files (

——替換以下與S3的確切位置數據的生活

“s3: / / clevertap-analytics /”,

“json”,

——以下更改為“false”如果CSV文件(s)不包括一個頭

地圖(

“頭”,“真正的”,

“cloudFiles。在ferColumnTypes", "true",

“cloudFiles。schemaEvolutionMode”、“救援”,

“rescuedDataColumn”、“rescue_col”

)

);

6個回答6

塞恩
新的貢獻者三世

看來問題是json文件名稱中使用空格鍵,像這樣:

“CT應用版本”:“3.5.6.6”

我檢查,應該是一個有效的json鍵,即使它不是標準。不幸的是,這些文件是由第三方,所以我沒有很多的控製內容。

看起來可能有一個解決方案,如果我使用python自動裝載器,我想我需要做的是這樣的:

選擇([坳(c) .alias (c。替換(“”、“_”)的c dlt.readStream (vw_raw) .columns])

(從https://community.m.eheci.com/s/question/0D58Y000092eaqcSAA/ingest-a-csv-file-with-spaces-in-colu..。

然而,我是一個DB的家夥,不是一個python的家夥。有什麼可用等效為SQL版本的裝載機嗎?

塞恩
新的貢獻者三世

我發現這其他論壇線程看起來可能有用,但是我不知道如何翻譯它的SQL處理JSON,和如何讓我處理的管道解釋Python。當我切換到Python,抱怨這條線插入告訴它的Python腳本!

https://community.m.eheci.com/s/question/0D58Y000092eaqcSAA/ingest-a-csv-file-with-spaces-in-colu..。

仍然在尋找主意!

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

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

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

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

Baidu
map