Внедрение ETL в PHP с автоматизацией - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть требование, чтобы мне нужно было получать данные из нескольких файлов с разными форматами, полностью неорганизованными и имеющими произвольно названные поля. Преобразовать эти данные в один формат и сохранить в соответствующих полях таблицы в базе данных. Я знаю концепцию ETL, но я понятия не имею, какую логику c мне следует использовать, потому что это что-то совершенно новое для меня и никогда раньше не работало над чем-то подобным. Кто-нибудь может подсказать мне, как я могу сравнить случайные и необработанные данные с полями таблицы базы данных?

Например: Файл 1 имеет 3 столбца: Имя Cust | Номер | Email

Файл 2 имеет те же поля, но называются по-разному, например: Имя клиента | нет. | email-id

Так что мне просто нужно знать, как это можно сделать или есть ли лучший вариант, чем ETL, для этого требования.

Заранее спасибо.

1 Ответ

0 голосов
/ 26 февраля 2020

Существуют разные способы сделать это как часть очистки данных.

  1. Если у вас не так много исходных таблиц, вы можете попробовать использовать таблицу ручного отображения. Source (n) -> Target (1), а затем некоторое дополнительное волшебство c для загрузки данных.
  2. Если у вас есть больше исходных таблиц, вы можете попытаться угадать (изменить расстояние имен) правильное имя целевой таблицы. Возможно с дополнительной проверкой содержащихся данных.
  3. Что вы можете сделать, это только проверить содержащие данные
    • @ включено -> электронная почта
    • обычно 2 слова, где 1 - фамилия -> имя клиента
    • только цифры, без точек -> Номер клиента
...