Ivan Begtin
8.07K subscribers
1.46K photos
3 videos
98 files
4.19K links
I write about Open Data, Data Engineering, Government, Privacy and Data Preservation and other gov and tech stuff
Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech

Contact @NMBabina for ads proposals
Download Telegram
Для тех кто хочет заниматься проектами на открытых данных за деньги Open Knowledge Foundation ищет серьёзного разработчика Senior Developer for a Desktop Application (React + Python + Electron) [1]. Я бы сказал что лет 10 назад я бы сам подался бы на такую вакансию, но я ни разу не JS разработчик и React меня скорее пугает (вернее все JS фреймворки это совсем не моё, синтаксис JS мне тяжело заходит), тем не менее если Вы не в России, ищите работу под частичную занятость, любите открытые данные и хотите поработать над реально нужными проектами, то это хорошая возможность. Потому что тут и открытый код, и открытые данные и полезная задача.

Ссылки:
[1] https://okfn.org/en/jobs/senior-developer/

#opendata #vacancies #opensource
В блоге Observable основатель, Mike Bostock пишет про Observable 2.0 который вот-вот вышел 15 февраля и в его основе теперь Observable Framework [2] являющийся генератором статических сайтов с визуализацией и с открытым кодом [3].

Выглядит всё это более чем интересно, фактически - это возможность делать общедоступные и корпоративные аналитические работы в виде гибких дашбордов и дата-историй. При этом всё проектируется в JS + Markdown, а итоговая визуализация может быть довольно продвинутая.

Интересен и сам факт того что автономный продукт с открытым кодом отделяется от облачного сервиса. Чаще всё происходит наоборот, вначале авторы создают крутой open source проект, а потом монетизируют сервис на его основе. А тут сервис есть с самого начала и он остаётся востребованным потому что даёт удобный инструмент для совместной работы.

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


Ссылки:
[1] https://observablehq.com/blog/observable-2-0
[2] https://observablehq.com/framework/
[3] https://github.com/observablehq/framework

#dataviz #opensource
Свежая картинка по продуктам с открытым кодом в области дата инженерии.

Подробнее о ней в блоге её автора на Substack [1].

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

Вот в этой картинке, например, нет SODA для data quality, в платформе метаданных зачем-то CKAN, хотя он про другое.

Я, кстати, несколько по другому систематизирую инструменты с открытым кодом. Когда-то просто стал делать закладки в Github по категориям [2] и там много их, больше 30 списков.

А заодно для тех кто интересуется разного рода экзотическим открытым кодом. Markdowndb [3] наглядная реализация принципов "всё таблица" и "всё SQL". Это фреймворк превращающий документы с разметкой Markdown в SQL базу данных к которой можно делать запросы к содержимому этих файлов с фильтрацией по тэгам, файлам и тд. Внутри используют Sqlite, в гайдах рассказывают как заменить статические файлы на эту базу в статических сайтах.

Ссылки:
[1] https://practicaldataengineering.substack.com/p/open-source-data-engineering-landscape
[2] https://github.com/ivbeg?tab=stars
[3] https://markdowndb.com

#opensource #data #dataengineering #datatools
В рубрике интересных проектов на данных OSS Insight [1] открытая аналитическая платформа по репозиториям в Github с аналитикой по каждому репозиторию, пользователям, языкам разработки и ещё много чему извлеченному из Github. Полезно для вылавливания новых продуктов и понимания их популярности и построения своих дашбордов по продуктам с открытым кодом.

Что интересно - так это всё является ничем иным как демкой работы облачного движка TiDB [2] в виде распределённой SQL базы данных. Причём демки достаточно живой, с демонстрацией конкретных SQL запросов построенных по этой базе, возможностью преобразовывать текст в SQL запросы и тд. В общем-то какое-то количество хайповых фич, но при этом и открытый продукт как демка коммерческого.

Это всё к вопросу о том, например, почему так полезны открытые данные в том числе. Потому что на их основе можно делать вот такие продукты.

Причём понятно почему выбраны данные именно Github'а. Потому что это открытая экосистема понятная всем разработчикам. Это к вопросу о создании его альтернатив, потому что настоящих альтернатив почти нет.

Ссылки:
[1] https://ossinsight.io
[2] https://www.pingcap.com/tidb-serverless/

#opensource #analytics #dataviz #github
Интересные open source проекты про данные и не только:
- pipelined query language [1] - Спецификация и реализация компилятора из языка PQL в диалекты SDQL. Идеологически вдохновлён Kusto Query Language [2] от Microsoft, выглядит любопытно, особенно если проект проживёт долго и будет применяться.
- FileQL [3] - очередная реализация принципа "всё SQL", обёртка для SQL запросов в отношении операций с файловой системой.
- Magika [4] - программный модуль для Python и утилита по определению типа файла на основе модели обученной с помощью ML. Обещают лучшую точность и всё такое. Фактически замена программы magic для аналогичных целей в Unix/Linux.
- Gatus [5] продвинутый монитор доступности и статуса серверов/сервисов, ориентирован на разработчиков, управляется через YAML файлы конфигурации
- SSH3 [6] эволюция протокола SSH2 для дистанционного подключения к терминалам на удалённых серверах. Обещают большую производительность и большую безопасность. Может быть полезно для проксирования трафика тем кому это нужно.

Ссылки:
[1] https://github.com/runreveal/pql
[2] https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/
[3] https://github.com/AmrDeveloper/FileQL
[4] https://github.com/google/magika
[5] https://github.com/google/magika
[6] https://github.com/francoismichel/ssh3

#opensource #datatools
К вопросу о современных дата продуктах, один из способов работы с данными сейчас - это комбинация DuckDB и Polars. Например, DuckDB так стремительно набирает популярность что я не удивлюсь что скоро данные начнут распространять и публиковать как базы DuckDB, примерно как много лет назад публиковали DBF файлы и файлы MS Access [1] и также как иногда сейчас публикуют sqlite файлы [2].

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


P.S. Картинка из блога Christophe Blefari

Ссылки:
[1] https://catalog.data.gov/dataset/municipal-fiscal-indicators-2014-2018-ms-access-database
[2] https://catalog.data.gov/dataset/x-ray-properties-database-in-sqlite-format

#opensource #datatools
This media is not supported in your browser
VIEW IN TELEGRAM
В рубрике интересных проектов с открытым кодом Latino [1], язык программирования на испанском языке. Да, примерно как в СССР были языки программирования с ключевыми словами на русском, так же и тут, но в основе испанский.

Язык появился в 2015 году, он вполне работоспособен, хотя и, наверняка, не так продвинут как более общеупотребительные языки разработки.

По синтаксису что-то среднее между Python и Lua.

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

Ссылки:
[1] https://www.lenguajelatino.org/

#opensource #programming
Свежие и полезные инструменты с открытым кодом для загрузки и обработки данных:
- PyAirbyte [1] библиотека для Python от команды Airbyte для того чтобы перенести логику этого движка по сбору данных в Python. Поддерживает все коннекторы Airbyte ранее написанные на Python
- dlt [2] Data Load Tool, явно созвучное dbt, библиотека для Python для реализации принципа Extract-Load-Transform. Выглядит довольно целостно, стоит изучить внимательнее
- ingestr [3] утилита командной строки по переносу баз данных из одного источника в другой. Поддерживает основные SQL СУБД
- sling [4] инструмент для выгрузки/загрузки данных с большинства основных СУБД включая облачные, файловых систем и различных дата файлов. Реализован на Go, важное ограничение GPL 2 лицензия (для сравнения у dlt лицензия Apache 2, а у ingestr MIT).

И конечно остаются такие инструменты как Meltano, Dagster, CloudQuery и многие другие

Ссылки:
[1] https://airbyte.com/blog/announcing-pyairbyte
[2] https://dlthub.com
[3] https://github.com/bruin-data/ingestr
[4] https://github.com/slingdata-io/sling-cli

#opensource #dataengineering
В рубрике как это работает у них городская панель управления (city dashboard) города Тайбэя [1].

Распространяется как открытый код [2] под лицензией AGPL, используется городскими властями внутри и для публики доступно общедоступное demo.

А также к продукту есть обширная документация [3].

Городские дашборды в юго-восточной Азии не редкость, например, есть такой у Гонконга как часть портала открытых данных [4], но к нему не припомню открытого кода.

А вот в Ирландии есть целый проект Building City Dashboards [5] с разными дашбордами, научными работами и открытым кодом. Можно сказать что системный подход к вопросу.

Ссылки:
[1] https://citydashboard.taipei/dashboard-demo/dashboard?index=childcare
[2] https://github.com/tpe-doit/Taipei-City-Dashboard
[3] https://tuic.gov.taipei/documentation/front-end/introduction
[4] https://data.gov.hk/en/city-dashboard#city
[5] https://dashboards.maynoothuniversity.ie/

#dataviz #opensource #opendata #opengov #cities #roc
Те кто видел мою презентацию про Dateno могли обратить внимание что я упоминал там про семантические типы данных, о которых неоднократно тут писал и о которых всегда полезно напомнить.

Семантические типы данных - это характеристики колонок в таблицах/полей в JSON и тд. которые определяют их смысловое наполнение. То есть если тип поля: строка, число и тд. определяют способ хранения и тип данных, то семантический тип определяет смысл. Например, строка может быть идентификатором организации или UUID, или датой или кодом продукта. Для всего это я когда-то написал утилиту metacrafter [1] и библиотеку для Python, которая умеет сканировать файл или таблицу в СУБД и выдавать отчёт по семантическим типам привязывая их к единому реестру. Реестр довольно обширный [2] по самым разным направлениям, а сама утилита включает набор простых правил описываемых в YAML нотации.

Эти правила бывают, как очень простые, так и довольно сложные, с разной вероятностью ложных срабатываний, но, в целом, довольно точно работающие.

Собственно не секрет что основным источником выявления правил были порталы открытых данных UK, USA, России, Франции и многих других стран.

А теперь осталось добавить их в фильтрацию в наш поисковик по данным. Это не так просто как кажется, потому что правила есть пока только для некоторых стран/языков, потому что много ошибок в первичных данных, потому что данных много, но, несомненно очень интересно.

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

Ссылки:
[1] https://github.com/apicrafter/metacrafter
[2] https://registry.apicrafter.io/

#opendata #opensource #data #datatools
Казалось бы небольшая, но весьма интересная новость о том что проект chDB присоединяется к Clickhouse [1].

chDB [2] - это внедряемая OLAP база на движке Clickhouse, фактически прямой конкурент DuckDb и, как и DuckDb, замена Sqlite.

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

И вот chDB это такое же как DuckDb по логике, но движок Clickhouse может быть поинтереснее. В треде на ycombinator [3] есть интересные ссылки на эту тему, например, сравнение clickhouse-local и DuckDb [4] и clickhouse-local там был особенно крут на больших объёмах данных. Можно предположить что автор chDb переходит в clickhouse прокачать chDB также как сейчас прокачано DuckDb.

В общем и целом новость оптимистичная, больше embedded баз данных разных и полезных.

Ссылки:
[1] https://auxten.com/chdb-is-joining-clickhouse/
[2] https://www.chdb.io/
[3] https://news.ycombinator.com/item?id=37985005
[4] https://www.vantage.sh/blog/clickhouse-local-vs-duckdb

#data #opensource #databases #datatools
One Trillion Row Challenge - совершенно замечательный по задумке конкурс по работе с датасетом в триллион строк [1] для тех кто работает большими, очень большими и очень-очень большими (шутка) данными на обычном железе или во временно арендуемом облаке, а не на мейнфреймах. Конкурс в том чтобы подсчитать минимальную, среднюю и максимальную температуру по погодным станциям отсортированным по алфавиту. Данные хранятся в 100 тысячах Parquet файлах, по 10 миллионов строк в каждом, а заявки отправляются через открытие issue в репозитории конкурса [2].

Сам конкурс - это продолжение другого конкурса, One Billion Row Challenge [3], где данных было только 1 миллиард, и принимались решения только в виде Java кода.

Решения можно отправлять в дискуссиях на Github в репозитории [4].

Конкурс интересный тем что по многим продуктам не-неожиданно, но подтверждённо очень высокая производительность. Например, в Clickhouse SQL задача с 1 миллиардом строк решается за менее чем 7.5 секунд [5] и у них же 3 минуты на конкурс в 1 триллион строк [6] и пишут что за $0.56, это совсем мало если что.

А в оригинальном посте Dask в облаке Coiled отрабатывает за 8.5 минут или $3.26 в стоимости Amazon Cloud, что тоже очень мало.

Хороший бенчмарк, в ситуации интенсивной конкуренции между высокопроизводительными продуктами по обработке данных, он весьма полезен.

Ссылки:
[1] https://docs.coiled.io/blog/1trc.html
[2] https://github.com/coiled/1trc
[3] https://www.morling.dev/blog/one-billion-row-challenge/
[4] https://github.com/gunnarmorling/1brc/discussions
[5] https://github.com/gunnarmorling/1brc/discussions/80
[6] https://clickhouse.com/blog/clickhouse-1-trillion-row-challenge

#data #datasets #opensource #datatools
Регулярная подборка ссылок про данные, технологии и не только:
- Vector DB Comparison [1] большой обзор в виде таблицы со сравнением векторных баз данных. Список подробный, со ссылками на документацию и представленностью практических всех продуктов с открытым кодом.
- Pretzel Notebook [2] тетрадки для работы с данными с DuckDB внутри и языком PRQL
- Common Corpus [3] авторы утверждают что это крупнейший датасет public domain текстов на разных языках
- DuckDB snippets [4] подборка сниппетов для DuckDB по использованию в командной строке. Замена многих инструментов в том числе самописных
- Binjr [5] браузер для временных рядов, с инсталляцией локально под Windows, Linux или Mac. В демках про мониторинг серверов, но может и для чего-то ещё сгодится?

Ссылки:
[1] https://superlinked.com/vector-db-comparison/
[2] https://github.com/pretzelai/pretzelai
[3] https://huggingface.co/collections/PleIAs/common-corpus-65d46e3ea3980fdcd66a5613
[4] https://duckdbsnippets.com/page/1/most-popular
[5] https://binjr.eu/

#opensource #datatools #data
Redis, хорошо известный продукт для большинства разработчиков использующих NoSQL, меняет лицензию на SSPL и перестаёт быть проектом со свободным исходным кодом [1]. SSPL запрещает использование продукта облачными провайдерами, без раскрытия полного кода всего кода облака (интерфейса, бэкэнда, дизайна и тд).

Тем временем Linux Foundation создали Valkey [2], открытый код Redis'а. А другие команды переходят на KeyDB и другие альтернативы.

Ссылки:
[1] https://arstechnica.com/information-technology/2024/04/redis-license-change-and-forking-are-a-mess-that-everybody-can-feel-bad-about/
[2] https://www.linuxfoundation.org/press/linux-foundation-launches-open-source-valkey-community

#opensource #data #datatools
Я тут, внезапно, обнаружил что замечательный гайд Джошуа Тауберера по организации хакатонов [1] не переводился не то что на русский язык, но и на многие другие. Впрочем в том виде как он был написан ещё 10 лет назад его уже применять не стоит, очень многое перенеслось в онлайн и сами хакатоны стали уже другими, кроме них появилось немало других форм совместного кодирования/сбора данных/проведения конкурсов и многого другого.

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

Ссылки:
[1] https://hackathon.guide/

#opensource #hackathons #guide
Подборка полезных ссылок про данные, технологии и не только:
- drawdb [1] визуальное проектирование баз данных и SQL генератор на базе draw.io. Открытый код на JS, лицензия MIT. Выглядит очень даже неплохо
- quickwit [2] альтернатива Datadog и подобным сервисам, но с открытым кодом. Реализует поисковую систему для наблюдаемости процессов. Лицензия AGPL или коммерческая, для бизнеса. Выглядит как минимум интересно, очередной пример YAML программирования, огромного числа файлов для настройки.
- paradedb [3] альтернатива Elasticsearch на базе Postgres, обещают что внутри файлы parquet и многократно выше скорость аналитических запросов. Обещают облачный сервис, пока доступен open source продукт. Лицензия AGPL для всех и коммерческая для бизнеса.
- traefik [4] реверсный прокси для HTTP для развертывания микросервисов и API, похож на альтернативу Kong и Tyk. Открытый код под MIT лицензией

Ссылки:
[1] https://github.com/drawdb-io/drawdb
[2] https://github.com/quickwit-oss/quickwit
[3] https://github.com/paradedb/paradedb
[4] https://github.com/traefik/traefik

#opensource #data #datatools #api #dataviz
В рубрике как это работает у них ILOSTAT Bulk download facility [1] сервис массовой выгрузки данных статистического подразделения Международной организации труда (ILO).

Международная организация труда ведёт несколько баз статистики труда по всему миру и предоставляет их конечным пользователям в виде портала индикаторов [2], кроме того они предоставляют сервис Bulk download facility в котором предоставляют возможности по автоматической выгрузке всей их базы данных.

Кроме того ILO предоставляют библиотеку Rilostat на языке R [3] для автоматизированного доступа к этим данным.

Итого, в дополнение к базе и интерфейсу к индикаторам ILO предоставляют:
1) Возможность выгрузки всех данных массово
2) Доступ к сервису и данным через готовое API с открытым кодом (в виде библиотеки для R, в данном случае)

Ссылки:
[1] https://ilostat.ilo.org/data/bulk/
[2] https://ilostat.ilo.org/data/
[3] https://ilostat.github.io/Rilostat/

#opendata #opensource #statistics #ilo #data
Я уже писал об этом, но можно и напомнить о том как готовят сейчас наборы данных. У Open Knowledge Foundation есть в работе инструмент Open Data Editor [1]. Последний его релиз был в октябре 2023 года и сейчас его активно разрабатывают. Из полезных его возможностей - это ручное аннотирование файлов, заполнение метаданных и простые операции по очистке данных и прямая публикация данных в дата серверах вроде CKAN и сервисах вроде Github и Zenodo.

Для всех кто использует CKAN как основной продукт для публикации данных инструмент весьма полезный.

С открытым кодом под лицензией MIT.

Ссылки:
[1] https://opendataeditor.okfn.org

#opendata #opensource
Регулярная подборка ссылок про данные, технологи и не только:
- Desbordante [1] инструмент идентификации паттернов в данных. Обещают что может находить хависимости между колонками таблиц, на входе получает csv, на выходе список зависимостей. Команда разработчиков из СПбГУ, на английском и на русском языках есть пояснения как инструмент работает [2]. Лицензия AGPL, что слегка ограничивает использование, но сам продукт выглядит интересно для тех кто занимается exploratory analysis, data discovery и иными дисциплинами о том какие данные бывают и как они устроены. Я так понимаю что команда разработки имела/имеет какое-то отношение к компании Unidata, судя по тому что от неё был текст на русском на хабр
- Cloudzip [4] утилита на языке Go по дистанционному листанию и выгрузке отдельных файлов из больших ZIP архивов без скачивания ZIP архива целиком. Не первый вижу инструмент в этой области и но он безусловно выглядит практично, когда тебе надо скачать индивидуальный файл из многодесяткогигабайтного архива. Практического применения у такого инструмента много, а автор его Oz Katz, один из создателей lakeFS. Написано на языке Go. Лицензия Apache 2.0
- remotezip [5] в продолжение к предыдущему инструменту, то же самое но в виде библиотеки для Python. Да, идея давняя давно витающая и реализуемая.
- klib [6] набор функций в виде библиотеки для Python по очистке данных внутри датафреймов Pandas. Выполняет набор простых операций, в каком-то смысле заменяет OpenRefine. Для тех кто чистит данные в Jupyter Notebook'ах будет полезно.
- ydata-profiling [7] ещё один инструмент из области Exploratory Data Analysis, тоже интегрированный с датафреймами. У этой же команды есть коммерческий продукт каталога данных (только облачный увы) в котором явно profiling применяется.

Ссылки:
[1] https://github.com/Desbordante/desbordante-core
[2] https://medium.com/@chernishev/desbordante-2-0-0-released-8c174aa04e87
[3] https://habr.com/ru/companies/unidata/articles/667636/
[4] https://github.com/ozkatz/cloudzip
[5] https://github.com/gtsystem/python-remotezip
[6] https://github.com/akanz1/klib
[7] https://github.com/ydataai/ydata-profiling

#opensource #data #datatools
В рубрике *как это работает у них* Национальная карта Австралии [1] позволяет отображать более 13 тысяч наборов геоданных из сотен каталогов данных и геосерверов по всей стране. А также позволяет загружать собственные наборы данных и работать с ними на карте. Поддерживает слои по стандартам OGC (WMS, WFS и др.), слои ArcGIS серверов, порталы данных Socrata, OpenDataSoft, файлы GeoJSON и ещё много чего другого.

Внутри работает на открытом исходном коде TerriaJS [2] созданном командой Data61 [3] национального агентства CSIRO и развиваемом под лицензией Apache 2.0 [4].

Кроме национального портала в Австралии и других странах на базе этого движка существует больше геопорталов, например, таких как:
- Portale del suolo в Италии [5]
- Digital Earth Africa Map [6]
- Digital Earth Australia Map [7]
и многие другие.

А также карта визуализации данных не геоплатформе открытых государственных геоданных США GeoPlatform.gov [8].

TerriaJS и построенные на основе этого фреймворка проекты можно отнести к успешным примерам создания и внедрения открытого исходного кода профинансированного государством. А также примером повторного использования кода созданного по заказу правительств одних стран, другими странами.

Ссылки:
[1] https://nationalmap.gov.au
[2] https://terria.io
[3] http://data61.csiro.au
[4] https://github.com/TerriaJS/terriajs
[5] http://www.sardegnaportalesuolo.it/webgis/
[6] https://maps.digitalearth.africa/
[7] https://maps.dea.ga.gov.au/
[8] https://terriamap.geoplatform.gov/


#opendata #geodata #spatial #dataviz #data #australia #opensource