Использование 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
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose