Найдите 10 отличий 🐱 🥹
У меня было на слуху слово "atlas" в мире дата технологий, но на днях я поняла, что их несколько:
🟠 Есть Apache Atlas - это дата каталог, чтобы управлять метаданными, бизнес-сущностями, смотреть происхождение таблички/поля и т.д.
https://atlas.apache.org/
https://github.com/apache/atlas
🟢 Есть просто Atlas - тулза для миграции схем данных
https://atlasgo.io/docs
https://github.com/ariga/atlas
🔵 А потом я наткнулась на Atlan - это тоже дата каталог, но уже платный
https://atlan.com/
Есть еще какие-то слова, которые обозначают совершенно разные технологии?
У меня было на слуху слово "atlas" в мире дата технологий, но на днях я поняла, что их несколько:
https://atlas.apache.org/
https://github.com/apache/atlas
https://atlasgo.io/docs
https://github.com/ariga/atlas
https://atlan.com/
Есть еще какие-то слова, которые обозначают совершенно разные технологии?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🤷1
Аналитика по сторис
Потратила час-два, но собрала аналитику по сторис, которые я выкладываю😁
Погуглила апишку тг, погулила либу telethon, подняла постгрю в докере, создала две таблички с просмотрами и с пользователями, вызвала метод GetStoryViewsListRequest и собрала оттуда нужную инфу
Покрутила эти таблички в базе, и вот какие выводы я для себя сделала:
⏺️ есть мои контакты, у которых я не в контактах - грустно(
⏺️ есть интересные флаги "bot", "scam", "fake" - у меня все false (либо они коряво определяются)
⏺️ некоторые люди смотрят сторисы спустя год с лишним(!) - вот это шок 😮 😮
⏺️ собрала топ стату по просмотрам
⏺️ чекнула по data quality, что поле count == views_count == кол-ву пользователей в списке == кол-ву просмотров в списке - все норм)
Пользовалась этой докой, но она супер кривая, даже непонятно, что значат некоторые поля
Потратила час-два, но собрала аналитику по сторис, которые я выкладываю
Погуглила апишку тг, погулила либу telethon, подняла постгрю в докере, создала две таблички с просмотрами и с пользователями, вызвала метод GetStoryViewsListRequest и собрала оттуда нужную инфу
Покрутила эти таблички в базе, и вот какие выводы я для себя сделала:
Пользовалась этой докой, но она супер кривая, даже непонятно, что значат некоторые поля
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥12
✨Spark 4.0✨
Official release notes: https://spark.apache.org/releases/spark-release-4-0-0.html
Краткое описание в статейке (работает только с впнкой): https://www.databricks.com/blog/introducing-apache-spark-40
А кто-то живет еще на втором спарке?
Official release notes: https://spark.apache.org/releases/spark-release-4-0-0.html
Краткое описание в статейке (работает только с впнкой): https://www.databricks.com/blog/introducing-apache-spark-40
А кто-то живет еще на втором спарке?
🔥17🍾5 3
Мама, я CTO тимлид
📱 Недавно ко мне вышел человечек и предложил обучаться управленческим навыкам. Сначала я заигнорила, было похоже на скам, и ну сколько уже можно учиться? 😁
После второго пинга я решила зайти посмотреть программы. Это школа Стратоплан, и мне на выбор предложили четыре программы:
- Soft Skills для инженеров
- Команда. Инструменты управления
- Школа руководителя отдела
- Школа технического директора
Я посмотрела стоимость каждого курса, ну пока предлагают - надо брать самое крутое. Конечно, скипаю предыдущие этапы и иду сразу в CTO!
Потом оказалось, что надо сделать вступительное задание и пройти собес😁
Ладно, так уж и быть, начнем с тимлида
Подробное описание программы можно глянуть тут
💻 Во вступительном нужно было написать эссе про себя, решить управленческий кейс (какие решения вы примете в конкретной ситуации, как будете разбираться с проблемами), заполнить чек-лист по компетенциям (найм, контроль команды, переговоры и т.д.). Задания для меня были вообще нетипичными. Потом я записалась на собес, и мы полчаса это все обсуждали. Собес я прошла)
Далее была установочная встреча, где рассказали про формат обучения, и мы даже дважды попрактиковались в мини-командах на тему целей и результатов после курса
📊 Вообще обучение будет проходить раз в месяц 3 дня подряд по 5 часов до октября 😍 Еще есть 8 сопутствующих мини-курсов по 2 месяца, на которые можно записаться и получить серт или просто смотреть в видеозаписях без серта. Они тоже прикольные на тему мотивации, увольнений, коммуникаций, финансов, но я как-нибудь по ходу посмотрю. Хоть и хочется все и сразу, но не могу закоммититься (все-таки лето)
☕️ Дальше буду по итогам каждого модуля рассказывать, что и как, что прошли, что делали, какие ощущения
После второго пинга я решила зайти посмотреть программы. Это школа Стратоплан, и мне на выбор предложили четыре программы:
- Soft Skills для инженеров
- Команда. Инструменты управления
- Школа руководителя отдела
- Школа технического директора
Я посмотрела стоимость каждого курса, ну пока предлагают - надо брать самое крутое. Конечно, скипаю предыдущие этапы и иду сразу в CTO!
Потом оказалось, что надо сделать вступительное задание и пройти собес
Ладно, так уж и быть, начнем с тимлида
Подробное описание программы можно глянуть тут
Далее была установочная встреча, где рассказали про формат обучения, и мы даже дважды попрактиковались в мини-командах на тему целей и результатов после курса
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍17 13❤4
Я сходила на aha…
и мне не понравилось)
Встретила только двух знакомых и чувствовала себя максимально некомфортно в сообществе аналитиков. Залы были почти пустыми, хотя где-то ходила целая 1000 человек
Я поучаствовала в нескольких активностях:
1️⃣ Игруля, где на деревянной дощечке стоят плашки, нужно задавать сопернику вопросы и закрывать неподходящие варианты. Перед последним ходом мой соперник уже понимал, что это профессия человека, который обрабатывает данные) А я понимала, что это какая-то метрика. Пошла ва-банк с ROI, но оказался Churn Rate 🤷♀️
2️⃣ Пошла вытягивать предсказания
Вторая часть предсказания мне не очень понравилась, и я решила вытащить "пояснительную" для решения этого "посложнее":
Ну допустим
3️⃣ На одной станции в призах была кружка (я люблю собирать симпатичные), баллов требовалось немного, и я пошла их копить
Сыграла в викторину, где на определенную тему нужно назвать как можно больше терминов. Нам с соперником досталась тема "Виды графиков", и как же я была счастлива)) А то на тему метрик, статистики я бы вряд ли много чего накидала. Эту игру я выиграла🎉
Потом пошла решать математические задачи. По времени не было никаких ограничений, хоть вечером приноси. Всего 3 задачи: найти этаж по номеру квартиры в доме, тервер, интеграл. В тервер лезть не стала, баллов на кружку уже хватило бы без нее)
4️⃣ Потом покрутила колесо заданий. В самом задании нужно было выбрать, какой вид графика лучше. Оказалось, что визуально разделять категории (одежда, бытовая химия и т.д.) по разным цветам - плохая идея. Только если мы не хотим акцентировать внимание именно на разных категориях. А так можно выбрать, например, выручку и покрасить столбики в зависимости от ее размера
Проходя мимо аналитической настолки, услышала термины "когортный анализ" и "логистическая регрессия", решила не ввязываться😁
⚾️ ⚾️ Второй день послушала уже в онлайне, вообще из всех треков мне понравился только про здоровье, сидячий образ жизни, умственную деятельность и вот это все
и мне не понравилось)
Встретила только двух знакомых и чувствовала себя максимально некомфортно в сообществе аналитиков. Залы были почти пустыми, хотя где-то ходила целая 1000 человек
Я поучаствовала в нескольких активностях:
ROI («Return On Investment», возврат инвестиций) — коэффициент рентабельности инвестиций, который помогает рассчитать окупаемость вложений в проект.
Churn rate, или отток клиентов, — метрика, которая показывает, сколько клиентов потеряла компания за определённый период.
Баг исчезнет сам, будто его и не было. Но откроет кое-что посложнее.
Вторая часть предсказания мне не очень понравилась, и я решила вытащить "пояснительную" для решения этого "посложнее":
Следующий твой инсайт родится из самой глупой идеи. Будь готов.
Ну допустим
Сыграла в викторину, где на определенную тему нужно назвать как можно больше терминов. Нам с соперником досталась тема "Виды графиков", и как же я была счастлива)) А то на тему метрик, статистики я бы вряд ли много чего накидала. Эту игру я выиграла
Потом пошла решать математические задачи. По времени не было никаких ограничений, хоть вечером приноси. Всего 3 задачи: найти этаж по номеру квартиры в доме, тервер, интеграл. В тервер лезть не стала, баллов на кружку уже хватило бы без нее)
Проходя мимо аналитической настолки, услышала термины "когортный анализ" и "логистическая регрессия", решила не ввязываться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9💅7👍3
Как хранятся айсберг таблицы
На картинке у нас есть таблица под названием "warehouse". Для нее создаются 2 папки: data + metadata. И всего есть 4 типа файликов
🤩 Data Files
Это сами данные в форматах parquet/orc/avro
🤩 metadata.json
Неполный список меты:
- путь к таблице
- время обновления
- схема данных
- версии
- специфичные параметры айсберга
🤩 Manifest File (404eff92-...m0.avro)
Инфа про файлы с данными: пути к ним, количество записей, статистики
🤩 Manifest List (snap-....avro)
В айсбергах есть снепшот - это консистентное состояние таблицы в определенный момент времени. Снепшот знает, какие файлики ему надо выбрать, чтобы получить таблицу на сегодня/вчера/минуту назад. Поэтому по id снепшота можно вернуться к предыдущим состояниям
Так вот Manifest List - это список манифест-файлов, которые относятся к конкретному снепшоту. Этот файл контролирует добавление, обновление, удаление данных и т.п.
🤩 🤩 🤩 🤩 🤩 🤩
Хотела сюда вставить картинки со структурой всех файлов, но вместе они выглядели некрасиво. Поэтому лучше сделаю отдельные посты с более детальным разбором)
На картинке у нас есть таблица под названием "warehouse". Для нее создаются 2 папки: data + metadata. И всего есть 4 типа файликов
Это сами данные в форматах parquet/orc/avro
Неполный список меты:
- путь к таблице
- время обновления
- схема данных
- версии
- специфичные параметры айсберга
Инфа про файлы с данными: пути к ним, количество записей, статистики
В айсбергах есть снепшот - это консистентное состояние таблицы в определенный момент времени. Снепшот знает, какие файлики ему надо выбрать, чтобы получить таблицу на сегодня/вчера/минуту назад. Поэтому по id снепшота можно вернуться к предыдущим состояниям
Так вот Manifest List - это список манифест-файлов, которые относятся к конкретному снепшоту. Этот файл контролирует добавление, обновление, удаление данных и т.п.
Хотела сюда вставить картинки со структурой всех файлов, но вместе они выглядели некрасиво. Поэтому лучше сделаю отдельные посты с более детальным разбором)
Please open Telegram to view this post
VIEW IN TELEGRAM
51🔥23 11❤8👍7👀1
Libretto.pdf
36.2 MB
Либретто
Хотела сходить на hr-оперу ра прошлой неделе, но не смогла. Потом увидела, что стрим сохранился, глянула минут 10 и решила досмотреть попозже. А сейчас стрима уже нет😅
Ухватила только, что это не стандартная опера с красивыми костюмами и декорациями. Сзади был экран, на который выводились чб рисунки города/офиса, а человек перед экраном пел и двигался. Пели тоже не академично, а скорее эстрадно
По первому впечатлению не зацепило, поэтому отложила. Но осталось либретто, которое перед началом высылали всем на почту. Судя по тексту, выглядит как реклама компании)
Хотела сходить на hr-оперу ра прошлой неделе, но не смогла. Потом увидела, что стрим сохранился, глянула минут 10 и решила досмотреть попозже. А сейчас стрима уже нет
Ухватила только, что это не стандартная опера с красивыми костюмами и декорациями. Сзади был экран, на который выводились чб рисунки города/офиса, а человек перед экраном пел и двигался. Пели тоже не академично, а скорее эстрадно
По первому впечатлению не зацепило, поэтому отложила. Но осталось либретто, которое перед началом высылали всем на почту. Судя по тексту, выглядит как реклама компании)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍8😁4
Краудфандинг ресурсов по SQL
А давайте накидаем любые полезные материалы в этом треде. У меня с этим сложности, я sql еще в универе проходила по лекциям и авторской книжке от препода, а потом 3 года шлифовала на рабочих задачах🙂
P.S. всем комментаторам лайк, сердечко и огонечек
А давайте накидаем любые полезные материалы в этом треде. У меня с этим сложности, я sql еще в универе проходила по лекциям и авторской книжке от препода, а потом 3 года шлифовала на рабочих задачах
P.S. всем комментаторам лайк, сердечко и огонечек
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1🔥1👀1
Forwarded from Arthur Chupakhin
Добрый день,
Начал обучение на дата инженера, посоветуйте пожалуйста хорошую книгу по SQL 🙏
Что то основательное как Лутц на Питон 😅
Начал обучение на дата инженера, посоветуйте пожалуйста хорошую книгу по SQL 🙏
Что то основательное как Лутц на Питон 😅
👍10
Пусть у нас одна очередь считает витрины, вторая льет стриминговые данные, а в третьей де/да/дс запускают свои наработки. И ресурсы разделены в таком соотношении:
Послеобеденное время, витринки особо пока не занимают очередь, пусть 20% вместо 60%. Тут приходит аналитик и запускает огроменный расчет, который перелопачивает 100млрд данных. Он занимает всю свою очередь, а сверху берет в долг ресурсы у витринной очереди, которая пока более-менее свободна
У бедного аналитика приложение будет простаивать, а все, что не посчиталось, потом пойдет считаться заново (когда очередь освободится)
Дисклеймер: любые совпадения с реальными личностями случайны
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁8🔥5❤4🌚2 2
Исследование дешников 2025
Тут ребятки из DevCrowd запускают новый опрос для дата-инженеров, аналитиков, дата-сайентистов, ML-инженеров и их руководителей
Опрос поможет:
🟢 понять трендовые инструменты
🟢 увидеть, как устроена работа у коллег в других продуктах
🟢 узнать, как растут зарплаты и роли в индустрии
🟢 получить данные, которые можно использовать для самодиагностики и карьерного планирования
Я еще не прошла, но исследования выглядят прям масштабно и с кучей циферок
🌷 Пример прошлогоднего исследования — devcrowd.ru/ds24
📕 Опрос займёт 15 минут, результаты появятся в открытом доступе в августе
➡️ Пройти опрос
Тут ребятки из DevCrowd запускают новый опрос для дата-инженеров, аналитиков, дата-сайентистов, ML-инженеров и их руководителей
Опрос поможет:
Я еще не прошла, но исследования выглядят прям масштабно и с кучей циферок
Please open Telegram to view this post
VIEW IN TELEGRAM
Исследование специалистов DS/ML/AI-направлений, 2024
Исследование рынка специалистов DS/ML/AI-направлений, 2024
DevCrowd вместе с Контуром провели исследование рынка специалистов DS/ML/AI-направлений, 2024
❤6👍2 1
1. Командообразование
Продолжаю рассказывать про курс команды. Как я проходила собес и первые впечатления - тут
Описание программы - тут
📝 В первом модуле обучение было в формате лекций с 2-3 перерывами на практику в группах
Нам рассказали:
🔴 что такое команда
🔴 какие еще формы совместной работы могут быть, кроме команды
🔴 стадии формирования команды по Брюсу Такману (вы наверняка могли видеть картинку forming-storming-norming-performing-adjourning)
🔴 про методику Big Five (что ожидать от членов своей команды и как мотивировать каждого)
🔴 про целеполагание
Вопрос на подумать: с кросс-функциональной командой проще, т.к. у них есть общая цель. А вот есть ли она у функциональной команды (где только de, только разрабы и т.д.)?
Пара мифов (с точки зрения лектора):
1. В команде может быть оценен только групповой результат, но не индивидуальный
2. В команде все равны и все делится поровну
✏️ На практиках мы в группах по 6 человек + фасилитатор делали задания:
🟣 определяли по описанию команды, действительно ли ее можно на 100% назвать командой и почему нет
🟣 определяли по описаниям людей, какие полюса в характере более выражены, а какие менее
🟣 определяли по описанию команды/проекта, должна ли быть у них общая цель и нужно ли нам лепить команду, или и так норм
〰️ 〰️ 〰️ 〰️ 〰️ 〰️
Лектор изначально сказал, что он зануда и душнила, и это так и было)) Много теоретических определений, признаков и таблиц, как в книжках по обществознанию. Но лекторы должны меняться каждый модуль, надеюсь, в следующий раз будет более приближено к реальным ситуациям
Продолжаю рассказывать про курс команды. Как я проходила собес и первые впечатления - тут
Описание программы - тут
Нам рассказали:
Вопрос на подумать: с кросс-функциональной командой проще, т.к. у них есть общая цель. А вот есть ли она у функциональной команды (где только de, только разрабы и т.д.)?
Пара мифов (с точки зрения лектора):
1. В команде может быть оценен только групповой результат, но не индивидуальный
2. В команде все равны и все делится поровну
Лектор изначально сказал, что он зануда и душнила, и это так и было)) Много теоретических определений, признаков и таблиц, как в книжках по обществознанию. Но лекторы должны меняться каждый модуль, надеюсь, в следующий раз будет более приближено к реальным ситуациям
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥11❤9
Static vs Dynamic Partitioning
В Hive есть два вида партицирования: статическое и динамическое
Сначала я столкнулась с ошибкой:
Давайте разберем на примерах
У нас есть таблица, которая партицирована по двум полям:
Теперь пойдем вставлять данные
🤩 Статическое
Здесь мы заранее говорим, в какую партицию будем вставлять кусок данных
🤩 Динамическое
Здесь Hive сам определяет по данным, которые мы вставляем
Но чтобы такое сработало, нужны 2 конфига:
По дефолту стоят false и strict. strict означает, что должна существовать хотя бы одна статическая партиция (о чем и была ошибка)
В Hive есть два вида партицирования: статическое и динамическое
Сначала я столкнулась с ошибкой:
Exception in thread "main" org.apache.spark.SparkException: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mode=nonstrict
Давайте разберем на примерах
У нас есть таблица, которая партицирована по двум полям:
CREATE TABLE sales_data (...)
PARTITIONED BY (date STRING, country STRING);
Теперь пойдем вставлять данные
INSERT INTO sales_data
PARTITION (date=’2024–03–23', country=’USA’) VALUES (...);
Здесь мы заранее говорим, в какую партицию будем вставлять кусок данных
INSERT INTO sales_data
PARTITION (date, country)
VALUES (..., ‘2024–03–23’, ‘USA’);
Здесь Hive сам определяет по данным, которые мы вставляем
Но чтобы такое сработало, нужны 2 конфига:
.config("hive.exec.dynamic.partition", "true")
.config("hive.exec.dynamic.partition.mode", "nonstrict")
По дефолту стоят false и strict. strict означает, что должна существовать хотя бы одна статическая партиция (о чем и была ошибка)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍8🔥6😁1 1
Никому больше не приходит этот спам?
С рандомными несуществующими доменами, как будто «сгенерируй домен почты со словами market, analyst или report»:
b2bproanalyst.com
industriesreport.com
themarketjournals.com
truevaluereports.com
marketsharereport.com
reportarc.com
marketprospectus.com
yoymarkets.com
Они пишут раза по 3-4 и предлагают мне получить пример отчета по данным:
С рандомными несуществующими доменами, как будто «сгенерируй домен почты со словами market, analyst или report»:
b2bproanalyst.com
industriesreport.com
themarketjournals.com
truevaluereports.com
marketsharereport.com
reportarc.com
marketprospectus.com
yoymarkets.com
Они пишут раза по 3-4 и предлагают мне получить пример отчета по данным:
Would you be interested in receiving a Brief TOC/Sample of data lakes market research report - global forecast to 2030 study?
👀8❤1
Запускала я свои спарк приложения в кубере. Ну надо потестить сначала на небольшом наборе данных и с небольшим количеством ресурсов
Сколько возьмем экзекьюторов?
Пусть будет 5 экзекьюторов, это уже не 1-2, но и не 40, для старта в самый раз
А сколько ядер?
Оптимально вроде как по 5 ядер, но 25 уже кажется многовато. Пусть будет по 4
Позапускала, потестила, все возникающие ошибки исправила. Теперь пора взять побольше данных и увеличить ресурсы
Caused by: java.lang.IllegalArgumentException: requirement failed: initial executor number 10 must between min executor number 1 and max executor number 5
Ага, не получится, уже в системе заранее заложили лимит в 5 экзекьюторов, меняем:
spark.dynamicAllocation.maxExecutors=10
Ага, тоже не работает. Оказалось, что уже зашит конфиг и его нужно самому менять при необходимости:
spark.kubernetes.executor.limit.cores 4
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤9😁2 2
Прочитала книжку про идиотов
В ней 408 страниц, но она очень быстро прочиталась всего за 4 дня
😐 Мне как будто это все и так было понятно. Есть 4 цвета, которые хорошо ложатся на темпераменты. Описываются их сильные и слабые стороны, как с ними общаться, как мотивировать, как окружающие их воспринимают и как они сами себя, кто с кем лучше сочетается и т.п.
Суть книги - кругом одни идиоты для человека, не понимающего других
Дам очень краткую характеристику с прикольными авторскими цитатками:
🔴 красные - властные, деятельные
🟡 желтые - много общаются, хотят все новое
🟢 зеленые - спокойные, ценят отношения, избегают конфликтов, таких большинство
🔵 синие - все выясняют до мелочей
Люди обычно сочетают в себе несколько цветов. Когда я умывалась, вдруг увидела ряд зеленых баночек, вспомнила, что мой любимый цвет - темно-зеленый, больше всего в моем гардеробе голубого, красного - совсем чуть-чуть, а желтого нет вообще. Норм подвязала?😁
Мы как-то с коллегами проходили тест тут. Там 2 блока по 14 вопросов, можете тоже попробовать и покидать свои резы)
В ней 408 страниц, но она очень быстро прочиталась всего за 4 дня
Суть книги - кругом одни идиоты для человека, не понимающего других
Дам очень краткую характеристику с прикольными авторскими цитатками:
Или по-моему, или никак
Только мертвые рыбы плывут по течению
Новые проекты - вот это да! Собрать новую и динамичную команду - вот это задача! Запустить проекты и начать рисовать светлые перспективы - ну конечно! А следить за тем, что в проекте идет не так?
Да, она, черт возьми, согласна
Откуда взялось масляное пятно на полу? Возможно, продырявился пакет, и что-то протекло. По какой причине он протек? Потому что он плохого качества. Но каким образом оказался пакет плохого качества? Потому что отдел закупок нашей фирмы сэкономил на расходах. Но кто велел нам снижать планку качества?
Люди обычно сочетают в себе несколько цветов. Когда я умывалась, вдруг увидела ряд зеленых баночек, вспомнила, что мой любимый цвет - темно-зеленый, больше всего в моем гардеробе голубого, красного - совсем чуть-чуть, а желтого нет вообще. Норм подвязала?
Мы как-то с коллегами проходили тест тут. Там 2 блока по 14 вопросов, можете тоже попробовать и покидать свои резы)
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
дата инженеретта
Порекомендовали книжку, пойду зачитываться на выходных
Желаю всем хорошенечко отдохнуть 🥰
Желаю всем хорошенечко отдохнуть 🥰
❤12 5🤔3🔥2💯1