Новый CLI клиент https://willmcgugan.github.io/toad-released/
Demo выглядит классно. Создатель сделал упор на markdown и user experience
Demo выглядит классно. Создатель сделал упор на markdown и user experience
Will McGugan
Toad is a unified experience for AI in the terminal
My startup for terminals wrapped up mid-2025 when the funding ran dry.
So I don’t have money, but what I do have are a very particular set of skills.
Skills I have acquired over a very long career convincing terminals they are actually GUIs.
So I don’t have money, but what I do have are a very particular set of skills.
Skills I have acquired over a very long career convincing terminals they are actually GUIs.
🐳4
Интересный кейс был недавно.
Сейчас работа без AI code assistant чувствуется так, как будто нужно пешком, иногда на велосипеде, проехать 100 км вместо того, чтобы взять машину.
Без AI уже очень сложно быть на 100% эффективным.
Конечно, ключевой вопрос — это фундаментальные знания. Например, я могу не знать ничего в мобильной разработке, но с AI смогу создать мобильное приложение.
Качество будет так себе, ведь у меня нет опыта в этом деле и AI нафантазирует за меня, сделает MVP, который вряд ли попадёт в продакшн. И самое главное — знаний у меня в мобильной разработке не прибавится.
А вот если я эксперт в какой-то области и просто хочу аутсорсить простые запросы и задачки junior (AI), и могу чётко поставить задачку с предсказуемым и проверяемым результатом, то здесь и появляется эффективность и скорость. Я держу в голове контекст, архитектуру и контролирую процесс, а бездушная машина печатает мои мысли и валидирует их через MCP или CLI.
То есть иметь AI IDE — это такой base line. Это не про co-pilot для каждого сотрудника, которые там будут спрашивать про погоду.
Теперь про мой кейс.
Что делать, если AI IDE заблокированы. ChatGPT и Anthropic заблокированы, и есть только Copilot в Teams (бесплатная версия).
Для начала добываем VSCode — лучший бесплатный IDE. Дальше нам надо поставить плагины, тут есть две опции:
• Cline
• KiloCode
Очевидно, API Claude закрыт, но у меня есть API ключ. Бесплатный copilot рассказал мне про сервис — Openrouter.ai
Сервис позволяет зарегистрироваться бесплатно, и у него собственный API Gateway. В нём я добавил свой Claude API ключ и подключил OpenRouter в KiloCode как провайдера. Задача для меня решена.
Картинки из OpenRouter.
Сейчас работа без AI code assistant чувствуется так, как будто нужно пешком, иногда на велосипеде, проехать 100 км вместо того, чтобы взять машину.
Без AI уже очень сложно быть на 100% эффективным.
Конечно, ключевой вопрос — это фундаментальные знания. Например, я могу не знать ничего в мобильной разработке, но с AI смогу создать мобильное приложение.
Качество будет так себе, ведь у меня нет опыта в этом деле и AI нафантазирует за меня, сделает MVP, который вряд ли попадёт в продакшн. И самое главное — знаний у меня в мобильной разработке не прибавится.
А вот если я эксперт в какой-то области и просто хочу аутсорсить простые запросы и задачки junior (AI), и могу чётко поставить задачку с предсказуемым и проверяемым результатом, то здесь и появляется эффективность и скорость. Я держу в голове контекст, архитектуру и контролирую процесс, а бездушная машина печатает мои мысли и валидирует их через MCP или CLI.
То есть иметь AI IDE — это такой base line. Это не про co-pilot для каждого сотрудника, которые там будут спрашивать про погоду.
Теперь про мой кейс.
Что делать, если AI IDE заблокированы. ChatGPT и Anthropic заблокированы, и есть только Copilot в Teams (бесплатная версия).
Для начала добываем VSCode — лучший бесплатный IDE. Дальше нам надо поставить плагины, тут есть две опции:
• Cline
• KiloCode
Очевидно, API Claude закрыт, но у меня есть API ключ. Бесплатный copilot рассказал мне про сервис — Openrouter.ai
OpenRouter.ai — это универсальная платформа-агрегатор, которая предоставляет единый API-доступ к более чем 400 языковым моделям искусственного интеллекта от различных провайдеров (OpenAI, Anthropic, Google, Meta, Mistral и других).
Сервис позволяет зарегистрироваться бесплатно, и у него собственный API Gateway. В нём я добавил свой Claude API ключ и подключил OpenRouter в KiloCode как провайдера. Задача для меня решена.
Картинки из OpenRouter.
⚡28❤🔥11🌚5🤷♀2
Лекция в MIT про Computer Science в год моего рождения.
https://youtu.be/-J_xL4IGhJA?si=OAnPFlJg9qK8lYHQ
https://youtu.be/-J_xL4IGhJA?si=OAnPFlJg9qK8lYHQ
Computer Science is not about Science or Computers.
YouTube
Lecture 1A: Overview and Introduction to Lisp
MIT 6.001 Structure and Interpretation of Computer Programs, Spring 2005
Instructor: Harold Abelson, Gerald Jay Sussman, Julie Sussman
View the complete course: https://ocw.mit.edu/6-001S05
YouTube Playlist: https://www.youtube.com/playlist?list=PLE18841CABEA24090…
Instructor: Harold Abelson, Gerald Jay Sussman, Julie Sussman
View the complete course: https://ocw.mit.edu/6-001S05
YouTube Playlist: https://www.youtube.com/playlist?list=PLE18841CABEA24090…
❤🔥10
Что такое большие данные, а что такое маленькие данные?
Каждый год это понятие меняется. Для аналитических систем это важно, ведь мы строим инженерные системы, чтобы обрабатывать большие данные! (Но непонятно, что значит большие данные).
Самое простое определение - данные, которые не помещаются на локальном компьютере и которые мы не можем загрузить в оперативную память, даже если они сжаты.
Мы начинаем смотреть на distributed computing engines - Greenplum, Spark, Snowflake, Trino и т. п. Такие системы умеют обрабатывать данные параллельно.
Часто мы выбираем дорогую систему (distributed) для наших будущих объемов, а кто-то вообще ни разу в жизни ничего не выбирал и работает на legacy всю свою карьеру.
А ведь времена меняются, и теперь мы можем читать 1 ТБ данных с помощью одной машины, если использовать DuckDB. Можете посмотреть подробности в статье -
Processing 1 TB with DuckDB in less than 30 seconds
Товарищ сначала сгенерировал 1 ТБ данных на внешнем SSD, а потом написал к ним запрос. Если использовать MotherDuck и читать данные с S3, будет еще удобнее и быстрее.
В новом году хочу попробовать сократить расходы на Snowflake за счет использования DuckDB.
Каждый год это понятие меняется. Для аналитических систем это важно, ведь мы строим инженерные системы, чтобы обрабатывать большие данные! (Но непонятно, что значит большие данные).
Самое простое определение - данные, которые не помещаются на локальном компьютере и которые мы не можем загрузить в оперативную память, даже если они сжаты.
Мы начинаем смотреть на distributed computing engines - Greenplum, Spark, Snowflake, Trino и т. п. Такие системы умеют обрабатывать данные параллельно.
Часто мы выбираем дорогую систему (distributed) для наших будущих объемов, а кто-то вообще ни разу в жизни ничего не выбирал и работает на legacy всю свою карьеру.
А ведь времена меняются, и теперь мы можем читать 1 ТБ данных с помощью одной машины, если использовать DuckDB. Можете посмотреть подробности в статье -
Processing 1 TB with DuckDB in less than 30 seconds
Товарищ сначала сгенерировал 1 ТБ данных на внешнем SSD, а потом написал к ним запрос. Если использовать MotherDuck и читать данные с S3, будет еще удобнее и быстрее.
В новом году хочу попробовать сократить расходы на Snowflake за счет использования DuckDB.
🐳24❤🔥14⚡10🌚1
The AI Safety Expert: These Are The Only 5 Jobs That Will Remain In 2030! - Dr. Roman Yampolskiy
Не самое оптимистичное видео про будущее с AI.
Мы точно узнаем, как оно будет, осталось не долго!😌
А вы как думаете? Авось пронесет или будет уже не до шуточек?
Через два года ИИ заменит большинство людей и профессий.
Я имею в виду, что через пять лет мы увидим такой уровень безработицы, которого никогда раньше не было.
Не 10%, а 99%.
Не самое оптимистичное видео про будущее с AI.
Мы точно узнаем, как оно будет, осталось не долго!
А вы как думаете? Авось пронесет или будет уже не до шуточек?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🙈19🙊8🙉6❤🔥1🤷1
Please open Telegram to view this post
VIEW IN TELEGRAM
1🙈63😭38🌚13🍌2🤷2 1
Как обещал, я записал видео как я использую Cursor с MCP в повседневной работе, но для начала показал VSCode, Claude Code, Kilo Code, Cline, Openrouter.
https://youtu.be/xYtXv6rqZnA
PS Если у вас есть похожий опыт, можно тоже записать демо и добавить в канал или сделать вебинар.
https://youtu.be/xYtXv6rqZnA
PS Если у вас есть похожий опыт, можно тоже записать демо и добавить в канал или сделать вебинар.
YouTube
AI в IDE: Как я 10x Ускорил Работу Дата Инженера (Cursor, Claude, MCP)
🚀 Как AI в IDE революционизирует работу дата инженера?
В этом видео я показываю пример по использованию AI-инструментов в IDE для максимальной продуктивности!
Что вы узнаете:
✅ VSCode + Claude Code – базовая настройка AI-ассистента
✅ Плагины Cline и KiloCode…
В этом видео я показываю пример по использованию AI-инструментов в IDE для максимальной продуктивности!
Что вы узнаете:
✅ VSCode + Claude Code – базовая настройка AI-ассистента
✅ Плагины Cline и KiloCode…
2⚡57❤🔥11 4🍌1
Несколько статей, которые рассказывают про терминологию GenAI
Foundation vs. Instruct vs. Thinking Models - Статья объясняет разницу между тремя типами языковых моделей: Base/Foundation модели (предсказывают следующий токен, как библиотека без точки входа), Instruct модели (дообучены выполнять инструкции через SFT и RLHF, как готовое приложение) и Thinking модели (используют chain-of-thought reasoning для сложных задач, как оператор приложения). Автор рекомендует использовать Instruct модели для 90% случаев, Thinking модели для сложной логики (5%), и дообучать Base модели только для специфических доменов (5%).
AI Systems Engineering Patterns - Статья представляет 30 паттернов инженерии AI-систем, сгруппированных в 5 категорий: интерфейс (промпт-шаблоны, структурированный ввод/вывод, санитизация), инструменты (Function Calling, MCP, песочницы), контекст (CAG, RAG, кэширование, память), оркестрация (роутинг, каскадирование, LLM Gateway, Flow Engineering) и агенты (ReAct, планирование, мультиагентные системы). Автор показывает, что опыт традиционной разработки ПО применим к AI-системам через знакомые концепции (кэширование, валидация, композиция), адаптированные для работы с LLM, и для каждого паттерна объясняет применение, компромиссы и риски.
Facilitating AI adoption at Imprint - Статья описывает 18-месячный опыт автора по внедрению AI-инструментов и агентов в компании Imprint, включая подходы к стратегии, обучению сотрудников, созданию внутренних агентов и измерению эффективности. Основной вывод: успешное внедрение AI требует глубокого погружения лидеров в детали, фокуса на реальной продуктивности (а не на имидже), и тесного партнерства между разработчиками платформ и пользователями, а не просто создания инструментов в надежде, что их будут использовать.
Generative AI Strategy - Это презентация в формате слайдов (июнь 2023) с фреймворком для разработки стратегии внедрения generative AI в компании, созданная в ответ на вопрос "Руководство требует внедрить генеративный AI, что делать?". Статья представляет собой набор слайдов с практическим подходом к выбору направлений использования генеративного AI, оценке возможностей и рисков, но автор отмечает, что это ранняя версия идей, которую она планирует развить в полноценную статью позже (есть также видео доклада на YouTube).
Agents - подробная статья (январь 2025, адаптация из книги "AI Engineering") о AI-агентах — системах, которые воспринимают окружение и действуют в нём. Статья охватывает ключевые аспекты: определение агента через окружение и набор инструментов (tools), планирование (разделение на генерацию плана, валидацию и выполнение, дискуссия о способности LLM к планированию), инструменты (три категории: расширение знаний через RAG/поиск, расширение возможностей через калькуляторы/code interpreters, write-действия для изменения данных), рефлексия (паттерны ReAct и Reflexion для анализа и коррекции ошибок), и оценку агентов (режимы отказа в планировании, использовании инструментов и эффективности). Автор подчёркивает, что успех агента зависит от правильного выбора инструментов и качества планировщика, обещая будущие посты про фреймворки и системы памяти.
Common pitfalls when building generative AI applications - Статья описывает 6 типичных ошибок при создании генеративных AI-приложений (январь 2025):
1) использование gen AI там, где он не нужен (многие задачи решаются проще без AI),
2) путаница между "плохим продуктом" и "плохим AI" (часто проблема в UX, а не в технологии,
3) старт со сложных решений (раннее использование фреймворков и fine-tuning вместо простых подходов),
4) переоценка ранних успехов,
5) отказ от человеческой оценки в пользу только AI-судей (лучшие команды ежедневно проверяют 30-1000 примеров вручную для калибровки, обнаружения проблем и улучшения),
6) краудсорсинг use cases без общей стратегии (приводит к множеству мелких низкоэффективных приложений). Автор подчёркивает важность продуктового мышления и стратегии, а не просто технологии.
Foundation vs. Instruct vs. Thinking Models - Статья объясняет разницу между тремя типами языковых моделей: Base/Foundation модели (предсказывают следующий токен, как библиотека без точки входа), Instruct модели (дообучены выполнять инструкции через SFT и RLHF, как готовое приложение) и Thinking модели (используют chain-of-thought reasoning для сложных задач, как оператор приложения). Автор рекомендует использовать Instruct модели для 90% случаев, Thinking модели для сложной логики (5%), и дообучать Base модели только для специфических доменов (5%).
AI Systems Engineering Patterns - Статья представляет 30 паттернов инженерии AI-систем, сгруппированных в 5 категорий: интерфейс (промпт-шаблоны, структурированный ввод/вывод, санитизация), инструменты (Function Calling, MCP, песочницы), контекст (CAG, RAG, кэширование, память), оркестрация (роутинг, каскадирование, LLM Gateway, Flow Engineering) и агенты (ReAct, планирование, мультиагентные системы). Автор показывает, что опыт традиционной разработки ПО применим к AI-системам через знакомые концепции (кэширование, валидация, композиция), адаптированные для работы с LLM, и для каждого паттерна объясняет применение, компромиссы и риски.
Facilitating AI adoption at Imprint - Статья описывает 18-месячный опыт автора по внедрению AI-инструментов и агентов в компании Imprint, включая подходы к стратегии, обучению сотрудников, созданию внутренних агентов и измерению эффективности. Основной вывод: успешное внедрение AI требует глубокого погружения лидеров в детали, фокуса на реальной продуктивности (а не на имидже), и тесного партнерства между разработчиками платформ и пользователями, а не просто создания инструментов в надежде, что их будут использовать.
Generative AI Strategy - Это презентация в формате слайдов (июнь 2023) с фреймворком для разработки стратегии внедрения generative AI в компании, созданная в ответ на вопрос "Руководство требует внедрить генеративный AI, что делать?". Статья представляет собой набор слайдов с практическим подходом к выбору направлений использования генеративного AI, оценке возможностей и рисков, но автор отмечает, что это ранняя версия идей, которую она планирует развить в полноценную статью позже (есть также видео доклада на YouTube).
Agents - подробная статья (январь 2025, адаптация из книги "AI Engineering") о AI-агентах — системах, которые воспринимают окружение и действуют в нём. Статья охватывает ключевые аспекты: определение агента через окружение и набор инструментов (tools), планирование (разделение на генерацию плана, валидацию и выполнение, дискуссия о способности LLM к планированию), инструменты (три категории: расширение знаний через RAG/поиск, расширение возможностей через калькуляторы/code interpreters, write-действия для изменения данных), рефлексия (паттерны ReAct и Reflexion для анализа и коррекции ошибок), и оценку агентов (режимы отказа в планировании, использовании инструментов и эффективности). Автор подчёркивает, что успех агента зависит от правильного выбора инструментов и качества планировщика, обещая будущие посты про фреймворки и системы памяти.
Common pitfalls when building generative AI applications - Статья описывает 6 типичных ошибок при создании генеративных AI-приложений (январь 2025):
1) использование gen AI там, где он не нужен (многие задачи решаются проще без AI),
2) путаница между "плохим продуктом" и "плохим AI" (часто проблема в UX, а не в технологии,
3) старт со сложных решений (раннее использование фреймворков и fine-tuning вместо простых подходов),
4) переоценка ранних успехов,
5) отказ от человеческой оценки в пользу только AI-судей (лучшие команды ежедневно проверяют 30-1000 примеров вручную для калибровки, обнаружения проблем и улучшения),
6) краудсорсинг use cases без общей стратегии (приводит к множеству мелких низкоэффективных приложений). Автор подчёркивает важность продуктового мышления и стратегии, а не просто технологии.
❤🔥15
Building A Generative AI Platform - Это очень подробная статья (июль 2024) о построении платформы для генеративного AI, которая постепенно описывает архитектуру от простейшей (запрос → модель → ответ) до сложной production-системы. Основные компоненты:
1) Context construction (RAG с embedding/term-based поиском, SQL-запросы, веб-поиск, query rewriting),
2) Guardrails (входные для защиты от утечек PII и jailbreaking, выходные для проверки качества/токсичности/галлюцинаций),
3) Router и Gateway (маршрутизация запросов к разным моделям, унифицированный доступ, fallback, контроль доступа),
4) Cache (prompt cache, exact cache, semantic cache для снижения латентности и стоимости),
5) Complex logic (циклы, условное ветвление, write-действия),
6) Observability (метрики, логи, трейсы) и
7) Orchestration (LangChain, LlamaIndex и др., но автор советует начинать без них).
А какие вы порекомендуете свежие ресурсы? Если хотите добавить ее как ссылку в коммент, можно использовать код:
1) Context construction (RAG с embedding/term-based поиском, SQL-запросы, веб-поиск, query rewriting),
2) Guardrails (входные для защиты от утечек PII и jailbreaking, выходные для проверки качества/токсичности/галлюцинаций),
3) Router и Gateway (маршрутизация запросов к разным моделям, унифицированный доступ, fallback, контроль доступа),
4) Cache (prompt cache, exact cache, semantic cache для снижения латентности и стоимости),
5) Complex logic (циклы, условное ветвление, write-действия),
6) Observability (метрики, логи, трейсы) и
7) Orchestration (LangChain, LlamaIndex и др., но автор советует начинать без них).
А какие вы порекомендуете свежие ресурсы? Если хотите добавить ее как ссылку в коммент, можно использовать код:
http://ssilka.ru
❤🔥13🌚2
Для инвесторов было необходимо посмотреть демографию клиентов в США. Для такой задачи можно использовать открытые источники, например данные US Census Bureau, которые доступны в Snowflake.
Задача простая, показать типового американца клиента нашего продукта. Последний опрос проводился в декабре 2023.
Сами по себе данные очень неудобные https://api.census.gov/data/2023/acs/acs5/variables.html, так что AI очень хорошо помог (Cursor, MCP - прям как я в недавнем видео записал).
Чтобы упросить логику, трансформации разложил по слоям в dbt.
Хотел поделиться примером демографии по медиане доходов в США:
То есть из примера видно, что средний доход в штатах это 75к в год (до налогов), где-то 4т в месяц на руки. А высокий доход это 150т+, около 8т на руки в месяц. Точно так же и в Канаде, только в Канадских долларах, но налоги будут выше и цены на все тоже будут выше.
А если посмотреть на зп Инженера данных, то старший специалист в США это 180-220к$, а в Канаде 160-180к CAD.
То есть зарплаты в ИТ они выше, чем “high income”.
Но у них есть недостаток, как правило все “high income” специалисты будут жить в дорогих городах, платить большую ипотеку или рент, платить кредит за машину(ы) и по факту, они будут такими же бедными.
Я бы сделал сейчас другие бакеты:
- High Income: >600к
- Upper Middle: 400-600к
- Middle: 250-400к
- Lower: <200к
Бюро переписи населения США публикует данные о американском населении и экономике.
Американское исследование сообществ (American Community Survey) этого агентства — это постоянно проводимый опрос, который предоставляет самые актуальные социальные, экономические, жилищные и демографические статистические данные. Ежегодно публикуются как однолетние, так и пятилетние оценки для различных уровней географических единиц, включая штаты, города, почтовые индексы и группы переписных участков. В отличие от Всеобщей переписи населения (Decennial Census), Американское исследование сообществ публикуется каждый год и рассылается по выборке адресов в США (~3,5 миллиона).
Задача простая, показать типового американца клиента нашего продукта. Последний опрос проводился в декабре 2023.
Сами по себе данные очень неудобные https://api.census.gov/data/2023/acs/acs5/variables.html, так что AI очень хорошо помог (Cursor, MCP - прям как я в недавнем видео записал).
Чтобы упросить логику, трансформации разложил по слоям в dbt.
Хотел поделиться примером демографии по медиане доходов в США:
CASE
WHEN median_household_income_dollars >= 150000 THEN 'High Income ($150k+)'
WHEN median_household_income_dollars >= 100000 THEN 'Upper Middle ($100k-$150k)'
WHEN median_household_income_dollars >= 75000 THEN 'Middle Income ($75k-$100k)'
WHEN median_household_income_dollars >= 50000 THEN 'Lower Middle ($50k-$75k)'
ELSE 'Lower Income (<$50k)'
То есть из примера видно, что средний доход в штатах это 75к в год (до налогов), где-то 4т в месяц на руки. А высокий доход это 150т+, около 8т на руки в месяц. Точно так же и в Канаде, только в Канадских долларах, но налоги будут выше и цены на все тоже будут выше.
А если посмотреть на зп Инженера данных, то старший специалист в США это 180-220к$, а в Канаде 160-180к CAD.
То есть зарплаты в ИТ они выше, чем “high income”.
Но у них есть недостаток, как правило все “high income” специалисты будут жить в дорогих городах, платить большую ипотеку или рент, платить кредит за машину(ы) и по факту, они будут такими же бедными.
Я бы сделал сейчас другие бакеты:
- High Income: >600к
- Upper Middle: 400-600к
- Middle: 250-400к
- Lower: <200к
Snowflake
US Census Bureau | Documentation
Delivers population, housing, economic, and geographic data for the United States.
❤🔥18💯5⚡3😭3 1
Очень интересный обзор М5 процессора https://youtu.be/Jh9pFp1oM7E?si=gwUcZVsxPhzA4TFk
Будет интересно с детьми посмотреть
PS согласно автору без использования AI, все сделано в Blender. Хотя у Blender есть MCP.
Будет интересно с детьми посмотреть
PS согласно автору без использования AI, все сделано в Blender. Хотя у Blender есть MCP.
YouTube
I shrunk down into an M5 chip
I shrunk myself down to explore the scale of transistors.
Watch the companion video from @EpicSpaceman
MKBHD Merch: http://shop.MKBHD.com
Playlist of MKBHD Intro music: https://goo.gl/B3AWV5
~
http://twitter.com/MKBHD
http://instagram.com/MKBHD
http:…
Watch the companion video from @EpicSpaceman
MKBHD Merch: http://shop.MKBHD.com
Playlist of MKBHD Intro music: https://goo.gl/B3AWV5
~
http://twitter.com/MKBHD
http://instagram.com/MKBHD
http:…
❤🔥11⚡2
Apache Spark выпустил релиз 4.1
Если 4.0 было страшно использовать, то 4.1 уже вполне.
Ключевые обновления
1. Spark Declarative Pipelines (SDP)
Новый декларативный фреймворк, который позволяет разработчикам определять наборы данных и запросы, а Spark автоматически управляет:
• Графом выполнения и порядком зависимостей
• Параллелизмом, контрольными точками и повторными попытками
• Поддержка Python, SQL и Spark Connect API
2. Real-Time Mode (RTM) в Structured Streaming
Первая официальная поддержка режима реального времени для непрерывной обработки с задержкой менее секунды:
• Задержка p99 в диапазоне единиц миллисекунд для задач без сохранения состояния
• Поддержка Kafka источников и приёмников
• Активируется простым изменением конфигурации без переписывания кода
3. Улучшения PySpark
Arrow-нативные UDF и UDTF:
• Новые декораторы @arrow_udf и @arrow_udtf для эффективного выполнения без накладных расходов на конвертацию Pandas
• Прямая работа с объектами PyArrow для векторизованной обработки
Python Worker Logging:
• Захват логов UDF через встроенную табличную функцию
• Упрощённая отладка Python функций
Filter Pushdown для Python Data Sources:
• Уменьшение перемещения данных за счёт обработки фильтров на уровне источника
4. Spark Connect
• Spark ML теперь GA для Python клиента
• Интеллектуальное кэширование моделей и управление памятью
• Сжатие планов выполнения protobuf с использованием zstd
• Потоковая передача результатов Arrow порциями
• Снято ограничение в 2 ГБ для локальных отношений
5. Улучшения SQL
SQL Scripting (GA):
• Включён по умолчанию
• Поддержка циклов, условных операторов и обработчиков ошибок
• Новый синтаксис CONTINUE HANDLER и многопеременное объявление DECLARE
VARIANT Data Type (GA):
• Стандартизированное хранение полуструктурированных данных (JSON)
• Shredding для оптимизации чтения:
▪ В 8 раз быстрее по сравнению со стандартным VARIANT
▪ В 30 раз быстрее по сравнению с JSON-строками
Recursive CTE:
• Поддержка рекурсивных общих табличных выражений для обхода иерархических структур
Новые аппроксимационные скетчи:
• KLL (для квантилей) и Theta скетчи для эффективных операций над множествами
Производительность
• Режим реального времени обеспечивает улучшение задержки на порядки величин
• VARIANT с shredding: 8-30x ускорение чтения (с компромиссом 20-50% замедления записи)
Если 4.0 было страшно использовать, то 4.1 уже вполне.
Ключевые обновления
1. Spark Declarative Pipelines (SDP)
Новый декларативный фреймворк, который позволяет разработчикам определять наборы данных и запросы, а Spark автоматически управляет:
• Графом выполнения и порядком зависимостей
• Параллелизмом, контрольными точками и повторными попытками
• Поддержка Python, SQL и Spark Connect API
2. Real-Time Mode (RTM) в Structured Streaming
Первая официальная поддержка режима реального времени для непрерывной обработки с задержкой менее секунды:
• Задержка p99 в диапазоне единиц миллисекунд для задач без сохранения состояния
• Поддержка Kafka источников и приёмников
• Активируется простым изменением конфигурации без переписывания кода
3. Улучшения PySpark
Arrow-нативные UDF и UDTF:
• Новые декораторы @arrow_udf и @arrow_udtf для эффективного выполнения без накладных расходов на конвертацию Pandas
• Прямая работа с объектами PyArrow для векторизованной обработки
Python Worker Logging:
• Захват логов UDF через встроенную табличную функцию
• Упрощённая отладка Python функций
Filter Pushdown для Python Data Sources:
• Уменьшение перемещения данных за счёт обработки фильтров на уровне источника
4. Spark Connect
• Spark ML теперь GA для Python клиента
• Интеллектуальное кэширование моделей и управление памятью
• Сжатие планов выполнения protobuf с использованием zstd
• Потоковая передача результатов Arrow порциями
• Снято ограничение в 2 ГБ для локальных отношений
5. Улучшения SQL
SQL Scripting (GA):
• Включён по умолчанию
• Поддержка циклов, условных операторов и обработчиков ошибок
• Новый синтаксис CONTINUE HANDLER и многопеременное объявление DECLARE
VARIANT Data Type (GA):
• Стандартизированное хранение полуструктурированных данных (JSON)
• Shredding для оптимизации чтения:
▪ В 8 раз быстрее по сравнению со стандартным VARIANT
▪ В 30 раз быстрее по сравнению с JSON-строками
Recursive CTE:
• Поддержка рекурсивных общих табличных выражений для обхода иерархических структур
Новые аппроксимационные скетчи:
• KLL (для квантилей) и Theta скетчи для эффективных операций над множествами
Производительность
• Режим реального времени обеспечивает улучшение задержки на порядки величин
• VARIANT с shredding: 8-30x ускорение чтения (с компромиссом 20-50% замедления записи)
1❤🔥33👨💻1