Каковы общие процедуры для решения задач интеграции данных в реальном проекте больших данных на основе HDFS?

В настоящее время я работаю над проектом интеллектуального анализа данных, который обрабатывает данные, хранящиеся на hdfs, Первым делом для этого проекта является интеграция данных из разных баз данных или таблиц в единые таблицы, хранящиеся в hdfs,

Прочитав " Предварительную обработку данных в интеллектуальном анализе данных " Сальвадора Гарсии, Хулиана Луенго и Франциско Эрреры, я узнал, что в интеграции данных существует множество проблем или проблем, таких как следующие:

  1. Резервирование атрибутов:
    • Пример: для Table A имеет атрибут index, а также Table B имеет атрибут identifier в то время как эти два атрибута представляют одно и то же значение одного и того же объекта. Поэтому, если мы просто обработаем эти две таблицы с помощью наивного соединения, в объединенной таблице могут существовать избыточные атрибуты.
    • Решение, предлагаемое книгой: сравните meta-data из этих полей, чтобы устранить лишние.
  2. Соотношение атрибутов:
    • Пример: для Table A имеет атрибут salary_per_month, а также Table B имеет атрибут salary_per_year, Но эти два атрибута взаимосвязаны, и salary_per_month могу сделать вывод salary_per_year, Затем, как и в предыдущих случаях, создаются избыточные атрибуты.
    • Решение, предложенное в книге: применить корреляционный тест или критерий хи-квадрат, чтобы определить взаимосвязь между различными полями.

Наряду с вышеупомянутыми проблемами, возможны многие случаи (только краткое описание без конкретных примеров):

  1. Случай 1:
    • Описание: Интегрировать table A из MongoDB и table B из MySQL в одну таблицу, хранящуюся в hdfs через вид операции соединения.
    • Примечание. Этот случай встречается не часто, но все же возможен.
  2. Случай 2:
    • Описание: Интегрировать table A а также B из MongoDB (или MySQL) в одну таблицу, хранящуюся в hdfs посредством операции соединения.
    • Примечание: в этом случае используется только один тип базы данных.

Выше это все проблемы и возможные ситуации. Я понимаю основные понятия для проблем, описанных выше, но я не знаю, как решить вышеуказанные проблемы в реальном проекте, особенно на основе hdfs, Кажется, что такие проблемы, как избыточность атрибутов и корреляция, могут быть решены только в том случае, когда я знаю, как создаются таблицы, так называемые жестко закодированные. Могу ли я решить их автоматически с помощью API, предоставляемого экосистемой Hadoop?

Опять же, поскольку возможны многие случаи, я хочу знать в интеграции данных, каковы общие шаги, которые следует выполнить, какие общие инструменты использовать в реальном проекте больших данных, где предварительная обработка данных очень важна? Любое руководство будет полезно для меня.

1 ответ

Для запросов полиглота (выборка данных из нескольких источников данных) я предпочитаю Spark или Drill.

Используя эти инструменты, вы можете выполнять объединения и другую агрегацию в памяти (если данные не слишком велики)

Вы можете легко записать вывод в HDFS в желаемом формате файла.

Проблемы, такие как управление транзакциями, все еще существуют. Но эти механизмы запросов решают многие проблемы легко.

Другие вопросы по тегам