Size: a a a

Инжиниринг Данных

2018 November 23
Инжиниринг Данных
#cloudmigration

Создание инфраструктуры в облаке или миграция в облако это уже не тренд, это факт. Как обычно выглядит миграция в облако? Мы создаем себе аккаунт, запускаем необходимые сервисы, настраиваем безопасность и доступ. Остается последний шаг, загрузить наши данные в облако. Мы можешь загружать терабайты данных без проблем. Но как быть с петабайтами? Например, загрузка 100 терабайт при скорости загрузки 1 Gbps, займет 100 дней.  

Специально для таких случаев у AWS есть 2 продукта. Когда в 2016 году re:Invest (главный AWS саммит) представили Snowmobile, я думал это шутка, а вот нет. Хотите в облако, к вам приезжает грузовик и вы загружаете данные, затем он их перевозит в дата центр Амазон. 1 грузовик вмещает до 100 петабайт данных и закачивать он будет несколько недель. А вот при скорости 1 Gbps, займет 20 лет. Это вам не фильмы с торрентов качать🤞 (кстати в Канаде тоже все не просто с торрентами, могут и штраф прислать).

Недавно, AWS выпустил еще один продукт Snowball – тоже физический носитель данных, но уже помещается в сумке.

А вот видео с грузовиком https://youtu.be/8vQmTZTq7nw
источник
Инжиниринг Данных
#thanksgiving #machinelearning Кстати 22 ноября в Америке день благодарения! Индюшкам аналитика не помогла, надесь вам поможет;)
источник
2018 November 24
Инжиниринг Данных
#bebetter

Увидел интересную статья: 13 вещей, от которых нужно отказаться, чтобы быть успешным.

Вспомнил случай в 2010 году. Я как раз ушел с ГКНПЦ им Хруничева в Cetelem (BNP Paribas), и думал о необходимости Аспирантуры (не только как вариант откосить, но и как дополнительный фундамент для иммиграции или успешной карьеры). Часто в linkedin я встречал приписку Phd, рядом с PMP и тп.  Так как я был на факультете машиностроения, то я пришел на факультет информационных технологий и узнал о возможности учиться у них. На вопрос зачем мне это нужно? Я ответил, хочу быть успешней. Декан посмотрел на меня и сказал, что я и так успешный, работаю в банке:/, во-вторых, чтобы учиться у них в аспирантуре, я должен быть фул тайм на кафедре. Причем не для того, чтобы учиться или делать проектную работу, а больше, чтобы быть на подхвате, заменять печатную машинку и тп. На нет и суда нет, я попробовал пойти в Аспирантуру у себя на факультете, но понял, что совершенно никакой пользы нет, и моя Аспирантура никак не помогает мне, да и не поможет в будущем.  

Если вы хотите поступать в Аспирантуру, то это будет вам полезно только в том случае, если вы хотите быть ученым, преподавать в университете и возможно уехать за границу в качестве преподавателя и ученого, и продолжать образование там. У меня есть знакомый, кто прошел такой путь, он профессор в Канадском университете, работает с грантами Intel. Я ему задавал свой любимы вопрос о доходе, и работая в Амазон обычным data engineer я зарабатываю в 1,5 раза больше. Я ни в коем случае не говорю, что аспирантура — это плохо, просто вероятность успешного применения ее и ее монетизации очень мала (это мое мнение, у вас может быть противоположное).

В люблм случае, мне очень нравиться находится в стенах учебного заведения и здесь в у нас есть 2 университета University of Victoria (там есть CS и Ecom) и Royal Roads University (MBA). Я пытаюсь у них преподавать аналитику и визуализацию данных, но очень пока все идем медленно. Еще я хочу преподавать в VIATEC – это наш куратор стартапов, для них я хочу рассказывать, как быстро правильно выбирать показатели, как избегать Vanity (от слова суета) показателей и какие инструменты использовать.  

Возвращаюсь к этой статье, кстати #1 Viral on Medium https://medium.com/@zdravko/13-things-you-need-to-give-up-if-you-want-to-be-successful-44b5b9b06a26
источник
Инжиниринг Данных
С 1958 года, когда сотрудник IBM написал статью о потенциале использования Business Intellignece с помощью технологий, мы не достигли значительных результатов в извлечении Actionable Business Insights. Я уверен, у всех таких дашбордов много, а пользы они приносят мало.
источник
2018 November 26
Инжиниринг Данных
#dataengineering  Нашел интересный тул (open source), который позволяет создавать и управлять моделями данных через CLI (командная строка). Все трансформации описываются в SQL. Если у вас есть опыт в SQL и у вас хаус в данных и вам нужно организовать их, попробуйте https://www.getdbt.com/ Даже если не подойдет, будет возможность узнать новый инструмент и подход.
источник
2018 November 27
Инжиниринг Данных
#dashboard
Всем знакомо понятие dashboard (дашборд), по сути это просто report (отчет), для меня это одно и тоже.

Обычно, когда мы работаем с даннынми, результатом будет отчет. Это как вершина айсберга. Так же как и Business Intelligence, это тоже вершина айсберга, где есть DW (хранилище данных или аналитическая база данных), ETL/ELT (потоки данных и их трансформация) , Source Systems (системы источник API, SFTP, OLTP).

Существует много ресурсов о том, как построить дашборд, и как его не нужно строить. Tableau проводила интерсное исследование, показывали людям dashboard, и отслеживали движение глаз.

Оказалось, что в большинстве, людя смотрят на отчет, так же как и на страница в интернете, начиная с верхнего левого угла. Отсюда простой вывод, в верхнем левом углу должна быть самая важная информация. А вот и ссылка про это исследование и его результаты https://youtu.be/Q0AsKfSQJaY
источник
Инжиниринг Данных
#dataengineering #businessintelligence
В выходные я написал blogpost о взаимоотношении BI и ETL, то есть необходимо подружить загрузку данных и обновления отчетов, звучит банально, но используется редко, если у вас инструменты разных вендоров. В качестве примеров Tableau и Matillion ETL. На их месте может быть кто угодно.
https://rockyourdata.cloud/best-practices-matillion-etl-and-tableau/?utm_source=telegram
источник
2018 November 28
Инжиниринг Данных
#startupanalytcs Часть 1

Очень много материалов как нужно строить аналитику стартапов или бизнеса на ранней стадии развития. Мне нравятся подходы, которые там используются, многие из них можно применять в работе, часто они просты и понятны.

Зачем нужна аналитика? Аналитика необходима для принятия стратегических и тактических решений. Любая бизнес должен зарабатывать деньги. Для того, чтобы этот процесс контролировать и принимать решения, нужны данные. В зависимости от сферы бизнеса и размера, существуют разные варианты развития событий. Самая главная задача, это начать собирать данные, желательно правильные данные.

Есть рекомендации, что делать в зависимости от стадии развития бизнеса (стартапа?) и какой типа инструментов использовать. Данные примеры про онлайн бизнес. Материал на основе собственного опыта

1️⃣ (1-10 сотрудников): Вы только начали. Как правило на этой стадии ресурсы ограничены. Данные нам необходимы. Очень важно решить, что мы собираемся измерять. Нам нужно быстро получить обратную связь и вносить изменения в продукт.

🧰Инструменты: Google Analytics или Yandex Metrica отлично подойдут для веб сайта. Если у вас приложение, то можно использовать Google, Mixpanel, Adjust и другие вещи, которые уже имеют набор необходимых метрик. В качестве BI подойдут Google Spreadsheets или Google Data Studio. Мой любимый Klipfolio.

❌Чего не делать: не покупайте дорогие тулы для DWH/ETL/BI. Данные и бизнес требования меняются.

2️⃣(10-20 сотрудников): Команда растет, и людям необходимы данные, для принятия решений и развития бизнеса. Вы нанимаете человека заниматься маркетингом. Необходимы отслеживать все рекламные кампании и мониторить косты. Может появиться отдел продаж (Sales), который будет работать с клиентами, самое время для CRM системы, где отслеживаются все взаимодействие с клиентами. Также могут быть люди для поддержки клиентов (Customer Service). На этой фазе нам необходимы выбрать показатели, которые будут измерять эффективность каждого направления бизнеса. Лучше обойтись без выгрузок в MS Excel (=много рутинной ручной работы). Возможно вам понадобиться скрещивать данные (Sales<->Marketing), это можно сделать в BI интсрументе. На этой стадии также необходимо проводить опросы (survey) клиентов и собирать данные, подойдет Survey Monkey и аналоги.

🧰Инструменты: Все еще GA или YM для траффика, CRM. Данные уже живут в разных системах и у нас несколько вариантов 1)создать единое хранилища данных, куда мы будем загружать данные и дальше строить отчетность 2)использовать BI инструмент, который позволяет строить отчеты используя подключения к нескольким системам.

❌Чего не делать: на данной фазе, обычно компании обходятся без BI разработчика и аналитика, поэтому еще рано инвестировать в дорогие решения аналитики. Главное тратить время на анализ данных, а не на их трансформацию и загрузку в хранилище.
источник
Инжиниринг Данных
#startupanalytcs Часть 2

3️⃣ (20-50 сотрудников): обычно данный этап наступает после 2х лет тяжелой работы. Также у вас появляются инвесторы и появляются дополнительные деньги на развитие. Сейчас самое время, использовать качественные решения для аналитики и создания решения DW/ETL/BI и нанять на работу профессионала в этой области.

🧰Инструменты: Облачные решения идеальный вариант (Snowflake, Redshift, Big Query, Azure Cloud, Tableau, Power BI, Looker и тп). Облако дает нам несколько преимуществ: скорость развертывания, гибкая цена, мы платим только за то, что используем и простота масштабирования. Вам необходимо нанять человека или консультанта, который сможет быстро создать такое решение.

❌Чего не делать: еще рано использовать Machine Learning (если это не основа вашего продукта), не тратьте время на скрипты для ETL, используйте готовые решения (Pentaho DI, Talend, Azure Data Factory, AWS Glue и тп). Не используйте Enterprise BI (SAP BO, MicroStrategy, IBM, Oracle) они дорогие и не гибкие. Не используйте open source базы данных Postgres/MySQL, они плохо масштабируются и не подходят в качестве аналитической БД.

4️⃣(50-150): Эта фаза считается самой сложной. У вас все еще не очень большая команда и недостаточно ресурсов. Но есть потребность у бизнеса в качественной аналитике. На данном этапе аналитика должна помогать управлять бизнесом и добавлять ценность как никогда ранее. Необходимо задуматься о создании модели данных, чтобы лучше трансформировать бизнес логику в данные. Модель нужна, чтобы синхронизировать бизнес пользователей и создать так называемый Single Point of Truth (единую точку правды), иначе каждый департаменты будем иметь свою прибыль. Необходимо развивать свою команду аналитики и расширять штат, основные скилы это SQL, BI, ETL. Также вы начинает использовать статистику и data mining, например для бюджетирования или строите модель оттока. Ну и, конечно, стоит пересмотреть подход с атрибуцией.


🧰Инструменты: DBT, Erwin, Mysql Workbench, все они позволяет рисовать модель данных, она должна отражать бизнес-процессы и все необходимые показатели. Необходимо использовать версионность (Git, SVN). Возможно стоит подумать и переходе на GA Premium или использовать любую другую система аналитики, в которой нет ограничений и которые не забирает ваши данные. Например, Snowplow, Tealium. Стоит добавить в арсенал Jupyter Notebook или Rstudio.

❌Чего не делать: вы все еще может обойтись относительно недорогими решениями или open source, нет смысла «стрелять из пушки по воробьям». Big Data решения (Hadoop, Spark, Data Lake, Real time streaming) пока еще подождут.

5️⃣ (150-500 сотрудников): на данном этапе мы должны создавать аналитическое решение, которое может быть легко масштабируемо. Обычно на 150 сотрудников, BI команда состоит из 3-6 человек, при 500 сотрудниках, команда вырастает до 30 человек. Очень важно управлять ростом, иначе производительность команды при ее росте будет падать (я прошел через такой рост, и наблюдал это). Необходимо задуматься о качестве данных (QA), о управление данными и их безопасности. Например, работая в lamoda, все имели доступ к клиентской базе (3млн+ клиентов) и этот доступ никак не отслеживался. Для повышения надежности решения аналитики, необходимо делать ревью всех изменений (BI, DW, ETL). Очень важно наладить процесс документации и тренингов, и процесс передачи знаний. Никто из команды не должен быть узким местом. Так же у вас есть выбор в метода организации аналитики. Например, может быть отдельная BI команда, а могут быть распределенные ресурсы, которые обслуживают свою команду (BI Champions)

🧰Инструменту: Аналитическое хранилище данных (Redshift, Big Query, Azure, Snowflake), надежное решение ETL, BI (Tableau, Looker), решения Big Data (Hadoop, Spark), решения Machine Learning. В принципе можно посмотреть Gartner или Forrestert и использовать решения лидеры.


❌Чего не делать: никаких поблажек, аналитика на данном уровне занятие не простое и требует хороших скилов и опыта. Необходимо четко следовать правилам (QA, code review, data governance, documentation и тп)
источник
Инжиниринг Данных
PS Каждый случай уникален, и все зависит от компетенций основателя. Например, если я что-то делаю, то уже на первом этапе я использую DW(Azure SQL Server free) /ETL (Pentaho DI - free) /Tableau Desktop or Klipfolio (free), потому что мне это легче и быстрей. Но в целом в статье, отслеживается модель развития BI (maturity model). Если есть вопросы, пишите.
источник
2018 November 29
Инжиниринг Данных
#проактивность

Чудес не бывает, и если вы хотите достичь успеха в работа или в бизнесе, нам необходимо быть проактивными. Если я посмотрю на свой опыт и вещи, которые у меня получились, включая работу в Амазоне, написанные книжки и другие большие и маленькие личные победы, то везде я увижу след проактивных действий.

Например, вы устроились на новую работу, не надо ждать пока к вам придут и скажут, что делать. Возьмите «ноги в руки» и вперед. Допустим в роли аналитика или разработчика, я ходил к бизнес пользователям, общался с ними, спрашивал, что у них не получается, помогал им осваивать BI инструменты.  Это не входило в мои обязанности, но я понимал, что нельзя просто сидеть и ждать.

Другой пример, когда вы работаете, у вас появляются идеи, они могут быть про работу или про что-то другое, эти идеи полезны, и могут вам помочь, но вы откладываете их на потом, и в результате вы их так и не пробуете. Я всегда стараюсь пользоваться моментом, чтобы воплотить в жизнь идею, быть проактивным, даже если это идет в разрез с моими планами и будет тормозить меня, по опыту я получаю больше хорошего, чем плохого.  Так было и с каналом, мелькнула идея, и я не стал откладывать, просто взял и сделал. Так же я никогда не откладываю на потом, что можно сделать сейчас.

Еще один пример проактивности, я работал в Терадата, и был одним из BI консультантов. Условия у всех одинаковые. Я решил быть проактивными и сделал следующие 2 вещи:

🔨Создал тренинги по SAP BusinessObjects и поучил коллег (хотя я раньше никогда такого не делал), после этого я создал slideshare и так на меня вышли издатели книг. И заодно сходил в SAP и пособеседовался.

📝Я написал всем партнерам Терадата в Штаты (Oracle, Microstrategy, IBM, Microsoft,SAS и впервые увидел про Табло, их еще не было в РФ), я всем написал одно и тоже: «Привет, мы тут крутые BI проекты делаем и продаем Teradata + <вставить BI продукт>, мы хотим узнать больше о вашем продукт, приезжайте к нам в Москву и проведите тренинг для нас». Ответили почти все.  Как результат:
1️⃣к нам приехали из Польши и сделали тренинг про MicroStrategy. Позже, используя этот опыт, я собеседовался в Microstrategy, и даже 6 месяцев работал в Канаде Microstrategy Developer и написал книгу Mastering Business Intelligence with Microstrategy 10 + сдал экзамен на сертфикицаю. Все благодаря проактивности.
2️⃣Мы сходил в офис Oracle и нам провели тренинг, я там заодно пособеседовался:)
3️⃣SAS сказал, что у нас есть бюджет на 2к$ в Москве. Опять, используя проактивность, я сходил на тренинги по SAS BI и сдал экзамен на сертификат и все бесплатно. Даже пособеседовался:) Но как обычно зп выше рынка сложно получить. И больше никто не захотел идти.
4️⃣Благодаря Tableau я узнал про этот продукт и стал его изучать, и вообще уже собрался в Австралию, так как у них была там вакансия, но меня конечно там ждали))

Как вы видите, когда мы проявляем проактивность, это дает нам преимущество, так как многие будут просто лениться делать, что-то лишнее. Повышение я не получил, как и прибавку к зарплате, зато обрел много ценных контактов и расширил кругозор.  

Теперь нужно быть проактивным и успеть: сдать эказмен по Tableau, получить сертификать AWS Solution Architect Assosiate, Snowflake Assosiate, разобраться как работает Spark+EMR (Hadoop), и подтянуть Machine learning. В идеале нужно заниматься чем-то одним, но никогда не знаешь, что выстрелит, поэтому я всегда делаю все возможные варианты, так и живем😜
источник
Инжиниринг Данных
#ml

Вчера я посетил ML meetup в компании xMatters, и там в презентации была интересная ссылка на статью How to make a racist AI without really trying. Статья о bias или о том, что можно быстро сделать модель, и получить хорошую точность, но это будет совершенно не правильный результат. http://blog.conceptnet.io/posts/2017/how-to-make-a-racist-ai-without-really-trying/

Кстати вы можете повторить опыт, вся информация в статье.
источник
2018 November 30
Инжиниринг Данных
#python
Питон один из самых популярных языков для задач инжиниринга данных. В нем есть основые типы данных int, float, string. Когда мы работаем с данными для аналитики, часто мы работаем с суммами денег. И вот интересный пример, как python будет работать с деньгами.

Попробуйте следующую команду:

x=.1+.1+.1-.3
print(x)

Мы ожидаем получить 0, но получим 5.551115123125783e-17 (почти 0)
источник
Инжиниринг Данных
А вот пример из жизни, кассовый апарат при работе с float типом данных. Решение - использование from decimal import * a=Decimal('.10')...
источник
2018 December 01
Инжиниринг Данных
#dataengineering Пример современной Big Data архитектуры с использованием решений AWS. Ключевой элемент здесь serverless ETL - AWS Glue, который управляет потоками данных, забирая их из источника, складируя в озеро данных S3, при это делает очень важную вещь - собирает метаданные и создает схему данных. Без этого шага, ваше озеро данных=помойка данных. Так же AWS Glue использует Spark для работы с данными или EMR (Hadoop) для вычислительной мощности. Результат отправляется в Redshift для BI или используется для ML. Такую архитектуро можно воспроизвести +/- 1 в 1 в Google/Azure.
источник
2018 December 02
Инжиниринг Данных
#cloudanalytics решения

Все мы знаем, как увеличивается объем данных. Согласно данным AWS, каждые 5 лет объем данных увеличивается в 10 раз. Когда мы используем традиционных решения для аналитики, то есть мы покупаем физические сервера и используем их для нужд аналитики и бизнеса, нам необходимо платить за избыточную производительность серверов. То есть, сейчас нам нужно решение для хранения и обработки 10 терабайт, но мы инвестируем в железо минимум на 5 лет, то нам нужно решение, которое может работать со 100 терабайтам. При этом, фактически мы будем изначально использовать 10% мощности, а платить за 100%. Отсюда популярность и эффективность облачных технологий, мы платим, за то что используем и легко масштабируется.

Другое преимущество, что облачные решения предлагают нам решения для всех нужд аналитики, например BI, DW, ETL, BigData, ML и тп. Все эти решения работают вместе и могут использовать единый источник данных – озеро данных (Data Lake).  

Несмотря на то, что доступен целый зоопарк решений в том же AWS, мы можем решить одну и тужу задачу десятком способов. Другое преимущество облако, что существует marketplace, на котором доступны партнерские решения.
источник
Инжиниринг Данных
экосистема аналитических решений AWS
источник
2018 December 04
Инжиниринг Данных
#скилы

Что учить в 2019? Согласно статье HBR “Prioritize Which Data Skills Your Company Needs”, то есть какие скилы будут полезны для вашего работадателя или клиента. У них получился интересная матрица 2 на 2, в которой показали, что учить, что не учить, что полезно, что бесполезно. Мне кажется, что данную матрицу делали на основе запросов в гугле по ключевым словам, и она очень оторвана от реальной жизни. https://hbr.org/2018/10/prioritize-which-data-skills-your-company-needs-with-this-2x2-matrix
источник
Инжиниринг Данных
вот она матрица скилов
источник
Инжиниринг Данных
А вот как над ней надругались знающие люди
источник