Чтение файлов из S3 Bucket в PySpark Dataframe Boto3 - PullRequest
0 голосов
/ 28 мая 2018

Как я могу загрузить кучу файлов из корзины S3 в один фрейм данных PySpark?Я работаю на экземпляре EMR.Если файл является локальным, я могу использовать метод SparkContext textFile.Но когда файл находится на S3, как я могу использовать boto3 для загрузки нескольких файлов разных типов (CSV, JSON, ...) в один кадр данных для обработки?

1 Ответ

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

Spark изначально читает из S3, используя Hadoop API, а не Boto3.И textFile для чтения RDD, не DataFrames .Также не пытайтесь загружать два разных формата в один фрейм данных, так как вы не сможете их последовательно проанализировать

Я бы предложил использовать

csvDf = spark.read.csv("s3a://path/to/files/*.csv")
jsonDf = spark.read.json("s3a://path/to/files/*.json")

И оттуда вы можете фильтроватьи присоедините кадры данных с помощью SparkSQL.

Примечание: Файлы JSON должны содержать отдельные объекты JSON, каждый на своей строке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...