Можно ли записать json данные в файл в azure хранилище BLOB-объектов без преобразования их в строку? - PullRequest
0 голосов
/ 07 апреля 2020

Я работаю над проектом в azure блоках данных, где мне нужно записать мои преобразованные данные в формате JSON в файл (. json), который в дальнейшем записывается в БД.

Я пробовал с фреймами данных, опциями rdd. некоторые фрагменты того, что я пробовал

df.collect.map( line => {
      //transformation logic to create json

      (field1,field2,json);   

})

var dataframe = processedList.toList.toDF("f1","f2","json");
dataframe .repartition(1).write.mode("overwrite").json(path)

Этот код работает нормально, но значение, равное json, обрабатывается / записывается как строка так как он содержит все escape-символы et c. Не удается напрямую использовать JsonObject, так как датафрейм не поддерживает его.

Так есть ли способ записи в файл без его преобразования в строку?

1 Ответ

0 голосов
/ 07 апреля 2020

Какой тип столбца json? Вероятно, это string, поэтому Spark рассматривает его как строковый литерал. Попробуйте

df.withColumn(to_json("json").alias("json")).write.json(path)
...