Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Использование Python как ETL-инструмента / 23 сообщений из 23, страница 1 из 1
13.12.2019, 07:26
    #39902275
Master_Detail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Доброго дня!

Собственно, хотелось бы получить какие-то отклики от тех, кто использовал питон как промышленное ETL-решение. Есть некоторый опыт в решении небольших прикладных задач на питоне, но не более того.

Если исходить из классического подхода в реляционных DWH, где есть звезда(снежинка), есть какой нибудь Informatica Power Center(ODI, IBM DataStage, Pentaho и т.п.), то насколько реально сделать большое хранилище только на питоне без использования указанных инструментов?

Как оно все поддерживается, как с производительностью при загрузке 10M+ фактов ежедневно, где оно все крутится, что выступает в роли шедуллера? Интересно все, а особенно реальный опыт.

Спасибо.
...
Рейтинг: 0 / 0
13.12.2019, 08:48
    #39902288
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Master_Detail,

На Питоне, хранилище не делают. На питоне делают ETL.

Несколько мне известно в АВИТО сделано крупное хранилище на Вертике. И ETL на питоне.

И там не звезда или снежинка, а якорная модель.

Еще знаю в profi.ru использовали Python + Vertica

Есть framework airflow.
...
Рейтинг: 0 / 0
13.12.2019, 09:50
    #39902323
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Master_Detail,

Airflow интеерсный тул - идея мне нравится.
я его пытался чуть щупать
развивается - чат в телеграме есть
...
Рейтинг: 0 / 0
13.12.2019, 09:50
    #39902324
George Nordic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Думаю, стоит принять во внимание, что это, скорее, не заслуга Python'a, а отсутствие нормальных ПОНЯТНЫХ бесплатных ETL-инструментов. Кто-то и на C++ пишет.

С Уважением,
Георгий
...
Рейтинг: 0 / 0
13.12.2019, 10:05
    #39902330
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
George NordicДумаю, стоит принять во внимание, что это, скорее, не заслуга Python'a, а отсутствие нормальных ПОНЯТНЫХ бесплатных ETL-инструментов. Кто-то и на C++ пишет.

Чушь. Есть нормальные ПОНЯТНЫЕ и бесплатные ETL-инструменты. А именно, Pentaho Data Integration и Talend Open Studio. Их бесплатные версии вполне пригодны для работы. Есть обширная документация и книги. Pentaho несколько проще для первоначального ознакомления (ИМХО), но есть смысл ознакомиться с обоими.
А если кто вместо ETL пытается использовать Python или состряпать что-то на C++, то это глупости следующих типов:
- использование программных средств не по назначению
- плохо программировать то, что уже запрограммировано хорошо.
...
Рейтинг: 0 / 0
13.12.2019, 13:05
    #39902479
Master_Detail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
a_voronin
Master_Detail,
На Питоне, хранилище не делают. На питоне делают ETL.

Не думаю, что стоит придираться к словам, когда вопрос ясен. Можете читать как "сделать ETL процессы для большого хранилища", коль угодно

Partisan M

А если кто вместо ETL пытается использовать Python или состряпать что-то на C++, то это глупости следующих типов:
- использование программных средств не по назначению
- плохо программировать то, что уже запрограммировано хорошо.


Но почему-то есть такое мнение, что Python для этих задач как раз подходит. Вот и хочу понять, на чем оно основано, если есть тот же самый пентахо
...
Рейтинг: 0 / 0
13.12.2019, 13:21
    #39902484
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
питон сейчас самое распространенное ETL в новых проектах. Большинство последних проектов у меня сделаны на Питоне.
Есть несколько опенсорсных питоновских ETL - Airflow, luigi, которые выполняют часть функций Informatica, типа оркестрации и мониторинга.
...
Рейтинг: 0 / 0
13.12.2019, 13:25
    #39902487
Master_Detail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Бумбараш
питон сейчас самое распространенное ETL в новых проектах. Большинство последних проектов у меня сделаны на Питоне.
Есть несколько опенсорсных питоновских ETL - Airflow, luigi, которые выполняют часть функций Informatica, типа оркестрации и мониторинга.

Вот, наконец на личном опыте, спасибо. Почему выбрали питон, почему не бесплатный ETL-инструмент?
...
Рейтинг: 0 / 0
13.12.2019, 14:29
    #39902547
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Airflow и luigi это и есть opensource ETL. Они написаны на python.

Если под opensource ETL вы имели Talend/Pentaho, то перед ними у питоновских есть такие плюсы:

1. Airflow и какой-нибудь Nifi(но он написан на java) входят в стандартный стэк Hadoop/Bigdata и развиваются вместе с этим стэком. Nifi, например поддерживается cloudera/Hortonworks.

2. У продуктов из apache project, типа Airflow, полностью доступен весь функционал этого проекта бесплатно. Talend/Pentaho работают по модели Open core. То есть базовый функционал бесплатно, а остальной платно. Причем этот остальной функционал может считаться базовым для ETL вообще какими-то пользователями. Например, мной, когда я пробовал делать проект на Talend. То, что там дается бесплатно, я счел недостаточным для полноценного full scale проекта.

3. Так как весь ETL проект на Airflow это код на питоне, поэтому им легче управлять и масштабировать. В Talend/PEntaho нужно рисовать картинки. Их сложнее масштабировать и автоматизировать. Например, если вам нужно сделать 100 одинаковых загрузок, размножить код на питоне гораздо проще, чем сделать сто гуёв.

4. По поводу производительности, все питоновские ETL работают по схеме ELT. То есть сначала все данные загружаются в базу какими-нибудь коннекторами Jdbc, db link, sqoop, etc. Дальнейшие перегрузки данных происходят в самой базе, питон просто извне дергает SQL скрипты по перегрузки. Через него данные не грузятся, поэтому проблем с обработкой объемов у него нет, они переложены на базу.
...
Рейтинг: 0 / 0
14.12.2019, 09:06
    #39902988
Юрий Кудрявцев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Добавил бы, что питоновский код можно положить в нормальную систему хранения версий, и автоматизировать деплоймент из нее, что, к сожалению, кроме как на демо-примерах, в "больших" ETL инструментах работает очень плохо.
Тот же Datastage (да и все они) в "коде" хранит и расположение иконок на канвасе, и "подвинул / покрасил" иконку это изменение :)
...
Рейтинг: 0 / 0
16.12.2019, 12:39
    #39903375
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Бумбараш,
СПС за ответы
а такой простой вопрос
AirFlow это ж под юникс - так ?

пару слов про это - скажем если стэк MS
если скажем я чисто виндовый (оч. давно имел дела с юниксом )
т.е для разработки нужна как мин. линкус. ВМ ?
...
Рейтинг: 0 / 0
16.12.2019, 12:57
    #39903388
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Гулин Федор,

https://habr.com/ru/post/462161/
...
Рейтинг: 0 / 0
16.12.2019, 13:17
    #39903404
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Гулин Федор,

у нас сейчас как раз база SQL Server, которая загружается через Airflow. Airflow стоит на Linux, как и остальные кафки-графаны. Также на линуксе большинство источников.

В телеге есть чат

t.me/ruairflow

в нем быстрее всего я думаю получить ответ на русском.
...
Рейтинг: 0 / 0
16.12.2019, 13:39
    #39903421
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Бумбараш,

И зачем нужна такая схема? Вы же на ровном месте поднимаете требования к найму сотрудников.
Это все равно, что на конвейер искать рабочих с высшим образованием, в то время как у соседей оно для рабочих не нужно.
...
Рейтинг: 0 / 0
16.12.2019, 14:04
    #39903451
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Бумбараш,
про чат в курсе - когда пытался смотреть airflow лазил туда
докернася вреся не прокатила у меня - я поднял ее но слишком много заморочке было именно с докером
мне чтобы поставить посмотреть - надо было ставить ВМ с линуксом и windows (это были заморочки секрутии) -
раз у вас SQL сервер
вопрос на какой (системе - винда или линкус) разрабатывает код питона для Airflow
т.е возможна разработка на винд. станции ?
...
Рейтинг: 0 / 0
16.12.2019, 14:11
    #39903462
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Критик
Бумбараш,

И зачем нужна такая схема? Вы же на ровном месте поднимаете требования к найму сотрудников.
Это все равно, что на конвейер искать рабочих с высшим образованием, в то время как у соседей оно для рабочих не нужно.


схема обычная, что в ней такого? Нужен был бесплатный ETL, выбрали этот. К тому же SQL server это не целевая база, он будет заменен на постгре.

Если вы считаете питон высшим образованием, это очень странно. Это самое распространенное средство сейчас для автоматизации ETL тасков. Его в школе учат, и абсолютно все учащиеся вузов работающие с датой. Он куда проще для автоматизации тасков, чем какой-нибудь korn или posix shell.
...
Рейтинг: 0 / 0
16.12.2019, 14:15
    #39903466
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Гулин Федор,

код можно писать и на винде, но работать он должен на линуксе в итоге.

Если у вас какие-то проблемы с линуксом, то можете другие ETL посмотреть. Всё таки airflow он linux-oriented.
...
Рейтинг: 0 / 0
16.12.2019, 20:57
    #39903711
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Бумбараш,

Просто схема странно выглядит, если не знать о предполагаемом отказе от mssql.
...
Рейтинг: 0 / 0
21.12.2019, 00:45
    #39906421
Sintetik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Partisan M

Чушь. Есть нормальные ПОНЯТНЫЕ и бесплатные ETL-инструменты. А именно, Pentaho Data Integration и Talend Open Studio.

понятные и бесплатные да, насчет нормальных большое преувеличение
нормальных два это datastage и informatica, вышеперечисленное с кучей проблем
...
Рейтинг: 0 / 0
21.12.2019, 00:50
    #39906422
Sintetik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Бумбараш
питон сейчас самое распространенное ETL в новых проектах. Большинство последних проектов у меня сделаны на Питоне.
Есть несколько опенсорсных питоновских ETL - Airflow, luigi, которые выполняют часть функций Informatica, типа оркестрации и мониторинга.

нужно уточнять - в проектах, где мало денег или жмутся на деньги
от слова "бесплатно" к сожалению у многих срывает башню, скоро наедятся
я уже вижу по западным запросам, как нормальный бизнес(тот который может зарабатывать деньги), все больше склоняется к облакам, за которыми стоят большие корпорации - AWS, Azure, Google bigquery, и соответственно к прилагаемым к ним инструментам, в том числе ETL, а самостоятельная возня с опенсорсными поделками остается энтузиастам, студентам или проектам без денег.
...
Рейтинг: 0 / 0
27.12.2019, 08:38
    #39908829
Master_Detail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Sintetik
Partisan M

Чушь. Есть нормальные ПОНЯТНЫЕ и бесплатные ETL-инструменты. А именно, Pentaho Data Integration и Talend Open Studio.

понятные и бесплатные да, насчет нормальных большое преувеличение
нормальных два это datastage и informatica, вышеперечисленное с кучей проблем


Расскажите пожалуйста про кучу проблем - какие примеры?

С Informatica плотно работаю, в IBM DataStage опыт совсем небольшой - правил с десяток процессов, Pentaho Data Integration - тоже без опыта разработки с нуля, а Talend Open Studio даже в глаза не видел
...
Рейтинг: 0 / 0
27.12.2019, 15:41
    #39909138
George Nordic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Partisan M
Чушь. Есть нормальные ПОНЯТНЫЕ и бесплатные ETL-инструменты. А именно, Pentaho Data Integration и Talend Open Studio.
Master_Detail
Pentaho Data Integration - тоже без опыта разработки с нуля, а Talend Open Studio даже в глаза не видел
За просто запустите поиск по этому форуму. И увидите и кучу нареканий, и множество вопросов без ответа. А где ответы на вопросы искать?? У ряда продуктов хоть комьюнити нормальное - DIS поддерживает Informatica, у Oracle вообще отлично комюнити. А вот если засада с другими продуктами - ЧТО МНЕ ДЕЛАТЬ?
...
Рейтинг: 0 / 0
27.12.2019, 16:54
    #39909186
Sintetik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Python как ETL-инструмента
Master_Detail
Sintetik
пропущено...

понятные и бесплатные да, насчет нормальных большое преувеличение
нормальных два это datastage и informatica, вышеперечисленное с кучей проблем


Расскажите пожалуйста про кучу проблем - какие примеры?

С Informatica плотно работаю, в IBM DataStage опыт совсем небольшой - правил с десяток процессов, Pentaho Data Integration - тоже без опыта разработки с нуля, а Talend Open Studio даже в глаза не видел


у меня несколько лет личного секса с талендом, 7 лет с datastage, с инфой поменьше.

много детских багов, вплоть до глючного интерфейса, в TOS вся суть в компонентах, а они скажем так не сильно вылизаны, но основная проблема это нестабильность любых решений, т.е. искать решения старше полугода нет смысла, все уже устарело, версии очень часто меняются, иногда баги вновь возвращаются. Ощущение очень зыбкой почвы под ногами. По сравнению с ним infa/ds мегастабильные.

Можно конечно заморозить версию в проекте, но тогда вообще нет шансов на исправления
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Использование Python как ETL-инструмента / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]