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

進口MongoDB字段名稱包含空格

Mr__E
因素二世

我目前使用Python筆記本在MongoDB模式導入相當非結構化文檔定義。這些文件的字段名稱空間。我定義MongoDB PySpark連接器的模式如下:

StructField(“我的字段名”,StringType ())

不幸的是,這給了我錯誤中發現無效的字符(s),, {} () \ n \ t =“列名的模式。”I would be happy to rename the column, but I have to be able to import it from MongoDB first. Is there a way to do this with the schema? Or am I forced to write a UDF to convert a JSON string with the bad field name into normalized columns?

1接受解決方案

接受的解決方案

werners1
尊敬的貢獻者三世

如果不改變結構可以使用的重命名列在描述這樣一個更加自動化的方法在這裏

但是這個例子並不處理嵌套列。

你也可以嚐試創建一個模式沒有空間和傳球,當你讀數據。

可以手動或編程(雖然這可能是一個挑戰深層嵌套的結構)。

第二種方法是更好的國際海事組織。模式方法返回一個數組嵌套列表/ /……

Python和Scala有一些集合解析的可能性。也這一事實StructField類型有一個叫做“名稱”屬性是有用的。

例子

在原帖子查看解決方案

3回複3

Mr__E
因素二世

解決方案:原來這個問題不是模式閱讀,但事實上,我寫信來三角洲表,目前不支持空格。所以,我需要把他們之前傾銷。我一直在原始數據的閱讀模式之後,空間的領域,然後把之後的事實。因為這是一個高度嵌套結構(MongoDB),單獨使用重命名列將會很困難。對最佳實踐的想法嗎?我應該立即開始改變原始數據嗎?

werners1
尊敬的貢獻者三世

如果不改變結構可以使用的重命名列在描述這樣一個更加自動化的方法在這裏

但是這個例子並不處理嵌套列。

你也可以嚐試創建一個模式沒有空間和傳球,當你讀數據。

可以手動或編程(雖然這可能是一個挑戰深層嵌套的結構)。

第二種方法是更好的國際海事組織。模式方法返回一個數組嵌套列表/ /……

Python和Scala有一些集合解析的可能性。也這一事實StructField類型有一個叫做“名稱”屬性是有用的。

例子

謝謝!我使用這個模式添加下劃線來簡化原始傾銷。

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

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

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

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

Baidu
map