WedX - журнал о программировании и компьютерных науках

Как я могу объединить две таблицы в DynamoDb?

Я новичок в DynamoDB, может ли кто-нибудь помочь мне с использованием JOIN в DynamoDB? Я использую бессерверную структуру и шаблон сопоставления. У меня есть таблица с POST и USER. POST содержит поле userId. Как я могу получить все сообщения с информацией о пользователе? В MYSQL я могу использовать JOIN, но как это работает в DynamoDB? Я читал сообщения в stackoverflow, созданные 2 года назад. А ребята писали, что нет в наличии. Может что-то изменилось...?


  • DynamoDB не является реляционной базой данных, в отличие от MySQL: dynamodb">stackoverflow.com/questions/36753861/ 10.07.2018

Ответы:


1

DynamoDB — это база данных NoSQL. Это дает ему разбиение на разделы, невероятную производительность, масштабируемость, надежность и т. д.

Компромисс заключается в том, что это не реляционная база данных. Поэтому DynamoDB не будет выполнять объединение таблиц.

Вам нужно будет прочитать таблицы отдельно и «присоединить» нужные данные в вашем приложении.

Например, извлеките UserId из таблицы Post, а затем извлеките записи из таблицы User для данного UserId.

09.07.2018

2

Я нашел решение. Пользователь @eltonio450 на gitHub показал, как сделать это.

12.07.2018

3

Технически можно использовать Amazon EMR Hadoop для создания таблицы EXTERNAL Hive поверх таблицы DynamoDB; затем запросите таблицу Hive с помощью HiveQL.

Однако подход Hive + DynamoDB не рекомендуется; поскольку DynamoDB предназначен для запросов с малой задержкой. Hive ориентирован на пакетную обработку.

Кроме того, Hive может выдать запрос на сканирование (по своей сути неэффективный) к таблицам DynamoDB перед применением любого предиката (ов) запроса.

23.11.2019
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]