[英]Apache Spark to_json options parameter
我或者不知道我在尋找什么,或者缺少文檔。 鑒於這種情況,后者似乎是這樣:
“ options-用於控制如何將struct列轉換為json字符串的選項。接受相同的選項和json數據源。”
大! 那么,我有什么選擇呢?
我正在做這樣的事情:
Dataset<Row> formattedReader = reader
.withColumn("id", lit(id))
.withColumn("timestamp", lit(timestamp))
.withColumn("data", to_json(struct("record_count")));
...我得到這個結果:
{
"id": "ABC123",
"timestamp": "2018-11-16 20:40:26.108",
"data": "{\"record_count\": 989}"
}
我想要這樣(從“數據”中刪除反斜杠和引號):
{
"id": "ABC123",
"timestamp": "2018-11-16 20:40:26.108",
"data": {"record_count": 989}
}
這是偶然的選擇之一嗎? 是否有更好的Spark指南? 關於Spark的最令人沮喪的部分不是讓它做我想要的事情,而是缺少關於它可以做什么的良好信息。
您對record_count字段進行了兩次json編碼。 刪除to_json。 僅使用struct就足夠了。
如將您的代碼更改為這樣。
Dataset<Row> formattedReader = reader
.withColumn("id", lit(id))
.withColumn("timestamp", lit(timestamp))
.withColumn("data", struct("record_count"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.