Pull to refresh
  • by relevance
  • by date
  • by rating

Как мы провели встречи по NiFi. Видео и впечатления

TINKOFF corporate blog Big Data *Data storages *Data Engineering *
Приветствую!

Все чаще я встречаю упоминания такого замечательного продукта, как Apache NiFi. Даже на Хабре за этот год появилось несколько статей об этом достаточно нишевом продукте.

Мы в Тинькофф уже более двух лет используем Apache NiFi и поэтому посвятили ему митап (сразу признаемся, что на проведение мероприятия нас подвигло сообщество телеграм-канала @nifiusers). Событие мы разбили на две части, которые проходили два четверга подряд.


Total votes 16: ↑16 and ↓0 +16
Views 2.9K
Comments 1

Arenadata выпустила новый продукт для обмена данными между Greenplum и Spark

Arenadata corporate blog Big Data *Data storages *Distributed systems *Data Engineering *
image

Компания Arenadata выпустила инструмент для обмена данными между Arenadata DB (аналитической MPP-СУБД на базе Greenplum) и Apache Spark (фреймворком для распределенной обработки данных, входящим в экосистему Hadoop) — ADB-Spark Connector. Продукт предназначен для высокоскоростной и параллельной передачи информации между Spark и Arenadata DB.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views 474
Comments 2

Что делать, если вы пользуетесь IBM DataStage, но поменяли пароль на root

Lumber room
Так получилось, что благодаря интересной архитектуре всей системы в целом (которая носит название Information Server), DataStage очень трепетно относится к такой банальной процедуре как смена пароля пользователя, под которым, например, осуществляется редактирование etl-процедур (т.н. джобов) или другие операции.
Такая неразбериха возникает еще и потому, что в продукте существует много различных мест, в которые можно залогиниться, создать пользователей, назначать роли и указывать их пароли. Это как минимум WAS — WebShere application server, Information Server Web Console, и собственно клиенты Designer, Director и Administrator. Процедуры аутентификации на сервере приложений могут быть различными и выбираются исходя политики безопаности компании, на серверах которой разворачивается DataStage. Проблемы возникают в том случае, если аутентификация осуществляется посредством локальной операционной системы (грубо говоря имя пользователя и пароль в ОС совпадает с именами пользователей при входе в административную консоль).

Итак, в этом небольшом посте я попытаюсь рассказать о том как восстановить работоспособность системы после того как была осуществлена процедура смены пароля пользователя ОС.
Читать дальше →
Rating 0
Views 507
Comments 0

Конвертация даных, или углубление в Talent Open Studio

Lumber room
Утро было вполне обычным и ленивым: душ, кофе, сигарета… Пора собираться на работу…
По приходе в офис был встречен новостью о переходе на новый проект в качестве ETL инженера (что это значит я не знал, ну да ладно). Ну, думаю попробуем. До меня там работал один парень, но как всегда много помощи о работе я у него не дождался. И так приступим.
Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views 634
Comments 2

Разблокировка ошибочно заблокированных джобов в DataStage

Lumber room
При работе с клиентом IBM WebSphere DataStage довольно нередки случаи краха приложения клиента, влекущие за собой блокировку джоба (будем называеть Job именно так, избегая более русского, но в то же время более общего термина etl-процедуры или процедуры переливки данных). Если джоб заблокирован, его нельзя будет перекомпилировать, посколько DataStage клиент будет сообщать о невозможности монопольного захвата ресурсов джоба.
В этом разделе я расскажу как можно, не перезагружая сервер DataStage, разблокировать джоб.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 543
Comments 0

Установка клиента DataStage

SQL *
Я думаю, что многие сталкивались с некоторыми проблемами при установке IBM DataStage на клиентские рабочие станции. Перед установкой, ваша система должна выдержать ряд тестов на соответствие требованиям, которые предъявляются к ОС, пользователю, из под которого осуществляется установка, к «железу». Не всегда проверка возвращает адекватные результаты.
Вашему вниманию представлены некоторые пути обхода криво реализованных проверок очередного инсталятора компании IBM, пытающийся установить клиент к Information Server 8.5, в который входят клиенты для DataStage.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 3.6K
Comments 0

Соединение исторических таблиц

SQL *Big Data *
Sandbox
Время от времени мне приходится сталкиваться с задачами, когда нужно в рамках имеющейся СУБД выполнить соединение двух и более исторических таблиц между собой, да так, чтобы получить красивые исторические интервалы на выходе. Зачем? Чтобы отчет смог правильно отобразить данные на выбранную пользователем дату, или приложение подтянуло в себя эти данные для обработки.
Часто коллеги и братья по цеху сталкиваются с подобными задачами и советуются как лучше их решить.
В этой статье я хочу поделиться опытом как решались различные ситуации подобного типа.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 3K
Comments 3

BI в Одноклассниках: сбор данных и их доставка до DWH

VK corporate blog Одноклассники corporate blog
В прошлый раз (http://habrahabr.ru/company/odnoklassniki/blog/149391/) мы говорили о системе графиков и дешбордов, которые используем для мониторинга сайта и активности пользователей. Нам приходится логировать более двух триллионов (2 000 000 000 000) событий в день. В этом посте мы расскажем, как мы собираем эти данные, обрабатываем и загружаем в хранилище.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 13K
Comments 0

Универсальный Солдат: Groovy Transformer в DataStage

SQL *
Возможности ETL средства IBM DataStage покрывают достаточно широкий спектр требований, которые возникают в задачах по интеграции данных, но, рано или поздно, возникает потребность расширить функциональные возможности, внедряя Parallel Routines на языке С или создавая Java классы, которые, в дальнейшем используются в Java Transformer или Java Client. Довольно ограниченные возможности же встроенного языка Basic давно устарели и не могут расцениваться как серьезное подспорье (так, например, невозможно использовать XML структуры, или, другой пример — попробуйте написать хеширование MD5 при помощи Basic. Это возможно, но займет значительное время на разработку и отладку).
Как бы там ни было, хотелось бы иметь достаточно гибкое средство, позволяющее работать с потоком данных, не требующее перекомпиляции своих исходных кодов и которое можно было бы использовать в редакторе DataStage Client. Моим коллегой и близким другом было предложено разработать Groovy Transformer. О нем и пойдет речь в данной заметке.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 5.1K
Comments 0

ETL-процесс с использованием веб-сервисов в Integration Services 2012

Data Mining *Microsoft SQL Server *Big Data *
Tutorial

Запасаем впрок


Иногда в процессе работы бывают нужны данные из веб-сервисов, тем более SOAP соединения сегодня практически стандарт.

ETL-процесс (Extract — Transform — Load) это термин из Business Intelligence и описывает процесс сбора и трансформации данных для создания аналитической базы данных (например хранилища данных).

SOAP протокол обмена данных и веб-сервисы описываемые WSDL — распространенные окна в мир практически всех ERP систем, многих онлайн порталов и финансовых организаций.

Попробую описать пошагово ETL процесс с помощью одного из мощнейших инструментов в классе — MS Integration Services.

Итак, рассмотрим тестовую задачу.

Задача



Необходимо собрать данные о курсах валют по отношению к рублю на каждую дату прошлого года и загрузить их в таблицу для последующего анализа. Центробанк России предоставляет историчекие данные — в виде веб сервисов с неплохим описанием.
Похоже это и есть решение.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 16K
Comments 3

Как передать зашифрованные параметры в DataStage

SQL *Big Data *
Не секрет, что зашифрованные параметры (т.е. имеющие тип Encrypted), используемые в IBM DataStage в версиях до 8.7 очень легко расшифровать. Эти зашифрованные параметры часто используются для передачи паролей, необходимых для соединения с базами данных.
При постороении корпоративных ODS (а в некоторых случаях даже и в случае хранилищ данных) имеет смысл создавать универсальные джобы — так называемые генерики, которые полностью конфигурируются извне и не содержат специфичной для каждой таблицы информации, а поэтому их можно использовать для многих ETL процессов. Особенно это необходимо при извлечении данных из баз данных источников (Extraction). В таком случае необходимо хранить в файлах конфигураии пароли для каждого источника данных. И вам приходится, прогибаясь под политики безопасности различных предприятий, делать вид, что это надежный алгоритм шифрования и хранить пароли к корпоративным данным в зашифрованном DataStage виде.
Но проблемы возникают, если вы захотите передать такие параметры в джоб. Какие проблемы и как их решать я и напишу в этой статье.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 2.5K
Comments 0

Основные функции ETL-систем

Website development *System Analysis and Design *
Sandbox
ETL – аббревиатура от Extract, Transform, Load. Это системы корпоративного класса, которые применяются, чтобы привести к одним справочникам и загрузить в DWH и EPM данные из нескольких разных учетных систем.

Вероятно, большинству интересующихся хорошо знакомы принципы работы ETL, но как таковой статьи, описывающей концепцию ETL без привязки к конкретному продукту, на я Хабре не нашел. Это и послужило поводом написать отдельный текст.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 204K
Comments 5

Проект Dual ETL или как мы строили Disaster Recovery для Greenplum

TINKOFF corporate blog SQL *Big Data *
В этой статье я хочу рассказать про ещё один этап развития DWH в Тинькофф Банке.

Ни для кого не секрет, что требования к наличию Disaster Recovery (далее DR) в современных бизнес информационных системах относятся к категории «must have». Так, чуть более года назад, команде, занимающейся развитием DWH в банке, была поставлена задача реализовать DR для DWH, на котором построены как offline, так и online процессы банка.



Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 12K
Comments 9

Что такое Business Intelligence

Navicon corporate blog System Analysis and Design *Data Mining *Big Data *
Существует огромное количество терминов: аналитика, data mining, анализ данных, business intelligence и разница между ними не всегда столь очевидна даже для людей, которые с этим связаны. Сегодня мы расскажем о том, что же такое Business Intelligence (BI) доступным и понятным языком. Тема безусловна огромна и её не покрыть лишь одной короткой статьей, но наша задача — помочь сделать первый шаг и заинтересовать читателя темой. Заинтересованный же читатель также найдет исчерпывающий список для дальнейших шагов.

Структура статьи
  1. Зачем всё это нужно: из жизни аналитика
  2. В чем задача: проблема на уровне компании
  3. Обобщаем задачу: всё это звенья одной цепи
  4. Большая инфографика
  5. С чем можно поэкспериментировать
  6. Что почитать? Must read по Business Intelligence


Зачем всё это нужно: из жизни аналитика

(кликабельно)
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 103K
Comments 8

Data Lake – от теории к практике. Сказ про то, как мы строим ETL на Hadoop

TINKOFF corporate blog SQL *Big Data *Hadoop *
В этой статье я хочу рассказать про следующий этап развития DWH в Тинькофф Банке и о переходе от парадигмы классического DWH к парадигме Data Lake.

Свой рассказ я хочу начать с такой вот веселой картинки:



Да, ещё несколько лет назад картинка была актуальной. Но сейчас, с развитием технологий, входящих в эко-систему Hadoop и развитием ETL платформ правомерно утверждать то, что ETL на Hadoop не просто существует но и то, что ETL на Hadoop ждет большое будущее. Далее в статье расскажу про то, как мы строим ETL на Hadoop в Тинькофф Банке.
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Views 74K
Comments 39

Impact анализ на примере инфраструктуры корпоративного хранилища данных

TINKOFF corporate blog System Analysis and Design *SQL *Data visualization
В этой статье я хочу рассказать, как можно решать задачу impact анализа или анализа влияния в сложной, многоуровневой инфраструктуре корпоративного хранилища данных на примере нашего DWH в Тинькофф Банке.



Работая с DWH все наверняка задавались хоть раз вопросами:
  • «Что будет, если поменять поле в таблице?»
  • «На каких ETL процессах это скажется?»
  • «Какие отчеты будут затронуты?»
  • «Какие бизнес процессы могут пострадать?»

Ответить на этот вопрос как правило непросто, т.к. нужно просмотреть дюжину ETL процессов, потом залезть в BI инструмент, найти нужные отчеты, что-то держать в голове, помнить о том, что что-то там строится ручным кодом и всё это выливается в большую головную боль.
Даже самое порой безобидное изменение может сказаться, например, на отчете, который каждое утро приходит на почту к председателю правления банка. Немного утрирую, конечно:)

Далее в статье я расскажу, как и с помощью чего можно уменьшить головную боль и быстро проводить impact-анализ в инфраструктуре DWH.

Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 12K
Comments 16

7 ошибок ETL-разработчика

Oracle *SQL *
Проекты хранилищ данных уже давно являются частью IT-инфраструктуры большинства крупных предприятий. Процессы ETL являются частью этих проектов, однако разработчики иногда совершают одни и те же ошибки при проектировании и сопровождении этих процессов. Некоторые из этих ошибок описаны в этом посте.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 54K
Comments 3

Строим надёжный процессинг данных — лямбда архитектура внутри Google BigQuery

SQL *Data Mining *Big Data *
В этой статье хочу поделиться способом, который позволил нам прекратить хаос с процессингом данных. Раньше я считал этот хаос и последующий ре-процессинг неизбежным, а теперь мы забыли что это такое. Привожу пример реализации на BiqQuery, но трюк довольно универсальный.

У нас вполне стандартный процесс работы с данными. Исходные данные в максимально сыром виде регулярно подгружаются в единое хранилище, в нашем случае в BigQuery. Из одних источников (наш собственный продакшн) данные приходят каждый час, из других (обычно сторонние источники) данные идут ежедневно.

В последствии данные обрабатываются до состояния пригодного к употреблению разнообразными пользователями. Это могут быть внутренние дашборды; отчёты партнёрам; результаты, которые идут в продакшн и влияют на поведение продукта. Эти операции могут быть довольно сложными и включать несколько источников данных. Но по большей части мы с этим справляется внутри BigQuery с помощью SQL+UDF. Результаты сохраняются в отдельные таблицы там же.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 20K
Comments 2

SQL Server Integration Services (SSIS) для начинающих – часть 1

SQL *Microsoft SQL Server *
Tutorial

Часть 2
Часть 3

SSIS – это инструмент, который позволяет в удобном виде реализовать интеграцию, т.е. реализовать процесс переноса данных из одного источника в другой. Этот процесс иногда называют ETL (от англ. Extract, Transform, Load – дословно «извлечение, преобразование, загрузка»).

Думаю, данный практический курс будет полезен тем, кто хочет изучить SSIS и не знает с чего начать. Здесь в режиме Step By Step мы начнем с самого начала, т.е. установки всего необходимого.

Дальше будет очень много картинок!
Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Views 137K
Comments 6

SQL Server Integration Services (SSIS) для начинающих – часть 2

SQL *Microsoft SQL Server *
Tutorial

Часть 1
Часть 3

В этой части изменим логику загрузки справочника Products:

  1. При помощи компонента «Union All» объединим два входящих потока в один;
  2. Для новых записей будем делать вставку, а для записей, которые уже были добавлены ранее будем делать обновление. Для разделения записей на добавляемые и обновляемые воспользуемся компонентом Lookup;
  3. Для обновления записей применим компонент «OLE DB Command».

В завершении этой части рассмотрим компонент Multicast для того чтобы распараллелить выходящий набор.

Итого в этой части мы познакомимся с четырьмя новыми компонентами: Union All, Lookup, OLE DB Command и Multicast.

Дальше так же будет очень много картинок.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Views 31K
Comments 9