разделение свечиBy с разделенным столбцом в выводе json - PullRequest
0 голосов
/ 05 июня 2018

я читаю ниже json in spark

{"bucket": "B01", "actionType": "A1", "preaction": "NULL", "postaction": "NULL"}
{"bucket": "B02", "actionType": "A2", "preaction": "NULL", "postaction": "NULL"}
{"bucket": "B03", "actionType": "A3", "preaction": "NULL", "postaction": "NULL"}

val df=spark.read.json("actions.json").toDF()

Теперь я записываю то же самое в вывод json, как показано ниже

df.write. format("json"). mode("append"). partitionBy("bucket","actionType"). save("output.json")

, а output.json - как показано ниже

{"preaction":"NULL","postaction":"NULL"}

ведро, столбцы actionType отсутствуют в выводе json, мне также нужны столбцы разбиения по выводу

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете попробовать обходной путь, создав дубликаты столбцов, которые будут использоваться в partitionBy как

import org.apache.spark.sql.functions._
df.select(Seq(col("bucket").as("bucketCopy"), col("actionType").as("actionTypeCopy")) ++ df.columns.map(col): _*)
  .write.format("json").mode("append").partitionBy("bucketCopy","actionTypeCopy"). save("output.json")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...