Создание базы данных с использованием Hadoop на AWS через Java SDK - PullRequest
0 голосов
/ 30 января 2019

Я работаю над заданием для моего университета, где мне нужно реализовать что-то с помощью Hadoop в AWS.Чтобы реализовать это, я хочу использовать реляционную базу данных, такую ​​как MySQL.

Я прочитал и увидел, что на самом деле могу использовать MySQL как RDS с AWS, однако я не понимал, как это сделать.Делая это с Hadoop и, кроме того, с Java SDK.

По сути, после нескольких шагов я получаю файлы, в которых каждая строка выглядит так:

(A, B, C) num1 num2

Я хочувыполните дополнительный шаг, который создаст базу данных, в которой каждый A является новой таблицей, каждый B является новой строкой, а C, num1 и num2 являются ячейками в этой строке.

Мне это нужно для того, чтобыпозже выполните запросы SELECT и JOIN для этих таблиц.

Возможно ли это вообще?Если да, то может ли кто-нибудь помочь мне с примером или контрольным списком вещей, которые я должен сделать, чтобы создать и затем использовать базу данных?

Большое спасибо!

РЕДАКТИРОВАТЬ:

Чтобы уточнить, я хочу создать базу данных, подобную MySQL, а затем добавить в нее элементы с помощью шага Hadoop.например, если мои преобразователи получают строку, которую я написал выше, из моего файла, то для каждого A они создадут новую таблицу и отправят в редукторы: ключ - A, значение - B, C, num1, num2.

Затем каждый редуктор получит таблицу в качестве ключа и все элементы для ее заполнения в качестве значений, поэтому для каждого значения (иначе B, C, num1, num2) он создаст строку B в этой таблице и заполнит еес ячейками C, num1, num2.

1 Ответ

0 голосов
/ 31 января 2019

Hadoop не является базой данных.Проект состоит из хранения и выполнения через HDFS (которую вы не используете, если данные находятся в S3), YARN и MapReduce.Из коробки нет простого соединения или SQL-подобных вещей, которые он может сделать.Для этого вам по крайней мере нужен Hive, который может находиться поверх MySQL.

Если все, что вам нужно, это SQL, то в Hadoop-land вы можете использовать SparkSQL напрямую против наборов данных S3.Или вы можете остаться в AWS-Land и использовать Athena.

Однако, если ваш набор данных не настолько велик для начала (даже до 100+ ГБ), то использование MySQL на RDS будет работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...