PyGraphistry полезная это библиотека Python с ИИ для визуальных графов, позволяющая извлекать, преобразовывать, анализировать и визуализировать большие графы вместе со сквозными сеансами графического сервера Graphistry.
Библиотека создана специально для больших графов.
Пользовательский механизм рендеринга WebGL клиента рендерит до 8 миллионов узлов + ребер за раз, а большинство клиентских GPU поддерживают от 100 000 до 2 миллионов элементов.
Мощный механизм аналитики графического процессора на стороне сервера поддерживает графы еще большего размера.
Graphistry сглаживает графические рабочие процессы в экосистеме PyData, включая датафреймы Pandas/Spark/Dask, графического процессора Nvidia RAPIDS, графы GPU, графовые нейросети DGL/PyTorch и различные коннекторы данных.
PyGraphistry — это дружественный и оптимизированный нативный интерфейс PyData для API-интерфейсов REST Graphistry, не зависящих от языка. Можно использовать PyGraphistry с традиционными источниками данных Python, такими как CSV, SQL, Neo4j, Splunk и другими.
▪Github
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🥰4🔥2
inet
, то для IPv4-адресов все будет тривиально:'0.0.0.0'::inet + ipnum::bigint
А вот для преобразования числа к формату IPv6-адреса придется проявить немного изобретательности:
— "математически" разбиваем число на 8 двухбайтовых сегментов по (2 ^ 16) ^ i
— каждое значение преобразуем в шестнадцатеричную систему счисления и добиваем лидирующими нулями
— склеиваем сегменты через двоеточие и кастуем к
inet
array_to_string(ARRAY(
SELECT
lpad(to_hex(trunc(
ipnum % (2::numeric(39,0) ^ ((i + 1) * 16)) / (2::numeric(39,0) ^ (i * 16))
)::integer), 4, '0')
FROM
generate_series(7, 0, -1) i
), ':')::inet
В принципе, после этого мы можем "свернуть"
ip_from
и ip_to
в подсеть, не обращая внимания на исходный формат:inet_merge(ip_from, ip_to) subnet
А если проиндексируем эти подсети с помощью gist...
CREATE INDEX ON country_inet USING gist(subnet inet_ops);
... то сможем по индексу быстро определять принадлежность произвольного IPv4/IPv6-адреса подсетям с помощью соответствующих операторов примерно таким запросом:
SELECT
*
FROM
country_inet
WHERE
subnet >> '8.8.8.8' AND
country <> '-'
ORDER BY
masklen(subnet) DESC
LIMIT 1;
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥7👍6🥰1
🎯 Tarantool Column Store — новая гибридная СУБД с поддержкой как колоночного, так и строчного хранения и обработки данных в режиме реального времени.
Транзакционные и аналитические системы в одном месте – возможность проводить анализ на актуальных данных
Моментальный анализ – все данные доступны в одной СУБД
Быстрая обработка данных – можно обрабатывать задачи AI
Совместимость – обновление работает с российскими операционными системами Astra Linux, РЕД ОС и «Альт».
@sqlhub
Транзакционные и аналитические системы в одном месте – возможность проводить анализ на актуальных данных
Моментальный анализ – все данные доступны в одной СУБД
Быстрая обработка данных – можно обрабатывать задачи AI
Совместимость – обновление работает с российскими операционными системами Astra Linux, РЕД ОС и «Альт».
@sqlhub
❤9👍3🔥1
Gephi Lite
— это его облегчённая веб-версия. Пользователи могут видеть все параметры сети, использовать фильтры, настраивать визуализацию графа, сохранять и экспортировать файлы.
🔗 gephi.org/gephi-lite
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥2
Forwarded from Борис опять
ОУ Карьера курс ML_Pro 27.02.24 (3).pdf
3.5 MB
Презентация с моего вебинара для ОТУС: Что нужно джунам знать про найм в ML/DS в начале карьеры
Я не виню вас, если вы не готовы слушать меня два с половиной часа. Поэтому вот презентация, там вы найдете 80% контента
Я не виню вас, если вы не готовы слушать меня два с половиной часа. Поэтому вот презентация, там вы найдете 80% контента
❤5👍4🥰1
⚡️ SpeedML - это библиотека Python, целью которой является ускорение процесса разработки конвейера машинного обучения.
Она объединяет часто используемые пакеты ML, такие как
• Github
@sqlhub
Она объединяет часто используемые пакеты ML, такие как
Pandas, NumPy, Scikit-learn, XGBoost и Matplotlib. SpeedML
также предоставляет функциональные возможности для автоматизированного EDA.pip install speedml
• Github
@sqlhub
❤9👍6🔥5
Для достижения этой цели Dolt использует Prolly Tree-хранилище схемы и данных, представленных в виде графа. Таким образом достигается контроль версий базы данных на уровне хранилища.
Контроль версий БД в стиле Git предоставляет ряд полезных фичей:
— Мгновенный откат к любому предыдущему состоянию
— Полный журнал аудита с возможностью запроса, содержащий все данные с момента их создания.
— Несколько развивающихся ветвей данных
— Возможность объединения ветвей данных
— Быстрая синхронизация с удаленными версиями для резервного копирования или децентрализованной совместной работы.
— Запрашиваемые различия (т. е. различия) между версиями
Механизм хранения Dolt построен на графе коммитов Prolly Trees в стиле Git. Схема таблицы и данные хранятся в Prolly Trees. Корни этих деревьев Prolly вместе с другими метаданными хранятся в графе коммитов, чтобы обеспечить контроль версий в стиле Git.
🔗 Подробнее можно почитать на официальной страничке
🔗Github
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Когда речь идёт о базах данных, может всплыть сочетание «Требования ACID».
Давайте освежим в памяти, что же это значит
Требования ACID — набор требований, которые обеспечивают сохранность ваших данных.
Атомарность гарантирует, что каждая транзакция будет выполнена полностью или не будет выполнена совсем. Не допускаются промежуточные состояния.
Это свойство вытекает из предыдущего. Благодаря тому, что транзакция не допускает промежуточных результатов, база остается консистентной. Есть такое определение транзакции: «Упорядоченное множество операций, переводящих базу данных из одного согласованного состояния в другое». То есть до выполнения операции и после база остается консистентной (согласованной)
Во время выполнения транзакции параллельные транзакции не должны оказывать влияния на её результат.
Если пользователь получил подтверждение от системы, что транзакция выполнена, он может быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя. Обесточилась система, произошел сбой в оборудовании? На выполненную транзакцию это не повлияет.
🔗 Полезная статья на Хабре в тему
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍10❤3
🔥 Sweet-Viz - библиотека, которая предоставляет быструю визуализацию и анализ данных.
Основная фича
i
Основная фича
Sweet-Viz
— обширный HTML-дашборд с полезными представлениями и сводками данных, который генерируется выполнением всего одной строки кода.pip install sweetviz
i
mport sweetviz as sv
my_report = sv.analyze(my_dataframe)
my_report.show_html() # Default arguments will generate to "SWEETVIZ_REPORT.html"
▪Github
@sqlhub👍10🔥3❤2
Иногда внутри SQL-запроса возникает необходимость проверить наличие/отсутствие NULL-значения в некотором наборе полей:
a IS NOT NULL OR b IS NOT NULL OR c IS NOT NULL
Но то же самое по смыслу условие можно записать гораздо короче с помощью функции coalesce:
coalesce(a, b, c) IS NOT NULL
Немного изменим условие - заменим
OR
на AND
:a IS NOT NULL AND b IS NOT NULL AND c IS NOT NULL
Тут нам поможет ROW-конструктор:
(a, b, c) IS NOT NULL
Теперь заменим
IS NOT NULL
на IS NULL
:a IS NULL AND b IS NULL AND c IS NULL
Тут достаточно вспомнить из логики, что
(A and B)
эквивалентно not(not A or not B)
, а (A or B)
- not(not A and not B)
, поэтому легко применяем not
к варианту IS NOT NULL + OR:coalesce(a, b, c) IS NULL
Или с помощью ROW-конструктора:
(a, b, c) IS NULL
Остался последний вариант:
a IS NULL OR b IS NULL OR c IS NULL
Тут мы можем "обратить" вариант IS NOT NULL + AND:
NOT (a, b, c) IS NOT NULL
Заметьте, что пара
NOT
тут "не сокращается", иначе получился бы предыдущий вариант.Подробнее об особенностях работы со сложными выражениями тут — "PostgreSQL Antipatterns: вычисление условий в SQL". И ещё годная статья — "«Ленивый сахар» PostgreSQL"
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥10❤4