Инжиниринг Данных
23.5K subscribers
1.98K photos
55 videos
192 files
3.2K links
Делюсь новостями из мира аналитики и карьерными советами.

15 лет в Аналитике и Инжиниринге Данных, 10 лет в MAANG

🛠️ dataengineer.ru | 🏄‍♂️ Surfalytics.com

№5017813306

Реклама:
https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Download Telegram
#dataengineering
Если вы работаете с текстом, особенно в случае, когда у вас есть форма для ввода данных, то у вас возникает проблема с качеством данных, вам необходимо чистить данные. Вот какие используются техники (их много), я укажу несколько наиболее популярных. (Я думаю вариантов очень много, и может оказаться, что мои примеры не самые лучшие).

Произношение – алгоритм находит слова, которые звучат похоже. Для такой задачи используется алгоритм Metaphone 3, который индексирует слова по их произношению. Этот алгоритм используется для большинства проверщиков грамматики (как мне его не хватает в Телеграм🙈). К сожалению, он работает для English words.

Схожие символы – алгоритм находит и группирует значения у которых буквы или цифры схожи. Используется ngram fingerprint алгоритм, который индексирует слова, по их уникальным символам после удаления знаков препинания, пробелов и дублей. Данный алгоритм поддерживает все языки. Например, такой алгоритм поймет «Дмитрий Аношин» и «Аношин, Дмитрий», потому что обе эти строки имеют одинаковый ключ. К сожалению, этот алгоритм не учитывает произношения и строка «Антон Шмирдий» будет иметь такой же ключ.

Орфография – алгоритм находит и группирует текстовые значения, у которых схожая орфография. Используется алгоритм Levenshtein distance, который вычисляет расстояние между двумя значениями с использованием фиксированного порога по умолчанию. Затем он группирует их вместе. Этот алгоритм поддерживает все языки.

Теперь возникает вопрос, кто должен это делать? В идеале аналитик данных (data scientist), кто хорошо разбирается в алгоритмах и имеет опыт с подобными задачами, строит модель на репрезентативной выборке, затем инженер данных или ETL разработчик) автоматизирует процесс загрузки данных, их очистку и добавляет модель в процесс загрузки данных. Его задача, масштабировать решение и сделать его эффективным и быстрым, а задача аналитика, сделать модель наиболее точной.

Если вы один, то лучший вариант это google, найти, например, пример python или R скрипта, и попробовать его использовать для своих данных.

Такие задачи важны для Market Place, когда у вас есть Продавцы и Покупатели. Как правило, продавцы загружают свой товар самостоятельно и используют freeform для заполнения описания, и тут начинается самое веселое. Представить, допустим у вас 400млн уникальных товаров от 10 тысяч продавцов, и вам необходимо правильно разбить на категории ваши продукту, так как покупатели будут искать товары в определенных категориях, и, если «Постер» попадет в раздел детских игрушек, его будет сложней купить. Часто обогащения данными недостаточно. Например, современную книгу можно идентифицировать по коду ISBN. А если вы продаете книги до 1967 года (коллекционные), то вам ничего не остается, кроме как воспользоваться Machine Learning и постараться «прочитать» описание товара.
#dataengineering
Я заметил, что Google Big Query популярен в РФ. Кстати, как я понял можно создать себе бесплатное хранилище, если объем данных не больше 5гб в год. У Azure SQL Server можно точно на год получить БД. Так что если, нужно где-то хранить данные и не хотите зависить от ИТ, это будет отличное решение. (PS аккуратна с sensitive данные, так как это может быть не хорошо, выгружать данные куда-нибудь).

В приложение white paper Optimizing Google BigQuery (оптимизация BQ). 60 страниц про BQ и лучшие практики. Данный документ предоставлен Matillion ETL (облачное решение ETL, работает с Redshift, Snowflake, BQ), я их использую, недавно он получили 20 млн инвестиций, и очень активно развиваются. Правда цена от 7к$ в год.
#dataengineering
Интересное сравнение современных систем Хранилищ Данных. Snowflake самый молодой и был создан для облака и там сразу есть все необходимое. Остальные пытаются догонять.

Так например, Redshift в прошлом году выпустил Spectrum (для поддержки внешних таблиц на основе файлов в S3). А сейчас выпустил новую фичу, для моментального масштабирования вверх и вниз. Например, последний раз уменьшал размер кластера с 4х нод до 3х и это заняло 8 часов (при объеме 6ТБ), что отрицательно сказалось на ночном ETL. В Амазон мы используюе редшифт в качестве Data Mart (витрины данных, то есть собираем только необходимы данные, у каждый команды свой инфраструктура).

Интересно кто будет первым клиентом Snowflake в РФ, и вообще будут ли. PS у вас еще есть возможность пройти лабу с #matemarketing, инструкции в самом вверху канала. Через несколько дней trial закончится.
#dataengineering Нашел интересный тул (open source), который позволяет создавать и управлять моделями данных через CLI (командная строка). Все трансформации описываются в SQL. Если у вас есть опыт в SQL и у вас хаус в данных и вам нужно организовать их, попробуйте https://www.getdbt.com/ Даже если не подойдет, будет возможность узнать новый инструмент и подход.
1
#dataengineering #businessintelligence
В выходные я написал blogpost о взаимоотношении BI и ETL, то есть необходимо подружить загрузку данных и обновления отчетов, звучит банально, но используется редко, если у вас инструменты разных вендоров. В качестве примеров Tableau и Matillion ETL. На их месте может быть кто угодно.
https://rockyourdata.cloud/best-practices-matillion-etl-and-tableau/?utm_source=telegram
❤‍🔥1
#dataengineering Пример современной Big Data архитектуры с использованием решений AWS. Ключевой элемент здесь serverless ETL - AWS Glue, который управляет потоками данных, забирая их из источника, складируя в озеро данных S3, при это делает очень важную вещь - собирает метаданные и создает схему данных. Без этого шага, ваше озеро данных=помойка данных. Так же AWS Glue использует Spark для работы с данными или EMR (Hadoop) для вычислительной мощности. Результат отправляется в Redshift для BI или используется для ML. Такую архитектуро можно воспроизвести +/- 1 в 1 в Google/Azure.
#dataengineering

В приложение книжка Apache NiFi for Dummies (то есть для чайников). Это open source продукт для интеграции и трансформации - ETL, с возможностью загрузки данные в реальном времени.
#dataengineering

Профессия Инженера Данных набирает популярность, по сути, это человек, который знает как управлять потоками данных любого размера, знает инструменты для работы с данными и понимает в каком виде лучше всего предоставить данные для конечного потребителя. Если посмотреть на Head Hunter, то там вакансии Data Engineer это обязательно будет BigData, Hadoop, Spark, Java и тп. Или вообще программист со знанием C++. Я с этим не согласен. Это всего лишь разновидность задач, которые не решить традиционным ETL. Хотя тренд такой, что AWS позволяет использовать Hadoop без знания Java, так же как и предлагает готовые сервисы по распознанию голоса или видео. На западном рынке Data Engineer - это специались по работы с данными (аналог нашего ETL разработчика) и задачи бывают разные, но уже больше 50% связано с облаком.

Основной тренд понятен, это облачные вычисления, соответственно, это большой плюс пройти обучение и при возможности сертифицироваться, желательно бесплатно или почти бесплатно. Сейчас есть 3 основных лидера Azure, AWS, GCP. По каждому из них разработана сертификация. Но GCP пошел дальше. У нас есть замечательная возможность пройти бесплатное обучение на Coursera по Data Engineering on Google Cloud Platform Specialization и за 250$ сдать экзамен на Google Data Engineer. Несмотря на то, что курс по GCP, концепции те же самые, как у AWS и Azure.

На прошлой неделе я сдал экзамен по Tableau Desktop Associate, следующий будет Tableau Server Associate, замет AWS Solution Architect Associate и обязательно
Google Cloud Certified Data Engineer

PS Если есть возможность расшарьте пост или другие посты, больше людей придет, больше контента буду писать:)
🍓1
#dataengineering

ETL vs ELT от Matillion. Если уж совсем по простому, то ETL это когда мы подключаемся к источнику данных, забираем данные(Extract), и начинаем их пропускать через наш тул(ETL), то есть трансформировать(Transform), например, менять формат данных, создавать новые поля и тп., а потом мы готовый результат загружаем(Load) в нашу базу данных (Data Warehouse). Обычно это удобно, так как ETL тул, имеем можноство встроенных трансформаций, и мы мышкой можем создавать и траснформировать данные. Но нам нужно достаточно мощный сервер, чтобы все это дело работало. Примеры - Informatica Power Center, SAP BODI, IBM DataStage и тп. И все эти друзья очень медленно загружают данные в облачные базы данных (Redshift, BigQuery). Но есть возможность сделать ELT (только не понятно зачем тогда переплачивать).

А есть другой подход, мы извлекаем данные (Extract), загружаем в базу данных (Load), и дальше используем ресурс аналитической базы данных и SQL делаем все необходимые операции. Как результат, работает быстро и не нужен дорогой сервер и лицензии дешевле или вообще платим только за то, что используем. Пример - Matillion, Amazon Glue, Azure Data Factories. При этом мы можем воспользовать преимуществом облачного хранения данных (Amazon S3, Azure Blob Storage).

Я работаю с Matillion сейчас, и мне нравиться, что это ELT, но при этом выглядит как ETL.
#dataengineering

Еще парочку интересных постов от компании UPSIDE. Первый про миграцию из Redshift на Snowflake. Пока мы тут обсуждаем преимущетсва облака, ребята уже наигрались в Redshift, и мигрировали на Snowflake в качестве Хранилища Данных и Matillion как основной ETL. При этом они сэкономили 70% от стоимсти Redshift за счета распределенный архитектуры (хранение данных и вычисления). Если вы строити хранилище в облаке, стоит задуматься. Если есть вопросы по облачным аналитическим решениям, могу подсказать.

Другой пост от CTO, о том, как они немного устали от AWS. Несмотря на то, что AWS лидеры, не все так хорошо и не всегда работает для конкретных случаем.
#dataengineering

Еще интерсный пост из этой же серии. Ребята из Fivetran (ETL продукт), проверили производительнось Redshift, Snowflake, Azure DW, Presto, BigQuery и сравнили скорость и цены.

Я вот недавно узнал, про becnhmark для аналитических решений, оказывается есть стандартизированные базы данных разных размеров под разные кейсы. Существуют не комеерческая организация TPC, которая появилась в 80х и они начинали с ATM машин и транзакционных систем. Если вам интересно, можете почитать больше по ссылке.

Для аналитических решений используется база TPC-DS. Например, в Snowflake она уже доступно по умолчанию, в Redshift я не видел, но мне кажется, вам придется загружать самим. В TPC есть уже эти базы под различные БД (Oracle, Teradata, ..)

В нашем примере ипользовали данные 2х размеров: 100Гб(400 млн строк) и 1ТБ(4 млр строк). Так жы использовали сложные запросы от TPC (без кеширования).

В принципе у них получось все почти одинаково, так как они хотели просто пропиариться. Мне бы было интересно такой тест провести, но это требует времени на подготовку и будет стоить денег за ресурсы.
#dataengineering

Попался действительно хороший отчет по сравнению аналитических платформ Snowflake, BigQuery, Azure SQL DW, Redshift. Очень подробная информация про +/- каждой из систем с ценами и производительностью при работе с benchmark DB TCP-H (я рассказывал ранее про нее). https://gigaom.com/report/data-warehouse-cloud-benchmark/
#dataengineering

Отличная статья про роль и задачи Инженера Данных, этот перевод статьи сделан SkyEng. Кстати они используют Redshift и Matillion. И тут у меня возник вопрос, возможно вам будет полезно.

Если вы используете Google BigQuery или Amazon Redshift и у вас стоят задачи автоматицазии потоков данных, можно просто назвать ETL, или вам нужна автоматизации маркетинга, или интеграции ETL с BI инструментом, то вам следует посмотреть на Matillion ETL, уже несколько компаний в России используют его,и с одними я недавно общался и показывал, что можно делать. SkyEng уже использует год и очень довольны.

Если вам интересно и у вас есть такие задачи, то напишите мне, я смогу вам показать, как я использовал Matillion и какие задачи можно решать без кодинга и другого гемороя. Или у вас сложности с текущим иснтрументом (Talend, Pentaho, Informatica, и тп).

Возможно весной сделаю вебинар по Аналитическим Решениям на русском минут на 60 (бесплатно😎).
#dataengineering

Я обновил архитектуру текущего решения. Тут есть и Streaming (Kinesis Firehose), и Big Data на базе Elastic Map Reduce и Spark, и NoSQL на базе DynamoDB, и Data Lake на базе Redshift Spectrum и Glue. Каждое решение дополняет друг друга и справляется со своей задачей отлично. В качестве главного ETL - Matillion, BI - Tableau.

Я подготил этот слайд для конференции, Enterprise Data World 2019, которая пройдет в Boston уже через 2 недели, где я буду рассказывать про это решение.

Все супер, только лететь придется за свой счет. Зато, бесплатно попаду на конференцию, а так бы цена 3K+$. В прошлом году, я выступал на EDW18 в San Diego, было там семьей и гуляли по городу, не посетил ни одной презентации. В этом году, один лечу и послушаю все и вся:) И конечно посещу MIT и Harward. Так же там есть Amazon Robotics и Amazon Alexa команды.
❤‍🔥1
Forwarded from Data engineering events
📅 #Топ мировых конференций по Data Engineering на 2026

🧰 01/24 — Data Day Texas +AI — Austin, USA — ламповая комьюнити-конфа про инженерку данных: пайплайны, DWH/lakehouse, облака, практики прод-эксплуатации. Online только материалы/записи (если выложат).

🧭 03/09-11 — Gartner Data & Analytics Summit — Orlando, USA — data governance, architecture, operating model, “как продать и масштабировать платформу данных” в компании (полезно архитекторам/лидам). Online только материалы после (если доступны).

☁️ 04/22-24 — Google Cloud Next — Las Vegas, USA — паттерны построения data platforms в GCP: ingestion, lakehouse/warehouse, streaming, security & governance. Online только записи/хайлайты (если будут).

05/19-20 — Current (Confluent) — London, UK — Kafka/streaming в проде: real-time ETL, schema evolution, governance, observability, event-driven архитектуры. Online только материалы/записи (если выложат).

🏛️ 05/06-08 — Data Innovation Summit — Stockholm, Sweden — современная дата-платформа: data products, governance, quality, architecture, enterprise-кейсы.

❄️ 06/01-04 — Snowflake Summit — San Francisco, USA — облачный DWH/платформа: performance, governance, sharing, ingestion/ELT, экосистема. Online только livestream ключевых + записи.

🧊 06/15-18 — Data + AI Summit (Databricks) — San Francisco, USA — lakehouse/lakehouse-ops: ingestion, streaming, governance, cost/perf, infra для MLOps/GenAI на платформе. Online только Watch On Demand.

🌀 08/31-09/02 — Airflow Summit — Austin, USA — оркестрация и ops: multi-tenant Airflow, reliability, backfills, sensors, best practices для data platform teams. Online только записи (если выложат).

🛠️ 09/15-18 — Coalesce (dbt Labs) — Las Vegas, USA — analytics engineering для прод-DWH: dbt, тесты/контракты, семантика, lineage, CI/CD. IRL + online.

🎡 09/23-24 — Big Data LDN — London, UK — большой зоопарк modern data stack: платформы, интеграции, governance/quality, архитектурные кейсы и вендоры. Online только материалы (если появятся).

🏗️ 11/30-12/04 — AWS re:Invent — Las Vegas, USA — инфраструктура под data platforms: storage/lakehouse, streaming, managed data services, security, FinOps. Online только on-demand + Best of re:Invent (virtual).

#y2026 #DE #data #conferences #dataengineering #modernDataStack #dataplatform #airflow #dbt #iceberg #kafka #streaming #dataquality #datagovernance #tobecontinued..
Сохраняй — и пусть 2026 будет годом крепких дата-платформ и бодрых релизов 🚀

* при подготовке использовались #LLM, тч делайте #фактчекинг 😁 (и присылайте под пост или в директ;))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥15😭64🌚1🦄1