CSV/parquet в Dynamo, маленький файл из ~ 500 тыс. строк, всего два столбца

#amazon-dynamodb

#amazon-dynamodb

Вопрос:

Я ищу способ загрузить данные CSV / parquet в dynamo db без необходимости создания конвейера данных.

У меня есть небольшой (12 мб parquet / 30 Мб CSV) файл, который состоит из двух столбцов. Он генерируется ежедневно, и таблица dynamo нуждается в полном обновлении каждый день.

Сначала я решил использовать AWS Athena, который был очень прост в настройке. Но для чтения это медленно (каждый запрос занимает от 1,5 до 4 секунд). Этот процесс может быть использован другими сотрудниками компании в ближайшем будущем, поэтому сейчас я ищу что-то более быстрое.

Я изучил функцию пакетной записи элемента в Dynamo DB. Но кажется крайне неэффективным совершать около 500000/25 вызовов в день для обновления этой таблицы относительно небольшого размера.

Что немного расстраивает, так это то, что один вызов с использованием batchwriteitem имеет максимальный размер 16 МБ, по 400 кб на строку. Это почти размер самого файла.

Я рассмотрел возможность отправки данных в виде одной длинной строки и их разделения. Но я не смог найти такую операцию. Любопытно, есть ли у кого-нибудь какие-либо данные по этому поводу.

Комментарии:

1. почему бы не объединить несколько строк вместе и не загрузить как единое целое. вы пробовали это?

2. Есть ли способ разделить это, как только оно будет в dynamo? Я не смог найти доказательств этого.

3. вы хотите использовать запрос к каждой строке?