Как загрузить несколько огромных CSV (с разными столбцами) в AWS S3 - PullRequest
0 голосов
/ 17 мая 2018

У меня около 50 CSV-файлов, каждый из которых имеет разную структуру. Каждый CSV-файл имеет около 1000 столбцов. Я использую DictReader для локального объединения файлов CSV, но это занимает слишком много времени для объединения. Подход состоял в том, чтобы объединить 1.csv и 2.csv для создания 12.csv. Затем объедините 12.csv с 3.csv. Это не правильный подход.

for filename in inputs:
    with open(filename, "r", newline="") as f_in:
      reader = csv.DictReader(f_in)  # Uses the field names in this file

Поскольку мне, наконец, нужно загрузить этот огромный CSV-файл в AWS, я подумал о лучшем решении на основе AWS. Любые предложения о том, как я могу импортировать эти несколько различных структур CSV и объединить его в AWS?

1 Ответ

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

Запустите кластер EMR и объедините файлы с Apache Spark. Это дает вам полный контроль над схемой. Этот ответ может помочь, например.

Кроме того, вы также можете попытать счастья и посмотреть, как AWS Glue обрабатывает несколько схем при создании crawler.

Вы должны скопировать свои данные в s3 в обоих случаях.

...