У меня проблемы с загрузкой большого файла из моего озера данных (в настоящее время хранящегося в postgres) в AWS GLUE. Это 4,3 млрд строк.
При тестировании я обнаружил, что таблица слишком велика, чтобы ее можно было полностью прочитать.
Вот как я загружаю фрейм данных:
large_dynamic_frame = glueContext.create_dynamic_frame.from_catalog(database = "DBNAME",
table_name = "TABLENAME",
redshift_tmp_dir = args["TempDir"],
transformation_ctx = "TABLECTX")
Важные факторы
Мне не нужен весь фрейм данных! В конечном итоге я отфильтрую по паре атрибутов и объединю таблицы меньшего размера.
Я уже пытался использовать push_down_predicate
, но для этого требовалось хранить данные в S3 с использованием определенной организации папок, и, к сожалению, я не могу выбрать уже существующий формат этой таблицы.
Я также попытался прочитать в таблице и просто реорганизовать ее в организацию папок S3, необходимую для работы pushdown_predicate
, но процесс завершается с «кодом выхода 1» после 5 часов работы.
Основной вопрос
Как я могу прочитать часть таблицы, не используя pushdown predicate
?