Шаги для загрузки данных DynamoDB в Redshift?
Я хочу знать, как мы можем загрузить данные из DynamoDB в Redshift.
Согласно документации, DynamoDB - это NoSQL, а Redshift - это RDBMS.
Так как же я могу обрабатывать неструктурированные данные в нормализованном порядке?
Когда мне нужно нормализовать данные?
Я хочу знать, сохраняет ли Redshift полные данные или преобразованные данные.
Я хочу знать лучший способ загрузки дополнительных данных.
Кто-нибудь может предложить шаги для этого процесса?
1 ответ
Загрузка данных из DynamoDB
Амазонское красное смещение COPY
Команда может быть использована для загрузки таблицы DynamoDB в таблицу Redshift. Это загрузит полную таблицу DynamoDB в Redshift.
См. Документацию: загрузка данных из таблицы Amazon DynamoDB.
Имена столбцов сопоставляются, и загружаются только те столбцы, которые имеют совпадающие имена столбцов.
Загрузка дополнительных данных
Чтобы выполнить добавочную загрузку (например, только в тех случаях, когда страна ='США'), сначала загрузите полную таблицу во временную таблицу, а затем выполните обычную INSERT
Команды SQL в Redshift для вставки / копирования нужных данных.
Увидеть:
- Документация: обновление и вставка новых данных
- Stackru: загрузка данных (пошагово) в Amazon Redshift, S3 против DynamoDB против вставки
Нормализация, внешние и первичные ключи
DynamoDB - это база данных NoSQL, поэтому между таблицами нет реляционных понятий и нет внешних ключей.
При создании таблиц в Redshift, которые будут получать ваши данные из DynamoDB, вы можете указать внешние ключи. Redshift не применяет их, но они используются оптимизатором запросов.
После импорта данных в Redshift вы можете выполнять реляционные запросы (например, с помощью JOIN) между таблицами.
Ваши данные не должны быть нормализованы. Фактически, хранилища данных, такие как Redshift, часто загружаются широкими таблицами и дублированными данными, что облегчает запрос данных с меньшим количеством JOINS.