Создайте новую таблицу и загрузите ее с данными из CSV-файла - PullRequest
0 голосов
/ 11 июля 2019

Требование

Требование довольно простое;У меня есть исходные данные в CSV-файле, и я хочу создать новую таблицу в базе данных красного смещения и загрузить таблицу с данными из моего CSV-файла.

Фон

Я выполняю проверку ETLи моя целевая таблица находится в базе данных Redshift.Все мои таблицы поиска (источник) также в красном смещении.Только таблица фактов (источник) представляет собой плоский файл (CSV).Поэтому я хотел бы создать таблицу в красном смещении с моими данными в csv, чтобы я мог просто писать исходные и целевые запросы и сравнивать данные.

Примечание: я не могу напрямую загрузить файл csv из корзины s3 вв базу данных Redhsift.Поэтому я могу только перебирать файл построчно и вставлять.

То, что я уже сделал

Я написал Java-программу, которая будет принимать файл xlsx и создавать объект XSSFSheet, выполнять итерациюстроки и вставьте данные построчно.Для этого мне сначала нужно создать таблицу вручную, а также открыть файл csv в Excel и сохранить его как файл xlsx.

Теперь проблема заключается в том, что некоторые файлы имеют более 1 миллиона строк, что большечем то, что поддерживается XSSF.

Раньше я работал с pandas dataframe в python, где я могу создать dataframe из csv.

Теперь я думаю о подходе, в котором я могузагрузите файл csv в фрейм данных / таблицу (для этого посмотрите таблицу) и загрузите фрейм данных / таблицу в новую таблицу красного смещения.

Существует ли прямой способ в таблице для создания RDBSтаблица с данными в фрейме данных / таблице?

Единственный способ сделать это - выполнить итерации фрейма данных и выполнить команды вставки?

...