Я хочу создать фрейм данных Spark, содержащий список помеченных твитов из нескольких отдельных файлов JSON. Я попытался просто использовать spark.read.json(files, multiLine=True)
, но в некоторых файлах я получаю _corrupted_record
, есть что-то, что Spark, похоже, не нравится в формате (JSON действительно, я проверил).
Ниже приведено представление формата каждого JSON объекта в файле, с которым я имею дело:
{"annotator": {
"eventsAnnotated" : [ {...} ],
"id" : "0939"
},
"events": [
{"eventid": "039393",
"tweets": [
{
"postID" : "111",
"timestamp" : "01/01/01",
"categories" : [ "Category" ],
"indicatorTerms" : [ ],
"priority" : "Low",
"text" : "text"
},
...]
Однако меня интересует только tweets
раздел JSON и может игнорировать eventid
или что-либо, включенное в annotator
:
"tweets": [
{
"postID" : "111",
"timestamp" : "01/01/01",
"categories" : [ "Category" ],
"indicatorTerms" : [ ],
"priority" : "Low",
"text" : "text"
},
...]
Я бы хотел, чтобы это закончилось в кадре данных Spark, в котором postID
, timestamp
, categories
, indicatorTerms
, priority
и text
- мои столбцы, и каждая строка соответствует одной из этих JSON записей.
Я думаю, что я спрашиваю, как можно Я прочитал эти файлы в какую-то временную структуру, где я могу построчно транслировать каждый твит, а затем преобразовывать его в фрейм данных Spark? Я видел некоторые сообщения о СДР, но сумел запутаться, я довольно новичок в Spark в целом.