Как предотвратить добавление обратной косой черты в строку JSON в dataframe с помощью spark sql с помощью kafka - PullRequest
0 голосов
/ 17 ноября 2018

По какой-то причине, когда я выполняю код .wriestream.format (json) .option (Path). У меня есть json, и по какой-то причине у тегов есть все двойное «\». Я хочу удалить все "\".

val selectData = kafkaDF.select(($"value" cast "string"))
val query = selectData
  .writeStream
  .format("json")
  .option(path)

1 Ответ

0 голосов
/ 18 ноября 2018

Вы преобразуете значение в строку, которая уже содержит кавычки и косые черты, а затем вы пишете в формате JSON, и поэтому код JSON выполняется двойным кодированием.

Попробуйте просто написать как текст

kafkaDF.select(($"value" cast "string")).writeStream.format("text")

Или не кастинг вообще

kafkaDF.select("value").writeStream.format("json")

А если вы пишете в файловую систему, такую ​​как HDFS или S3, то я бы предложил использовать Kafka Connect, а не писать и поддерживать код Spark.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...