Статья для понимания хранилища данных: часто используемые инструменты и методы ETL.
Статья для понимания хранилища данных: часто используемые инструменты и методы ETL.

Оглавление

1. Что такое ETL?

2. ЭТЛ & ELT

3. Часто используемые инструменты ETL

3.1 sqoop

3.2 DataX

3.3 Kettle

3.4 canal

3.5 StreamSets

4. Стратегия загрузки ETL

4.1 Приращение

4.2 Общая сумма

4.3 Потоковая передача

Редактору есть что сказать


1. Что такое ETL?

ETL,Это аббревиатура английского Extract-Transform-Load.,используется для описанияданныепрохождение через источникизвлекать(extract)、Конвертировать(transform)、нагрузка(load)процесс до места назначения,Это основа хранилища данных.

Извлекать (ExtractВ основном для рассредоточения различных бизнес-систем и разных серверов.данные,После полного понимания определения данных,источники данных и определения данных, необходимые для планирования,Разработка действенных источников данных,Разработайте правила извлечения Приращения и медленных градиентов.

конвертировать(transformВ основном дляданные Модель склада,Добиться преобразования данных из бизнес-модели в аналитическую модель с помощью серии Конвертировать.,Благодаря визуальному перетаскиванию инструментов ETL вы можете напрямую использовать стандартные встроенные функции фрагментов кода, пользовательские сценарии, функции, хранимые процедуры и другие методы расширения.,Реализован различный комплекс Конвертировать,И поддерживает автоматический анализ журналов.,Четко контролируйте состояние данных. Конвертируйте и оптимизируйте модель анализа.

нагрузка(LoadГлавным образом через Конвертироватьизданныезагрузить вданные Внутри склада,данные можно загрузить путем прямого подключения к библиотеке данных.,Может полностью отражать эффективность. Вы можете настроить режим работы по извлечению данных в любой момент во время работы приложения.,Может быть гибко интегрирован в другие системы управления.

2. ЭТЛ & ELT

в сопровожденииданныесклад Библиотекаизразвивать(Портал: восемь этапов развития хранилища данных),данные Сумма от малого к большому,данные В реальном времени от Т+1 до квазиреального времени и реального времени,ETL также постоянно развивается.

В традиционном хранилище данных,данные Небольшое количество,Логика расчета относительно проста,Мы можем напрямую использовать инструменты ETL для реализации конвертации данных (T).,Конвертировать и затем загрузить в целевую библиотеку.,То есть (Извлечение-Преобразование-Загрузка). Но в большой сцене данных,данные Чем больше количество, тем больше,Логика вычислений становится все более сложной,Очистку данных необходимо выполнить в распределенном вычислительном механизме с более мощной вычислительной мощностью.,ETLЭто также сталоELT(Extract-Load-Transform)。

Прямо сейчас:Извлечение-Преобразование-Загрузка  >>  Extract-Load-Transform

Обычно то, что мы называем ETL, относится ко всему процессу синхронизации и очистки данных и не ограничивается извлечением-преобразованием-загрузкой данных.

3. Часто используемые инструменты ETL

В приведенном ниже редакторе представлены несколько типов инструментов ETL (sqoop, DataX, Kettle, canal, StreamSets).

3.1 sqoop

  • Это инструмент Apache с открытым исходным кодом для передачи данных между Hadoop и сервером реляционной библиотеки данных.
  • Вы можете импортировать данные из реляционной библиотеки данных (MySQL, Oracle и т. д.) в HDFS Hadoop или экспортировать данные из HDFS в реляционную библиотеку данных.
  • Суть команды sqoop заключается в преобразовании ее в программу MapReduce.
  • Sqoop делится на импорт и экспорт.
  • Стратегии разделены на табличные и запросные.
  • Режим разделен на Приращениеи Вся сумма。

3.2 DataX

  • DataX — это широко используемый инструмент/платформа для автономной синхронизации данных в Alibaba Group.
  • Реализация включает в себя MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS Эффективная функция синхронизации данных между различными разнородными источниками данных.

3.3 Kettle

  • Иностранный бесплатный открытый исходный код、визуальный、МощныйизETLинструмент,Написан на чистой Java,Может работать в Windows, Linux, Unix,извлечение данных эффективно и стабильно.

3.4 canal

  • canal — проект с открытым исходным кодом, принадлежащий Alibaba.,Чистая Java-разработка. На основе библиотеки данных. Анализ журнала приращения.,Обеспечить Приращение подписки и потребления в режиме реального времени.,В настоящее время в основном поддерживает MySQL,MariaDB также поддерживается.

3.5 StreamSets

  • Это ETL-инструмент для сбора больших данных в реальном времени.,Завершить сбор и распространение данных можно, не написав ни единой строчки кода. Через визуальный интерфейс перетаскивания,Реализуйте проектирование конвейеров данных (Pipelines) и планирование запланированных задач.
  • Для создания конвейера Pipelines требуется настройка источника данных (Origins).、Процессоры、Пункты назначения состоят из трех частей.

4. Стратегия загрузки ETL

4.1 Приращение

  • Некоторые столы огромные,Нам нужно выбрать стратегию Приращения,Новые дельта-данные необходимо объединить с существующими данными.
  • Два метода:
    • объединить(1)
  • объединить(2)
    • Только новый (полный присоединиться. Если вы можете получить таблицу обновлений, получите таблицу обновлений)
  • Добавить+Удалить
    • таблица истории. Левое соединение, таблица удаления, где select-table.value равно нулю == Таблица а
    • Таблица а full join update-table (Если вы можете получить обновление, получите обновление)

4.2 Общая сумма

Одна Вся в день часть таблицы, вы также можете разделить один день улья на один. сумма。

4.3 Потоковая передача

Используйте kafka для использования журналов binlog mysql в целевой базе данных. Исходная таблица и целевая база данных представляют собой зеркала 1:1.

Редактору есть что сказать

Будь то Вся Либо метод «длина», либо метод «Приращение» приведет к потере лишней памяти или удалит дублирование посредством расчета, чтобы получить самую последнюю информацию. объемданные. Чтобы решить эту проблему, Wall Crack рекомендует схему синхронизации данных Kafka. Исходная таблица меняет один элемент, а целевая таблица использует один элемент. Данные целевой таблицы всегда самые последние. объемданные, и синхронизируются в реальном времени. 

ps. В крайнем случае цифры могут потеряться. Вам нужно написать несколько скриптов мониторинга (подробнее см. в разделе качество данных) и дополнить скриптами~.

Портал серии «Хранилище данных»:https://blog.csdn.net/weixin_39032019/category_8871528.html

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