[英]SparkR, split a column of nested JSON strings into columns
我來自R,是SparkR的新手,並嘗試將JSON字符串的SparkDataFrame列拆分為相應的列。 Spark DataFrame中的列是具有以下架構的數組:
> printSchema(tst)
root
|-- FromStation: array (nullable = true)
| |-- element: string (containsNull = true)
|-- ToStation: array (nullable = true)
| |-- element: string (containsNull = true)
如果查看View(head(tst$FromStation))
器中的數據View(head(tst$FromStation))
我可以看到SparkDataFrame的FromStation列在每一行中都有這樣的形式:
list("{\"Code\":\"ABCDE\",\"Name\":\"StationA\"}", "{\"Code\":\"WXYZP\",\"Name\":\"StationB\"}", "{...
...表示模式重復的次數未知。
我的問題
如何提取此信息並將其放入平面數據框中? 理想情況下,我想為嵌套數組列中的每個觀察結果創建一個FromStationCode
和FromStationName
列。 我嘗試了explode
和getItem
各種組合...但無濟於事。 我不斷收到數據類型不匹配錯誤。 我在Spark中搜索了其他遇到此挑戰的人的示例,但SparkR的示例更為稀缺。 我希望有更多使用Spark / SparkR經驗的人可以提供一些見解。
非常感謝,天生
我想你需要將tst轉換為普通的R對象
df = collect(tst)
然后您可以像其他R data一樣使用df進行操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.