我目前使用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?
如果不改變結構可以使用的重命名列在描述這樣一個更加自動化的方法在這裏。
但是這個例子並不處理嵌套列。
你也可以嚐試創建一個模式沒有空間和傳球,當你讀數據。
可以手動或編程(雖然這可能是一個挑戰深層嵌套的結構)。
第二種方法是更好的國際海事組織。模式方法返回一個數組嵌套列表/ /……
Python和Scala有一些集合解析的可能性。也這一事實StructField類型有一個叫做“名稱”屬性是有用的。