Как загрузить определенный аспект файла JSON в RDD легко - PullRequest
0 голосов
/ 28 мая 2019

У меня есть файл json с более чем миллионом строк, поэтому я пытаюсь минимизировать количество раз, которое мне нужно пройти через все это, чтобы получить один аспект этого в rdd.

Сейчас я загружаю каждую строку в список:

with open('in/json-files/sites.json') as f:
        for line in f:
            data.append(json.loads(line))

Затем я создаю другой список и импортирую аспект в него:

for line in range(1,len(data)):
        data_companies.append(data[line]['company'])

Затем я распараллелил это в rdd, чтобы я мог его проанализировать. Я беспокоюсь о том, сколько памяти это займет, так есть ли более простой и быстрый способ сделать это? Я попытался загрузить файл JSON, как это, но он не будет работать:

data.append(json.loads(line['company'))

1 Ответ

0 голосов
/ 28 мая 2019

Поскольку ваши данные структурированы (JSON), вы можете посмотреть в Spark-SQL

https://spark.apache.org/docs/2.4.0/sql-programming-guide.html
https://spark.apache.org/docs/2.4.0/sql-data-sources-json.html

Вы можете напрямую загрузить свой JSON в фрейм данных и найти конкретный столбец для анализа

...