DataX — это версия интеграции данных DataWorks с открытым исходным кодом, широко используемый инструмент/платформа для автономной синхронизации данных. DataX реализует эффективную синхронизацию данных между различными разнородными источниками данных, включая MySQL, Oracle, OceanBase, SqlServer, Postgre, HDFS, Hive, ADS, HBase, TableStore (OTS), MaxCompute (ODPS), Hologres, DRDS, databend и т. д. Функция.
Сама DataX, как платформа синхронизации данных, абстрагирует синхронизацию различных источников данных в подключаемый модуль Reader, который считывает данные из исходного источника данных, и подключаемый модуль Writer, который записывает данные в целевой объект. Теоретически платформа DataX может это сделать. поддержка синхронизации данных любого типа источника данных. В то же время система плагинов DataX служит экосистемой. Каждый раз, когда осуществляется доступ к новому источнику данных, новый добавленный источник данных может взаимодействовать с существующими источниками данных.
Сначала необходимая конфигурация
Используйте двумя способами
После загрузки разархивируйте его в локальный каталог, войдите в каталог bin и запустите задание синхронизации:
$ cd {YOUR_DATAX_HOME}/bin
$ python datax.py {YOUR_JOB.json}
сценарий самотестирования:python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json
Второй метод, метод компиляции исходного кода
Загрузите исходный код, вы можете скачать его с github.
Упаковать и собрать с помощью maven.
cd {DataX\_source\_code\_home}
mvn -U clean package assembly:assembly -Dmaven.test.skip=true
После успешной упаковки введите `{DataX_source_code_home}/target/datax/datax/`, структура каталогов выглядит следующим образом.
bin conf job lib log log\_perf plugin script tmp
Выполните скрипт `./stream2stream.json`
python datax.py ./stream2stream.json
Судя по приведенному выше использованию,Немного громоздко,json
怎么写还不知道呢
有没有一个后台web
интерфейс,Мы можем управлять этим напрямую,Просто этот инструмент с открытым исходным кодом да
DataX Web — это инструмент распределенной синхронизации данных, разработанный на базе DataX. Он обеспечивает простой и удобный в использовании рабочий интерфейс, снижает затраты пользователей на обучение использованию DataX, сокращает время настройки задач и позволяет избежать ошибок в процессе настройки. Пользователи могут создавать задачи синхронизации данных, выбирая источники данных на странице. Поддерживаются такие источники данных, как RDBMS, Hive, HBase, ClickHouse и MongoDB. Источники данных RDBMS могут создавать задачи синхронизации данных в пакетном режиме, поддерживают просмотр синхронизации данных в реальном времени. прогресс и журналы, а также обеспечить прекращение синхронизации. Функция интеграции и вторичной разработки xxl-job может синхронизировать данные постепенно на основе времени и автоматически увеличивающихся первичных ключей.
«Исполнитель» задачи поддерживает развертывание кластера, выбор стратегии многоузловой маршрутизации исполнителя, контроль тайм-аута, повторную попытку сбоя, сигнализацию сбоя, зависимость задачи, процессор исполнителя, память, мониторинг нагрузки и т. д. В будущем мы предоставим дополнительную поддержку источников данных, UDF преобразования данных, синхронизацию структуры таблиц, линию синхронизации данных и другие более сложные бизнес-сценарии.
Загрузите и установите
/modules/datax-admin/bin/env.properties
Настроить почтовый сервис(Можно пропустить) MAIL_USERNAME="" MAIL_PASSWORD="" ## Адрес скрипта Python, который выполняет datax PYTHON_PATH= ## Сохраняйте порт в соответствии со службой datax-admin; значение по умолчанию — 9527. Если порт datax-admin не был изменен, его можно игнорировать. DATAX_ADMIN_PORT=Создать проект
Создать источник данных
cron
Все знают выражения,Не буду вдаваться в подробности, здесь главное создать шаблон.,Будет использован позже
выбиратьsource
стол иtarget
поля таблицы,Структура таблицы здесь такая же,Просто выберите все
Следующим шагом будет создание необходимогоjson
Понятно
Сначала создайте, затем выберите шаблон задачи, созданный в предыдущем разделе.
json
немного длинный,Потяните вниз,Нажмите «Далее»,Завершить создание задачи
Нажмите на операцию, чтобы выполнить ее один раз.
Конечно, вы также можете дождаться следующего времени запуска.
Проверятьtarget
база данных,Найденные данные синхронизированы;
То, что показано выше, — это полная синхронизация, которую можно выполнять постепенно. Это можно изучить позже.