Anscombe's Quartet

@anscombes_quartet Нравится 0

Канал про Data Science/AI/ML + новости про хайтек. @renardeinside по всем вопросам
Гео и язык канала
Россия, Русский
Категория
Технологии


Написать автору
Гео канала
Россия
Язык канала
Русский
Категория
Технологии
Добавлен в индекс
06.09.2017 21:19
реклама
Бот для продвижения telegram каналов
Продвижение telegram каналов + Бот обратной связи
... заразился коронавирусом
Оперативно о новых случаях среди публичных персон
Telegram Analytics
Подписывайся, чтобы быть в курсе новостей TGStat.
637
подписчиков
~252
охват 1 публикации
~27
дневной охват
~2
постов / нед.
39.6%
ERR %
0.02
индекс цитирования
Репосты и упоминания канала
19 упоминаний канала
0 упоминаний публикаций
2 репостов
1 дойчмарка
1 дойчмарка
АГРЕГАТОР
i_Dota2
Kickstart My Heart
SEO-специалист
tech++
Universal News
Разраб Beta
Медуза Горгона
CRYPTON 🚀
TRUESOFT (На Галере)
Yet Another Linux Channel
Something Bright
Соцтехнологии
geek
📢Про аудио, видео
SnCode
Биткойн Путлера
Каналы, которые цитирует @anscombes_quartet
Data Science by ODS.ai
Kantor.AI
Data Science by ODS.ai
Strelka Mag
NOP::Nuances of programming
Ебанистика всякая
Food-stained hoodie
PeterLevichChannel
La Qeque
CITY MORPHS
TechSparks
Доди Ёбсон
Loss function porn
TechSparks
Городские данные
CITY MORPHS
1 дойчмарка
Loss function porn
Мемы по талонам
Кухня Яндекс.Дзена
Свободный от забот
аватарошная
Loss function porn
ГОВОРИТ ВАФИН
Солнечный шторм
Российский Ритейл
Солнечный шторм
NOP::Nuances of programming
SnCode
tech++
Соцтехнологии
TRUESOFT (На Галере)
📢Про аудио, видео
Разраб Beta
GEEK ZONE
Something Bright
SnCode
Yet Another Linux Channel
i_Dota2
Технологии XXI Века
Kickstart My Heart
CryptCoin💥
Последние публикации
Удалённые
С упоминаниями
Репосты
Anscombe's Quartet 20 Oct, 23:33
Ох и давно же я ничего сюда не писал. Это неспроста - я был активно занят подготовкой своего первого выступления на Data & AI Summit Europe (который бывший Spark Summit Europe) 2020.

Конечно "выступлением" это назвать можно с натяжкой, поскольку все таки конференция онлайновая, как впрочем и любая конференция во времена ковида.
Особенно для меня неприятен тот факт, что этот Data & AI Summit планировался в Берлине, но корона разрушила все возможные планы.

Меня несколько раз спрашивали о том, как попасть на саммит спикером. Никакого секретного ингредиента не существует - у вас должна быть интересная тема, связанная с обработкой данных в целом, Data Engineering или Data Science задачами и подходами к их решению. Вполне достаточно внимательно следить за анонсами и ждать CfP - Call For Proposals, который в этот раз составил почти 2 недели - вполне достаточный промежуток времени чтобы определиться с темой и накидать с десяток слайдов. Комитет саммита рассматривает все заявки, и уже на основе этого рассмотрения выбирает подходящие темы.

Как пройти комитет? Я бы начал с того, что отсмотрел пару последних саммитов. Какие из выступлений показалось вам самыми полезными и интересными? Вот на них и стоит ориентироваться при составлении собственного proposal deck. Другой вариант - быть data-driven и выбрать топ-10 презентаций последнего года по статистике просмотров на официальном канале.

Ну и наконец - как посмотреть саммит? Все просто - он бесплатный и будет доступен как в онлайне, так и в записи. Зарегистрироваться можно по вот этой ссылке.
Читать полностью
Anscombe's Quartet 22 Sep, 15:27
Репост из: Mikhail Kumachev
Коллеги, приветствую!

Мы рады анонсировать очередной митап: DE or DIE #4.
Дата и время: 01.10.2020, начало в 18:00 MSK
Формат: online.

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

Что в программе:
1. «Своя песочница – как сделать кластер для инженера данных», Артем Селезнев, Senior Data Engineer, Сбербанк
2. «Data governance – что это, зачем, и с чего начать», Андрей Вихров, Главный системный аналитик, Связной

Зарегистрироваться можно здесь:
https://deordie.timepad.ru/event/1435939/
Читать полностью
Anscombe's Quartet 22 Sep, 15:27
Мне посчастливилось выступить на DE or DIE #3 (видео здесь), а 1 октября у ребят будет уже 4 по счету митап.
Если можно так сказать, удачное свойство коронавирусной ситуации - это переход многих конференций и митапов в онлайн формат, что дает возможность изучать новое и общаться с другими специалистами не выходя из дома.
DE or DIE #3. Dodo Pizza & Databricks – Разбор реального проекта: E2E пайплайн данных.
Материалы всех наших митапов доступны на GitHub: https://github.com/deordie/deordie-meetups Наш чат в Telegram: https://t.me/deordie_chat Новые события сообщества DE or DIE: https://deordie.timepad.ru/events/ Авторы доклада: Ксения Томак, Дарья Буланова, Михаил Кумачев, Data Engineering Team, Dodo Pizza Иван Трусов, Solutions Architect, Databricks Dodo Pizza совместно с Databricks сделали проект по решению задачи прогнозирования закупок ингредиентов в пиццериях. В рамках проекта был разработан набор near real-time и batch пайплайнов для сбора данных из источника, загрузки их в Delta Lake и подготовки витрин для использования в машинном обучении. В рамках нашего выступления мы подробно разберем каждый из этапов и уделим особое внимание подводным камням при реализации проекта. Часть 1: – Описание проекта и базовой инфраструктуры [00:00:00] – Архитектура решения [00:08:34] – Change Data Capture из MySQL в EventHubs, используя Kafka Connect и Debezium [00:16:30] – Q&A по первой части [00:43:15] Часть 2:…
Anscombe's Quartet 2 Sep, 22:24
16 сентября в 10:00 по МСК я буду вести первый вебинар на русском от Databricks.

Расскажу и про концепцию MLOps, и про архитектуры подобных решений, и про возможности нашей платформы - обо всем по порядку.
Будет немного теории и много практики с примером.

Зарегистрироваться можно вот тут.
Читать полностью
Anscombe's Quartet 27 Jul, 14:51
Совершенно случайно узнал, что несколько моих репозиториев на GitHub попали в GitHub Archive Program.

Говоря кратко, GAP - это программа, в рамках которой часть репозиториев с GitHub сохраняется на специальные, очень долговечные диски, а затем отправляется на глубину 250 метров в вечную мерзлоту в Арктике. Страничка программы обещает хранить данные около 1000 лет, и передать открытый код будущим поколениям - эдакий Project Zero Dawn.

Прямо скажем, репозитории которые были выбраны из моих - далеко не шедевры программирования, но все же я внутри сильно рад этому, как никак остался в истории 🙂
Читать полностью
Anscombe's Quartet 16 Jul, 18:40
Anscombe's Quartet 8 Jul, 16:00
#реклама

От автора: наверное это самая первая реклама на моем канале, но я очень с большим почтением отношусь к МФТИ и считаю его одним из самых сильных вузов страны, поэтому даже немного рад порекламировать их эвенты.

🗣Machine Learning Wednesday - митапы от МФТИ для тех, кто интересуется машинным обучением!

🔥Как оптимизировать нейронные сети и включить ML в процессы компании, не имея для этого размеченных данных! Ближайшие даты:

📅8 июля 17:00 «Компрессия моделей машинного обучения». 📣Выступают: Илья Жариков и Иван Криворотов.
💡Польза: узнаете, как сделать свои модели легче и быстрее, расширив возможные области их применения.
Регистрируйтесь по ссылке https://clck.ru/PV8rB

📅15 июля 17:00 «Использование фреймворка TopicNet для решения задач бизнеса». 📣Выступает: Евгений Егоров.
💡польза: узнаете, как без размеченного датасета и больших бюджетов на вычислительные ресурсы решать практические ML задачи.
Регистрируйтесь по ссылке https://clck.ru/PV8un
Читать полностью
Anscombe's Quartet 6 Jul, 19:27
На ближайшем митапе DE or DIE #3, который пройдет в онлайне 16 июля с 19:00 до 21:00 (по мск), вместе с коллегами из Dodo Pizza я буду рассказывать о том, как мы строили пайплайны по стриминговой загрузке данных из Azure MySQL DB в Delta Lake с помощью Spark Streaming на платформе Databricks. Будет много технических деталей и достаточно подробных описаний, конечно же с Q&A секцией в конце.
Регистрируйтесь по ссылке, и заходите в чат сообщества DE or DIE.

https://deordie.timepad.ru/event/1350632/
https://t.me/deordie_chat
Читать полностью
Anscombe's Quartet 28 Jun, 03:35
Пока тлеющие угольки памяти не подернулись пеплом ностальгии, я спешно дописал следующую часть моих переездных заметок. Собственно о самом переезде там все еще ни слова, зато гораздо больше о процессе собеседований в 2019 году. Конечно ситуация в 2020 внесет свои коррективы и в этот процесс, но карантин же не может быть вечным.

https://telegra.ph/Rocky-Road-to-Berin-Sobesedovaniya-v-Berline---GYG-and-SumUp-p3-06-28

P.S. я довольно давно ничего не писал на великом и могучем (в смысле каких-то больших постов), прошу простить за всевозможные пунктуационные ошибки.
Rocky Road to Berin. Собеседования в Берлине - GYG and SumUp. p3
Третья часть моих заметок про трудоустройство в Берлине. Предыдущая часть заметок здесь. Aren't you tired, mate? После интервью в Zalando я был слегка уставший, но вполне себе окрыленный первым успехом. Мои страхи по поводу языкового барьера потихоньку рассеивались, а самоуверенность росла. На 11.00 вторника было назначено интервью с Get Your Guide (здесь и далее - GYG). Поскольку я жил в съемном Airbnb первые 2 дня (их оплачивало Zalando), а вторые 2 дня - в отеле, с утра мне пришлось довольно споро собраться…
Читать полностью
Anscombe's Quartet 24 Jun, 17:32
Cегодня первый официальный день Spark AI Summit. Как и все эвенты до конца года (видимо), Summit полностью виртуальный. Конференция в этом году очень масштабная - тем, треков и докладов просто огромное количество.

Мне кажется, что наиболее интересные доклады по темам - Distributed DL on GPU, Delta, Mlflow и Apache Arrow. Я думаю что именно этот набор технологий будет обеспечивать edge-technology проекты по ML/Data в ближайшее время. С точки зрения разработки прикладных компонентов под Spark будет еще доклад про Data Source V2 API от DataStax (создатели Cassandra).

Самое время зарегистрироваться, в общем говоря 🙂 - https://databricks.com/sparkaisummit/north-america-2020
Читать полностью
Anscombe's Quartet 12 May, 21:00
Сегодня в 23:00 по CET (это 00:00 по Москве), будет стрим-интервью с одним из создателей и ключевых разработчиков Apache Spark и MLflow - Matei Zaharia. Помимо этого, будет Q&A сессия, поэтому если у вас есть вопросы о будущем развития самого фреймворка, индустрии Big Data и ML - стоит заглянуть на стрим и задать их.

https://www.youtube.com/watch?v=rvUxVbpw0TI
Anscombe's Quartet 2 May, 20:59
Довольно много технического писал, напишу теперь не совсем про технические вещи.

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

Лично мне очень помогает одна простая активность, которую почему-то редко упоминают в различных гайдах - это перевод песен. Да да, все достаточно просто и тривиально на первый взгляд, но это очень мощный инструмент для расширения лексической базы и качественного запоминания слов. Я время от времени заглядываю на https://lyricstranslate.com чтобы практиковаться. Другая опция - переводить на genius.com, но мне не очень нравится его интерфейс.

Давайте разберем пример - песня IC3PEAK "Сказка", с очень поэтичной строкой - "Тянет сердце грузом в пропасть, каменея изнутри". Согласитесь, с ходу перевести эти предложение с деепричастным оборотом так, чтобы грамотно передать смысл сказанного - нетривиальная задача. Немного поиграв со словами и ориентируясь на комментарии, получился следующий перевод (как по мне, вполне сносный - "My heart pulls me into the abyss like a stone, petrifying from within").

Большой плюс сайта в том, что на каждый сделанный вами перевод можно запросить proofreading от более опытных пользователей сайта. Ваш перевод увидят и иностранцы, заинтересованные в этой песне, и если что-то будет переведено не совсем понятно - попросят вас сделать перевод более полным и понятным, что создаст дополнительный feedback loop.
Читать полностью
Anscombe's Quartet 25 Apr, 20:57
Apache Spark нынче практически индустриальный стандарт для работы с данными. Как и любой долго развивающийся IT проект с длинной историей, он имеет довольно сложную архитектуру, а некоторые интерфейсы местами сделаны достаточно сложно (а некоторые - наоборот, исключительно гибко и удобно). К сожалению, без более-менее общего понимания того, как работает этот фреймворк, невозможно писать на нем качественные и сложные приложения - зачастую люди натыкаются на базовые ошибки или неверно используют API.

Вот характерный пример, который не так давно встретился в моей практике. У одной из смежных команд стояла задача организовать регулярное чтение данных из S3 path с большим количеством мелких JSON файлов, а затем сохранить результат в обычный parquet format. Первая версия написанной джобы была достаточно тривиальной:


spark.read
.schema(someSchema)
.format("json")
.load(s3path)
.write
.format("parquet")
.partitionBy("date")
.save(anotherS3Path)


Несмотря на кажущуюся простоту задачи, джоба выполнялась в среднем около 9 часов. Первое обвинение, как и положено, полетело в сторону фреймворка - какой же медленный этот ваш Apache Spark!
Догадливый читатель почти наверняка понял, в чем же была проблема - количество файлов.
По умолчанию, спарк будет генерировать по одной партиции на каждый JSON-файл. Это не проблема когда JSON-файлы большие и внутри них много записей, но в приведенном случае общее количество файлов было более 50k и прирастало с течением времени.

Оптимизация в данном случае тривиальна:


spark.read
.schema(someSchema)
.format("json")
.load(s3path)
.coalesce(spark.sparkContext.defaultParallelism)
.write
.format("parquet")
.partitionBy("date")
.save(anotherS3Path)


Coalesce изменяет план вычислений, собирая в кучу разрозненные мелкие файлы, в результате чего создается меньшее количество тасков с большим количеством данных внутри, что позволяет обходить затраты на создание/закрытие отдельных тасков под каждый файл. Результат -одна строчка изменила скорость выполнения этой джобы с 9 часов до 1 часа.

Это я все к чему - для хорошего Data Engineer понимание того, что происходит под капотом Spark является одной из важнейших доменных областей. Вот хорошая дока от одного из коммитеров спарка - она подробно обьясняет все шаги, которые происходят при запуске Spark-приложений:

https://github.com/JerryLead/SparkInternals
Читать полностью
Anscombe's Quartet 13 Apr, 15:44
Я считаю, что одна из очень полезных привычек для инженера - это привычка читать код открытых проектов. Зачастую это помогает освоить новые подходы к написанию решений, или глубже понять инструменты, которыми мы пользуемся каждый день. Я выделил несколько интересных проектов, исходный код которых стоит почитать если вы интересуетесь Big Data / ML инструментами.

Начнем, конечно, с моего любимого Delta формата. Интересные места - то, как работает Optimistic Locking в S3-based среде, имплементация операций Update и Merge, в целом работа с S3-like Filesystem (обратите внимание как имплементированы различные абстракции для транзакционного лога на Azure, S3 и Hadoop-based).

Второй интересный проект, на который я недавно обратил внимание - это находящийся в данный момент в инкубаторе Apache Ratis. Вкратце, Ratis - это гибкая имплементация алгоритма Raft, написанная на Java и выполненная как набор хорошо декомпозированных модулей, позволяющих переиспользовать компоненты этого проекта без импорта огромных зависимостей.

Наконец, последний проект - это написанный на Python mlflow - платформа для автоматизации разработки в сфере ML, с обширным набором интеграций для различных моделей и фрейморков (sklearn, h2o.ai, sagemaker и многие другие). Из примечательного - одним из основных авторов и коммитеров mlflow является Matei Zaharia, один из создателей Apache Spark.

Список, конечно же, не исчерпывающий, и если у вас есть еще на примете какие-нибудь новые и интересные проекты в области Big Data / ML - присылайте, с удовольствием выложу еще подборку.
Читать полностью
Anscombe's Quartet 1 Apr, 01:15
Давненько не писал ничего нового, ибо занимался очередной сменой места работы (что вполне успешно получилось, к слову говоря). В связи с внезапно образовавшимся свободным временем решил плотно заняться изучением относительно нового фреймворка под названием Apache Arrow. Кратко говоря, Arrow - это мультиязычная (на момент времени самыми зрелыми являются API для C++, Java, Python) платформа для работы с данными в памяти.

Ее идея довольно проста - при операциях с большими данными, и в особенности при передаче этих данных через процессы (скажем, Spark-to-Python), современные библиотеки накладывают довольно приличный overhead на сериализацию и десериализацию данных в памяти.

Скажем, если вы хотите применить кастомный UDF в PySpark поверх parquet-файлов в S3, ваши данные пройдут приблизительно следующий путь:
- Java-based Spark прочитает эти данные из S3 и сериализует из в Kryo-формате в памяти
- Java-based Spark сериализует (если она сериализуема, иначе вылезут ошибки сериализации) Python-функцию и прокинет ее на ноды
- Java-based Spark отправит данные на ноды для обсчета
- Данные из локального Java-based Spark процесса будут переданы в Python-based Spark процесс, и каждая запись пройдет полный путь сериализации и де-сериализации
- Python-based Spark процесс обсчитает данные и (после очередной сериализации) вернет их в Java-process

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

Создатель библиотеки Pandas, Wes McKinney, а так же многие другие основные контрибьюторы из таких проектов как Apache Hadoop, Apache Spark и Apache Cassandra, очевидно, не могли быть удволетворены таким перерасходом ресурсов и совершенными при имплементации текущего решения архитектурными ошибками, что собственно и послужило стартовой точкой для разработки Apache Arrow.

Пользователи PySpark уже могли сталкиваться с первыми результатами, которые дает использование Apache Arrow, если они использовали pandasUDF API.

Для меня же главный интерес представляет Arrow Flight RPC - это имплементация GRPC-сервера для передачи данных в виде flight-ов - по сути, байтовых массивов Arrow с отличной сериализацией и скоростью передачи. Такой подход позволяет ускорять процесс передачи данных между различными системами в разы.

Почитать про сам Apache Arrow можно на официальном сайте - https://arrow.apache.org/
А конечным пользователям Spark будут интересна оптимизация python-based UDF с помощью Arrow - https://spark.apache.org/docs/latest/sql-pyspark-pandas-with-arrow.html
Читать полностью
Anscombe's Quartet 17 Feb, 11:38
Надо правда признать, что Delta Lake - не единственный spark-related формат для хранения данных с update/delete возможностями, ведь помимо него есть так же ACID ORC и Iceberg.

Ситуация чем-то напоминает борьбу между parquet и orc форматами - похожие идеи, но разные имплементации.

Отличный сравнительный обзор по этим файловым форматам сделал мой коллега Michal Gancarski на Spark AI Summit 2019:
https://databricks.com/session_eu19/acid-orc-iceberg-and-delta-lake-an-overview-of-table-formats-for-large-scale-storage-and-analytics
Читать полностью
Anscombe's Quartet 10 Feb, 13:46
Databricks делает все большую ставку на Delta, по сути предлагая ее как новый золотой стандарт формата хранения для больших данных.

Сложно придумать более разумный подход в эпоху GDPR и потребности в удалениях или апдейтах данных прямо в больших датасетах на диске.
По сути своей, основная идея такова - зачем нам поднимать сложные в поддержке и использовании масштабируемые БД (Scylla, Cassandra, HBase) или переплачивать за их аналоги (DynamoDB / Aerospike)?

Куда проще писать в одно большое S3-like хранилище, а с помощью Delta-формата можно получить +- набор необходимых возможностей - Update / Delete операции. Использование S3-like API напрямую открывает практически неограниченные возможности по масштабированию (причем как у облачных провайдеров, так и on-premises), а Delta формат добавляет удобство потоковой записи и чтения.

Из очевидных минусов конечно скорость данного решения - subsecond latency в таком случае можно не ожидать, очевидно что практически любое KV хранилище для апдейтов по ключу будет работать быстрее. Однако там, где нет таких требований (например в BI-аналитике, или поставке данных для ML-приложений), и минутные задержки не являются критическим блокером, можно воспользоваться всеми удобствами этого формата.

https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
Читать полностью
Anscombe's Quartet 12 Jan, 20:49
Очень детальный и подробный пост о том, как читать данные из Kafka с помощью Spark Structured Streaming и затем писать их в Delta-формат.
Вообще интересно как data engineering потихоньку мигрирует из строго-типизированных пайплайнов на Scala в упрощенные ноутбуки, в основном написанные на Python.


https://keestalkstech.com/2019/11/streaming-a-kafka-topic-to-a-delta-table-on-s3-with-spark-structured-streaming/
Читать полностью
Anscombe's Quartet 17 Dec 2019, 12:59
Команда Delta Lake (формат для update-delete операций поверх parquet, где update/delete механизмы работают за счет системы метаданных) выпустила свежий релиз версии 0.5.0. Одна из безусловно крутых особенностей delta - это возможность in-place удаления строк (чего обычный parquet не умеет), что сильно помогает при необходимости делать GDPR-compliant хранилище.

В версии 0.5.0 добавились две крутые фичи - в первую очередь, delta теперь поддерживает manifest-файлы, которые сильно облегчают работу с этим файловым форматом через Presto и Amazon Athena. Вторая фича пока экспериментальная, но уже выглядит довольно многообещающе - теперь таблицы в delta-формате можно запрашивать через Snowflake и Redshift Spectrum.

https://delta.io/news/delta-lake-0-5-0-released/
Читать полностью
Anscombe's Quartet 25 Nov 2019, 00:20
Lightbend (одна из ключевых компаний, поддерживающих и развивающих Scala, по совместительству создатели фреймворка Akka), выпустила в релиз новый фреймворк под названием Cloudflow. Этот фреймворк стремится занять нишу стриминговой обработки данных, предлагая разработчикам возможность писать стриминговые приложения на базе Spark, Flink или Akka Streams, а затем развертывать их как набор связанных сервисов в Kubernetes.
В целом, кажется что индустрия по обработке больших данных вновь обращает свой взор именно на потоковую обработку - Flink получил новую жизнь благодаря инвестициям от Alibaba, Spark активно анонсирует новые стриминговые возможности (включая subsecond latency) в готовящейся 3.0.0 версии, а теперь вот и Lightbend подоспел на огонек с новым фреймворком:
https://www.lightbend.com/blog/cloudflow-released-lightbends-newest-open-source-project
Читать полностью