и посмотреть медиа
Data analysis - DA SQL
и посмотреть медиа
Data analysis: SQL, Python.
Data analysis: SQL, Python.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
About data analysis: databases, SQL, Python and more for analysts.
Source-to-Target (S2T) Mapping для миграции данных S2T-маппинг (Source-to-Target Mapping) — это сопоставление полей исходных данных (source) с целевыми полями (target) с описанием правил преобразования. Это важный этап ELT-процессов, который используется в контексте миграции данных (переносе данных, например, из одной СУБД в другую) и построении витрин данных. Это нужно для того, чтобы минимизировать вероятность использования некачественных данных и для того, чтобы все понимали, откуда берутся данные, по какой логике преобразовываются, что это за данные и т.д. Еще это может быть полезно для масштабируемости, то есть можно добавлять новые источники без изменения всей ETL-логики. Для целей такого маппинга создаются таблицы, которые могут быть как и просто обычной документацией в Word/Excel/PDF, так и быть, например, SQL-таблицами, с которыми можно взаимодействовать на уровне запросов. Создание таких таблиц - процесс достаточно творческий, они могут иметь разные атрибуты и содержание. В одном из достаточно типовых вариантов S2T таблица помимо атрибутов source и target может включать в себя: ▶️Правило преобразования (может быть SQL-функцией, Python-кодом или бизнес-логикой) ▶️Тип данных в атрибутах source и target ▶️Логику обработки NULL-значений ▶️Связи между таблицами ▶️Источник данных ▶️Частота обновления ▶️Владелец данных Логика заполнения этих таблиц следующая. Например, мы захотели перенести данные с oracle на postgre. Очевидная проблема - это разный SQL-синтаксис и разные типы данных в этих СУБД. При этом нужно еще учитывать существующие связи между таблицами. 1️⃣Создавая в этой ситуации таблицу маппинга, мы пропишем в ней атрибут Source (Oracle), который будет содержать данные о столбцах в источнике в формате "schema.table.column". Аналогично поступим и с атрибутом Target (Postgre), который будет содержать информацию о конечном назначении столбцов из источника. 2️⃣Далее пойдет атрибут преобразования, условно Transformation Rule. В него можно прописать любые самые разные используемые sql-запросы (и не только sql-запросы) на диалекте источника (в случае, если перенос данных происходит напрямую между СУБД), в данном случае на оракле, по типу UPPER(column), to_char(column), ROUND(column, n), CONCAT(a, b) и любую другую, в том числе намного более сложную, используемую логику. 3️⃣В атрибуте Data Type, как правило, одновременно прописываются типы данных как и source, так и target столбцов: Oracle: NUMBER(10) PG: INTEGER 4️⃣Что касаемо обработки null-значений, здесь всё те же самые разные sql-запросы на диалекте источника, как и в Transformation Rule, например, NVL(column, 'N/A'). 5️⃣Связи между таблицами обычно отражаются путем указания первичных (PK) и внешних (FK) ключей напротив столбцов с айдишниками. Например, есть у нас в оракле связанные между собой таблицы "category" и "sales", которые мы хотим перенести на постгре, предварительно создав там эти же таблицы. Пишем сначала про перенос category: source ▶️ category_id; target ▶️ category_id; тип связи ▶️ PK. Это означает, что category_id является первичным ключом в оракле, и что в постгре этот столбец тоже должен быть первичным ключом. Теперь перенос sales: source ▶️ sales_id; target ▶️ sales_id; тип связи ▶️ PK. source ▶️ category_id; target ▶️ category_id; тип связи ▶️ FK -> category_id. Это будет означать, что sales_id из sales можно связать по category_id c category (category_id есть как и в sales, так и в category). 6️⃣Ну и наконец в атрибуте "Источник данных" принято указывать базу данных, например, Oracle PROD_DB. Атрибуты "Частота обновления" и "Владелец данных" заполняются произвольно.
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!