У меня есть много файлов с разделителями json в S3, и я хочу прочитать все эти файлы в искре, а затем прочитать каждую строку в json и вывести Dict / Row для этой строки с именем файла в виде столбца . Как мне go сделать это в python эффективным образом? Каждый json составляет около 200 МБ.
Вот пример файла (было бы 200 000 таких строк), назовите этот файл class_scores_0219:
{"name": "Maria C", "class":"Math", "score":"80", "student_identification":22}
{"name": "Maria F", "class":"Physics", "score":"90", "student_identification":12}
{"name": "Fink", "class":"English", "score":"75", "student_identification":7}
Выходной DataFrame будет (для простоты просто показана одна строка) :
+-------------------+---------+-------+-------+------------------------+
| file_name | name | class | score | student_identification |
+-------------------+---------+-------+-------+------------------------+
| class_scores_0219 | Maria C | Math | 80 | 22 |
+-------------------+---------+-------+-------+------------------------+
Я установил секретный ключ s3 / ключ доступа, используя это: sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", SECRET_KEY)
(то же самое для ключа доступа), но могу подключиться другим способом.
Я открыт для любого варианта, который является наиболее эффективным, я могу предоставить список файлов и скормить его, или я могу подключиться к boto3 и указать префикс. Я новичок в Spark, поэтому ценю любую помощь.