Использование Datax и Datax-web
Использование Datax и Datax-web

Использование Datax и Data-web

1. Введение

DataX — это версия интеграции данных DataWorks с открытым исходным кодом, широко используемый инструмент/платформа для автономной синхронизации данных. DataX реализует эффективную синхронизацию данных между различными разнородными источниками данных, включая MySQL, Oracle, OceanBase, SqlServer, Postgre, HDFS, Hive, ADS, HBase, TableStore (OTS), MaxCompute (ODPS), Hologres, DRDS, databend и т. д. Функция.

Сама DataX, как платформа синхронизации данных, абстрагирует синхронизацию различных источников данных в подключаемый модуль Reader, который считывает данные из исходного источника данных, и подключаемый модуль Writer, который записывает данные в целевой объект. Теоретически платформа DataX может это сделать. поддержка синхронизации данных любого типа источника данных. В то же время система плагинов DataX служит экосистемой. Каждый раз, когда осуществляется доступ к новому источнику данных, новый добавленный источник данных может взаимодействовать с существующими источниками данных.

2. Загрузите и используйте

1)datax

Сначала необходимая конфигурация

Используйте двумя способами

После загрузки разархивируйте его в локальный каталог, войдите в каталог bin и запустите задание синхронизации:

Язык кода:shell
копировать
 $ 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.

Язык кода:shell
копировать
Упаковать и собрать с помощью 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

2)datax-web

Судя по приведенному выше использованию,Немного громоздко,json怎么写还不知道呢

有没有一个后台webинтерфейс,Мы можем управлять этим напрямую,Просто этот инструмент с открытым исходным кодом да

WeiYe-Jing/datax-web: страница интегрированной визуализации DataX, выбор источника данных для создания задач синхронизации данных одним щелчком мыши, поддержка RDBMS, Hive, HBase, ClickHouse, MongoDB и других источников данных, пакетное создание задач синхронизации данных RDBMS и интегрировать систему планирования с открытым исходным кодом, поддерживает распределенную, инкрементальную синхронизацию данных, просмотр запущенных журналов в реальном времени, мониторинг ресурсов исполнителя, KILL запущенных процессов, шифрование информации источника данных и т. д. (github.com)

DataX Web — это инструмент распределенной синхронизации данных, разработанный на базе DataX. Он обеспечивает простой и удобный в использовании рабочий интерфейс, снижает затраты пользователей на обучение использованию DataX, сокращает время настройки задач и позволяет избежать ошибок в процессе настройки. Пользователи могут создавать задачи синхронизации данных, выбирая источники данных на странице. Поддерживаются такие источники данных, как RDBMS, Hive, HBase, ClickHouse и MongoDB. Источники данных RDBMS могут создавать задачи синхронизации данных в пакетном режиме, поддерживают просмотр синхронизации данных в реальном времени. прогресс и журналы, а также обеспечить прекращение синхронизации. Функция интеграции и вторичной разработки xxl-job может синхронизировать данные постепенно на основе времени и автоматически увеличивающихся первичных ключей.

«Исполнитель» задачи поддерживает развертывание кластера, выбор стратегии многоузловой маршрутизации исполнителя, контроль тайм-аута, повторную попытку сбоя, сигнализацию сбоя, зависимость задачи, процессор исполнителя, память, мониторинг нагрузки и т. д. В будущем мы предоставим дополнительную поддержку источников данных, UDF преобразования данных, синхронизацию структуры таблиц, линию синхронизации данных и другие более сложные бизнес-сценарии.


Загрузите и установите

  1. Загрузите официально предоставленную версию пакета tar-версии. Нажмите, чтобы скачать Код извлечения: cpsk
  2. Скомпилируйте и упакуйте (пропустите официально предоставленный tar-пакет) Получите исходный код непосредственно из Git и выполните следующую команду в корневом каталоге проекта для компиляции. mvn clean install ## Создать файл каталога упаковки build/datax-web-{VERSION}.tar.gz ## Разархивировать tar -zxvf datax-web-{VERSION}.tar.gz ## Войдите в каталог после «Разархивировать» и найдите файл install.sh в каталоге bin. Если вы выбираете интерактивную установку, выполните ее напрямую. ./bin/install.sh ## В интерактивном режиме у пользователя запрашивается подтверждение при вызове пакета сжатия каждого модуля и сценария настройки конфигурации. Вы можете следовать инструкциям, чтобы проверить, прошла ли установка успешно. Если установка не увенчалась успехом, вы можете попробовать. снова; Если вы не хотите использовать интерактивный режим и пропустить процесс подтверждения, выполните следующую команду для установки ./bin/install.sh --force
  3. Конфигурация во время установкиЕсли в вашем сервисе естьmysqlЗаказ,Во время выполнения сценария установки появится следующее напоминание: Отсканируйте команду mysql и начните инициализировать базу данных. Хотите инициализировать базу данных с помощью sql: {INSTALL_PATH}/bin/db/datax-web.sql (Y? / N)y Введите хост базы данных (по умолчанию: 127.0.0.1): Введите порт базы данных (по умолчанию: 3306): Введите имя пользователя БД (по умолчанию: root): Пожалуйста, введите пароль БД (по умолчанию: ): Пожалуйста, введите имя БД (по умолчанию: exchangis) ## Если команды MySQL нет, файл можно изменить. ./modules/datax-admin/conf/bootstrap.properties #Database #DB_HOST= #DB_PORT= #DB_USERNAME= #DB_PASSWORD= #DB_DATABASE=
  4. Остальная конфигурация/modules/datax-admin/bin/env.propertiesНастроить почтовый сервис(Можно пропустить) MAIL_USERNAME="" MAIL_PASSWORD="" ## Адрес скрипта Python, который выполняет datax PYTHON_PATH= ## Сохраняйте порт в соответствии со службой datax-admin; значение по умолчанию — 9527. Если порт datax-admin не был изменен, его можно игнорировать. DATAX_ADMIN_PORT=
  5. Начать запуск./bin/start-all.sh # Некоторые модули могут не запуститься или зависнуть во время процесса. Вы можете выйти и повторить выполнение. Если вам нужно изменить номер сервисного порта определенного модуля, vi ./. модули/{имя_модуля}/bin/env.properties # Найдите элемент конфигурации SERVER_PORT и измените его значение. Конечно, вы также можете запустить определенную службу модуля отдельно: ./bin/start.sh -m {module_name} # Отменить все службы одним щелчком мыши./bin/stop-all.sh # Конечно, вы также можете остановить определенный сервис модуля индивидуально: ./bin/stop.sh -m {имя_модуля}
  6. Проверьте, запущена ли служба, и посмотрите, есть ли процессы DataXAdminApplication и DataXExecutorApplication. Если они существуют, это означает, что проект работает успешно. jps # Если проект не запускается, проверьте журнал запуска: модули/datax-admin/bin/console. .out или elements/datax-executor/bin /console.out # Сценарий использует набор инструкций bash. Если вы используете sh для вызова сценария, могут возникнуть неизвестные ошибки.

3. Специальное использование

1) Создайте проект и создайте источник данных.

Создать проект

Создать источник данных

2) Создать шаблон задачи

cronВсе знают выражения,Не буду вдаваться в подробности, здесь главное создать шаблон.,Будет использован позже

3) Создавать задачи

выбиратьsourceстол иtargetполя таблицы,Структура таблицы здесь такая же,Просто выберите все

Следующим шагом будет создание необходимогоjsonПонятно

Сначала создайте, затем выберите шаблон задачи, созданный в предыдущем разделе.

jsonнемного длинный,Потяните вниз,Нажмите «Далее»,Завершить создание задачи

4) Выполнять задания

Нажмите на операцию, чтобы выполнить ее один раз.

Конечно, вы также можете дождаться следующего времени запуска.

Проверятьtargetбаза данных,Найденные данные синхронизированы;

4. Наконец

То, что показано выше, — это полная синхронизация, которую можно выполнять постепенно. Это можно изучить позже.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.