2017-02-16 24 views
0

Я очень новичок в Hadoop MapReduce/Spark, для моего целевого проекта я хочу выполнить предварительную обработку данных с помощью Hadoop MapReduce/Spark. Я знаю основы Hadoop MapReduce, но я не знаю, как реализовать алгоритмы/методы предварительной обработки в этой структуре. Для Hadoop MapReduce я должен определить Map() и Reduce(), который принимает <key, value> пару в качестве типа передачи от Mappers to Reducers. Но с таблицами базы данных, как я могу обрабатывать записи таблицы в формате <key, value>? Применение ключа primay в качестве ключа кажется бессмыслицей. Это аналогичный случай для Spark, так как мне нужно указать ключ.Как выполнить предварительную обработку данных с помощью Hadoop MapReduce или Spark?

Например, для каждой записи данных в таблице базы данных некоторые поля некоторых элементов могут быть пропущены, поэтому я хочу добавить значение по умолчанию для этих полей с виду стратегий вменения. Как я могу обработать записи данных в способе <key, value>? Установка первичного ключа как key здесь бессмыслица, так как если это так, каждая пара <key, value> не будет иметь тот же ключ, что и другие, поэтому агрегация в этом случае не поможет.

ответ

0

Сокращение карты - это своего рода низкоуровневое программирование. Вы можете начать с абстракций высокого уровня, таких как HIVE и PIG.

Если в случае, если вы имеете дело со структурированными данными, вы идете с помощью HIVE, который является интерфейсом SQL, который преобразует SQL-запросы в метаданные.

Надеюсь, это поможет.

+0

ОК, я понимаю. Вы знаете, как Hadoop MapReduce реализует эти абстракции высокого уровня? –

+0

PIg и Hive - это абстракции высокого уровня, которые построены поверх Map Reduce. –

+0

Я знаю, что такое Pig and Hive, но как они выполняют предварительную обработку данных с помощью raw Hadoop MapReduce? Это зависит от других пакетов? –