Обложка канала

Ivan Begtin

3903 @begtin

I am focused on Open Data, Procurement, e-Government, Open Government and other tech stuff

Ivan Begtin

4 года назад
Открыть в
О том как собирать и загружать данные, я хочу напомнить про один из важнейших проектов в этой области - Singer [1]. Singer - это open source стандарт по перемещению данных и работающий с командной строки. Основными концепциями в Singer являются tap (на русский язык можно перевести как вентиль) и target (по-русски это будет цель). Основная идея в том что процессы извлечения данных (extraction) и загрузки (load) являются довольно типовыми и укладываются стандартные файловые потоки. А то есть можно перенаправлять ввод вывод как между приложениями командной строки и получать результат. Пример вызова команд в Singer выглядят примерно так: tap-exchangeratesapi | target-csv Все цели и вентили пишутся на Python, всего их довольно много уже создано, а у проекта есть коммерческий интересант Stitch [2] которые и выложили его как открытый код. А сами Stitch предоставляют облачный сервис для работы с потоками данных. Но используют Singer не только Stitch, его используют многие другие коммерческие и open source решения. Например, Singer лежит в основе Meltano [3] и ещё ряда инструментов. Хотя вот в случае Airbyte, другого инструмент для ETL, его создатели пишут что у Singer много недостатков и поэтому они его не используют [4]. Конечное решение можно принять самостоятельно. Лично я вижу пока ключевым недостатком Singer - в разном качестве вентилей и уровне их поддержки. А также почти полным отсутствием российские сервисов - Яндекс.Метрики, к примеру. Впрочем не факт что эти недостатки затмевают возможности. Ссылки: [1] https://www.singer.io/ [2] https://www.stitchdata.com [3] https://hub.meltano.com/singer/taps/ [4] airbyte.com/blog/wh…f-singer #datatools #opensource #datapipelines
Singer | Open Source ETL

Simple, Composable, Open Source ETL

Singer