У меня есть файл в формате Json, который содержит сотни твитов (у всех 5 полей):
[...]
{
"idTweet":"943959778006589441",
"text":"Lorem ipsum dolor sit amet...",
"idAuthor":"912276331584421889",
"idOriginal":"0",
"origAuthor":"0"
}
[...]
Я конвертирую содержимое файла в RDD для работы с ним
val testRDD = spark.sparkContext.textFile("json-like_file.txt")
И я разбиваю каждую строковую строку:
val tweets = testRDD.map(t => t.split("\",\""))
.map(fields => (fields(0), fields(1), fields(2), fields(3), fields(4)))
Даем результат (схема) [ej.1]:
field(0): {"idTweet":"943959778006589441"
field(1): "text":"Lorem ipsum dolor sit amet..."
field(2): "idAuthor":"912276331584421889"
field(3): "idOriginal":"0"
field(4): "origAuthor":"0"}
Все в порядке, если в строке твита есть ошибки, подобные приведенным ниже в текстах:
{
"idTweet":"943959778006589441",
"text":"Lorem ipsum","dolor sit","amet","...",
"idAuthor":"912276331584421889",
"idOriginal":"0",
"origAuthor":"0"
}
Если я слякоть, как и раньше, она делится следующим образом:
field(0): {"idTweet":"943959778006589441"
field(1): "text":"Lorem ipsum"
field(2): "dolor sit"
field(3): "amet"
field(4): "..."}
Как можно объединить определенные поля, чтобы объединить их в одно (текст поля) после разбиения строки?Нравится [ej.1] результат.