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

Ivan Begtin

3903 @begtin

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

Ivan Begtin

3 года назад
Открыть в
Недавно я писал про подход к переосмыслению работы с любыми унаследованными продуктами/протоколами как "всё SQL" [1]. Иногда такой подход осуществлять сложно, иногда очевидно, а вот подборка примеров когда это работает и работает успешно․ - textql [2] - утилита и библиотека на Go по работе с файлами CSV и TSV так словно это SQL таблицы. Поддерживает практически полностью синтаксис SELECT запросов. - gitql [3] - инструмент на Go для работы с Git как с базой данных SQL. Поддерживает все хранимые в Git объекты, лог и работает в режиме только для чтения. - q - Text as Data [4] - инструмент работы с CSV и TSV как с SQL, но написанный на Python. Также поддерживает сразу множество sqlite баз данных. - dockersql [5] - база контейнеров для Docker как SQL, тоже на Go написано, не обновлялось уже 9 лет, но как proof-of-concept интересно. Работает поверх API Docker'а - Yahoo! Query Language (YQL) [6] универсальный SQL-подобный язык запросов к API и CSV, RSS и другим файлам. На сайте Yahoo! его более нет, осталась только страница в Википедии и рассеянные по интернету примеры Наверняка есть и больше примеров. В некоторых случаях это оказывается совершенно оправдано, textql, к примеру, удобный инструмент для тех кто работает с CSV файлами часто и сложным образом. Можно ли через призму этого сделать инструменты SQL для IMAP4 или SQL для FTP или SQL для файловой системы (уже есть, кстати) и иначе? Конечно возможно! Ссылки։ [1] https://t.me/begtin/4613 [2] https://github.com/dinedal/textql [3] https://github.com/filhodanuvem/gitql [4] https://github.com/harelba/q [5] https://github.com/crosbymichael/dockersql [6] en.wikipedia.org/wiki/Ya…Language #opensource #datatools #queryengines #sql
Ivan Begtin

Я ранее рассказывал про разные эксперименты в обработке данных, например, про обработку данных в NoSQL базах данных и про экспериментальную библиотеку mongorefine [1]. Когда-то из других экспериментов у меня получилась библиотека по автоматизации извлечения новостей из HTML newsworker [2]. Я её почти не обновлял несколько лет, но это и не требовалось. А вот про один эксперимент, к я практически не рассказывал, это попытка ответить на вопрос - можно ли работать с HTML как с SQL? Так чтобы не делать запросы через язык запросов xpath или API библиотек парсинга. Но после нескольких прикидок стало очевидно что усилий потребуется много, фактически надо сделать SQL движок с нуля и решить вопрос с тем как данные преобразовать из иерархических в плоскую таблицу. Зачем вообще это было нужно? В задаче по извлечению новостей которую я решал в библиотеке newsworker одной из внутренних задач была кластеризация тегов. Метод который я использовал для кластеризации предполагал сбор о каждом теге дополнительных данных, которых…

Telegram