У меня есть большой набор данных, хранящийся в ведре S3, но вместо того, чтобы быть одним большим файлом, он состоит из множества (113K, если быть точным) отдельных файлов JSON, каждая из которых содержит 100-1000 наблюдений. Эти наблюдения не находятся на самом высоком уровне, но требуют некоторой навигации в каждом JSON для доступа. i.e. json ["взаимодействия"] - это список словарей.PySpark: как читать много файлов JSON, несколько записей на файл
Я пытаюсь использовать Spark/PySpark (версия 1.1.1) для анализа и сокращения этих данных, но я не могу найти правильный способ загрузить его в RDD, потому что это не все записи> один файл (в этом случае я бы использовал sc.textFile, хотя добавили здесь сложность JSON), ни каждая запись> один файл (в этом случае я бы использовал sc.wholeTextFiles).
Является ли мой лучший вариант использовать sc.wholeTextFiles, а затем использовать карту (или в данном случае flatMap?), Чтобы вытащить несколько наблюдений из-под одного ключа имени на свой собственный ключ? Или есть более простой способ сделать это, чтобы я отсутствовал?
Я видел ответы здесь, в которых предлагается только использовать json.loads() для всех файлов, загружаемых через sc.textFile, но похоже, что это не сработает для меня, потому что JSON не являются простыми на самом высоком уровне списки.
Я бегу в подобной проблеме. Пожалуйста, дайте мне знать, если есть решение. Я только начинаю опробовать pyspark, и у меня есть много json-файлов в s3 для анализа. – user1652054