Анализ больших данных и «умный» компас для выбора локаций магазинов
Совместная магистратура по искусственному интеллекту ИТМО и Napoleon IT – AI Talent Hub в сентябре 2023 года запустила лабораторию по искусственному интеллекту c компанией X5 Tech на базе института. В течение 9 месяцев молодые ML-инженеры работали в одной команде с опытными экспертами X5 Tech и представили несколько новых продуктов для одного из крупнейших ритейлеров страны — X5 Group. По итогам стажировки, лучшие магистранты стали полноценными сотрудниками X5 Tech.
В рамках объединенной AI-лаборатории X5 Tech и AI Talent Hub разработали MVP системы с использованием моделей машинного обучения для внедрения в процессы ритейлера X5 Group.
Первый продукт, который создала команда, стал сервис с RAG (генерация с расширенным поиском). Сервис включает в себя генерацию ответа пользователям с учетом дополнительной релевантной информации из больших текстовых документов. Результат анализа больших данных формируется на основе технологии машинного обучения.
«Специалисты AI-лаборатории улучшили некоторые бизнес-метрики на 40% и встроили алгоритм RAG в нашу систему. Обновленная система позволит ускорить проверку актуальности информации в больших системах и автоматизировать QA-системы», — пояснил руководитель команды по разработке генеративных сетей в Х5 Group Мичил Егоров.
Вторым продуктом, который разработала объединенная команда, стала платформа Shop Placement Platform. Она позволяет прогнозировать выручку в определенной локации на основе геоданных и информации о продажах. Модель, наподобие компаса, помогает определить оптимальное местоположение новых магазинов для X5 Group, эффективно учитывая риски при планировании торговых точек.
Читать: https://habr.com/ru/articles/834504/
#ru
@big_data_analysis | Другие наши каналы
Совместная магистратура по искусственному интеллекту ИТМО и Napoleon IT – AI Talent Hub в сентябре 2023 года запустила лабораторию по искусственному интеллекту c компанией X5 Tech на базе института. В течение 9 месяцев молодые ML-инженеры работали в одной команде с опытными экспертами X5 Tech и представили несколько новых продуктов для одного из крупнейших ритейлеров страны — X5 Group. По итогам стажировки, лучшие магистранты стали полноценными сотрудниками X5 Tech.
В рамках объединенной AI-лаборатории X5 Tech и AI Talent Hub разработали MVP системы с использованием моделей машинного обучения для внедрения в процессы ритейлера X5 Group.
Первый продукт, который создала команда, стал сервис с RAG (генерация с расширенным поиском). Сервис включает в себя генерацию ответа пользователям с учетом дополнительной релевантной информации из больших текстовых документов. Результат анализа больших данных формируется на основе технологии машинного обучения.
«Специалисты AI-лаборатории улучшили некоторые бизнес-метрики на 40% и встроили алгоритм RAG в нашу систему. Обновленная система позволит ускорить проверку актуальности информации в больших системах и автоматизировать QA-системы», — пояснил руководитель команды по разработке генеративных сетей в Х5 Group Мичил Егоров.
Вторым продуктом, который разработала объединенная команда, стала платформа Shop Placement Platform. Она позволяет прогнозировать выручку в определенной локации на основе геоданных и информации о продажах. Модель, наподобие компаса, помогает определить оптимальное местоположение новых магазинов для X5 Group, эффективно учитывая риски при планировании торговых точек.
Читать: https://habr.com/ru/articles/834504/
#ru
@big_data_analysis | Другие наши каналы
👍3
Как правильно использовать большие данные: строим хранилища на MPP-СУБД
Немного контекста.
· Данные нужны везде — для понимания трендов и рисков, для улучшения клиентского опыта, для технической аналитики.
· Вместе с цифровизацией и экспоненциальным ростом объема и разнообразия данных растет потребность в надежных, масштабируемых, производительных хранилищах.
· Чтобы самостоятельно извлекать ценность из данных и оперативно использовать их в работе, нужно построить и поддерживать соответствующую инфраструктуру. Это трудозатратный подход.
Сегодня поделимся нашим опытом, как снизить капиталовложения в оборудование с большим объемом памяти, добиться производительности и высокой отказоустойчивости при создании DataLake и Data Warehouse.
Читать: https://habr.com/ru/companies/mws/articles/834246/
#ru
@big_data_analysis | Другие наши каналы
Немного контекста.
· Данные нужны везде — для понимания трендов и рисков, для улучшения клиентского опыта, для технической аналитики.
· Вместе с цифровизацией и экспоненциальным ростом объема и разнообразия данных растет потребность в надежных, масштабируемых, производительных хранилищах.
· Чтобы самостоятельно извлекать ценность из данных и оперативно использовать их в работе, нужно построить и поддерживать соответствующую инфраструктуру. Это трудозатратный подход.
Сегодня поделимся нашим опытом, как снизить капиталовложения в оборудование с большим объемом памяти, добиться производительности и высокой отказоустойчивости при создании DataLake и Data Warehouse.
Читать: https://habr.com/ru/companies/mws/articles/834246/
#ru
@big_data_analysis | Другие наши каналы
Уроки, извлеченные из масштабирования до многотерабайтных датасетов
В этой статье я расскажу об уроках, которые вынес при работе с многотерабайтными датасетами. Объясню, с какими сложностями столкнулся при увеличении масштабов датасета и как их удалось решить.
Я разделил статью на две части: первая посвящена масштабированию на отдельной машине, вторая — масштабированию на множестве машин. Наша цель — максимизировать доступные ресурсы и как можно быстрее выполнить поставленные задачи.
Читать: https://habr.com/ru/companies/magnus-tech/articles/834506/
#ru
@big_data_analysis | Другие наши каналы
В этой статье я расскажу об уроках, которые вынес при работе с многотерабайтными датасетами. Объясню, с какими сложностями столкнулся при увеличении масштабов датасета и как их удалось решить.
Я разделил статью на две части: первая посвящена масштабированию на отдельной машине, вторая — масштабированию на множестве машин. Наша цель — максимизировать доступные ресурсы и как можно быстрее выполнить поставленные задачи.
Читать: https://habr.com/ru/companies/magnus-tech/articles/834506/
#ru
@big_data_analysis | Другие наши каналы
Как настроить инкрементальную перезагрузку
В статье рассматриваются основные шаги по настройке инкрементальной перезагрузки данных. Детально объясняются все этапы процесса, что позволяет улучшить производительность и уменьшить время на обновление информации. Узнайте больше о тонкостях этой важной процедуры!
Читать подробнее
#en
@big_data_analysis | Другие наши каналы
В статье рассматриваются основные шаги по настройке инкрементальной перезагрузки данных. Детально объясняются все этапы процесса, что позволяет улучшить производительность и уменьшить время на обновление информации. Узнайте больше о тонкостях этой важной процедуры!
Читать подробнее
#en
@big_data_analysis | Другие наши каналы
Oracle
Incrementally Reload Your Datasets
This blog serves as a guide to configure incremental reload.
Технологии в агрокомплексе: мастера, подмастерье и искусственный интеллект
Стартовал третий сезон нашего подкаста Data Therapy, в котором мы будем обсуждать практические кейсы применения ИИ и больших данных в конкретных сферах бизнеса. В первом эпизоде нового сезона мы говорим о применении искусственного интеллекта в сельском хозяйстве с экспертами из «Русагро», «Русагро Тех» и Х5 Tech.
Читать: https://habr.com/ru/companies/X5Tech/articles/834574/
#ru
@big_data_analysis | Другие наши каналы
Стартовал третий сезон нашего подкаста Data Therapy, в котором мы будем обсуждать практические кейсы применения ИИ и больших данных в конкретных сферах бизнеса. В первом эпизоде нового сезона мы говорим о применении искусственного интеллекта в сельском хозяйстве с экспертами из «Русагро», «Русагро Тех» и Х5 Tech.
Читать: https://habr.com/ru/companies/X5Tech/articles/834574/
#ru
@big_data_analysis | Другие наши каналы
Репликация: создание кластера, подключение, изменения настроек таблицы в кластере
Привет, я Майк.
Недавно я начал работать в компании Manticore на должности Developer Advocate. Я не совсем далёк от ИТ, но сейчас активно осваиваю современные технологии. В этом блоге я буду делиться своим опытом и тем, что узнаю о Manticore. Я планирую вести дневник, где буду рассказывать, что такое Manticore и как с ним работать. Давайте вместе разбираться, как все устроено, выявлять проблемы и взаимодействовать с разработчиками.
Если вам интересно изучать Manticore вместе со мной, я буду держать вас в курсе в:
Читать: https://habr.com/ru/articles/834980/
#ru
@big_data_analysis | Другие наши каналы
Привет, я Майк.
Недавно я начал работать в компании Manticore на должности Developer Advocate. Я не совсем далёк от ИТ, но сейчас активно осваиваю современные технологии. В этом блоге я буду делиться своим опытом и тем, что узнаю о Manticore. Я планирую вести дневник, где буду рассказывать, что такое Manticore и как с ним работать. Давайте вместе разбираться, как все устроено, выявлять проблемы и взаимодействовать с разработчиками.
Если вам интересно изучать Manticore вместе со мной, я буду держать вас в курсе в:
Читать: https://habr.com/ru/articles/834980/
#ru
@big_data_analysis | Другие наши каналы
Конспект-обзор на статьи по Recsys+Transformers
Конспект-обзор на статьи по Recsys+Transformers
Миссия рекомендательных систем - угадывать потребности человека. Примитивные модели не способны уловить скрытые паттерны поведения пользователя. Однако эту задачу способно решить моделирование последовательности рекомендаций (Sequential Recommendation). Особенного успеха в последнее время в моделировании последовательностей добились Transformer-подобные архитектуры. Ниже представлен краткий обзор на важные в области статьи, частично покрывающие тематику Recsys+Transformers.
Читать: https://habr.com/ru/articles/835380/
#ru
@big_data_analysis | Другие наши каналы
Конспект-обзор на статьи по Recsys+Transformers
Миссия рекомендательных систем - угадывать потребности человека. Примитивные модели не способны уловить скрытые паттерны поведения пользователя. Однако эту задачу способно решить моделирование последовательности рекомендаций (Sequential Recommendation). Особенного успеха в последнее время в моделировании последовательностей добились Transformer-подобные архитектуры. Ниже представлен краткий обзор на важные в области статьи, частично покрывающие тематику Recsys+Transformers.
Читать: https://habr.com/ru/articles/835380/
#ru
@big_data_analysis | Другие наши каналы
Как дообучать LLM с помощью Supervised Fine-Tuning
Обычно большие языковые модели (large language model, LLM) обучают в несколько этапов, включающих предварительное обучение и множество этапов fine-tuning (см. ниже). Предварительное обучение — это дорогостоящий процесс (например, требующий многих сотен тысяч долларов на вычислительные ресурсы), однако fine-tuning модели LLM (или контекстное обучение) по сравнению с этим гораздо дешевле (например, сотни долларов или даже меньше). Учитывая широкую доступность и бесплатность (даже для коммерческого использования) предварительно обученных LLM (например, MPT, Falcon или LLAMA-2), мы можем создавать большой спектр мощных приложений благодаря fine-tuning моделей под нужные задачи.
Этапы обучения LLM
На текущем этапе исследований ИИ одним из самых широко применяемых видов fine-tuning моделей LLM стал supervised fine-tuning (SFT). При этой методике курируемый датасет высококачественных выходных данных LLM применяется для непосредственного fine-tuning модели. SFT прост и дёшев в использовании, это полезный инструмент выравнивания языковых моделей, ставший популярным даже за пределами исследовательского сообщества опенсорсных LLM. В этой статье мы вкратце расскажем о принципах SFT, рассмотрим исследования по этой теме и приведём примеры того, как практикующие специалисты могут с лёгкостью пользоваться SFT, написав всего несколько строк кода на Python.
Читать: https://habr.com/ru/articles/830396/
#ru
@big_data_analysis | Другие наши каналы
Обычно большие языковые модели (large language model, LLM) обучают в несколько этапов, включающих предварительное обучение и множество этапов fine-tuning (см. ниже). Предварительное обучение — это дорогостоящий процесс (например, требующий многих сотен тысяч долларов на вычислительные ресурсы), однако fine-tuning модели LLM (или контекстное обучение) по сравнению с этим гораздо дешевле (например, сотни долларов или даже меньше). Учитывая широкую доступность и бесплатность (даже для коммерческого использования) предварительно обученных LLM (например, MPT, Falcon или LLAMA-2), мы можем создавать большой спектр мощных приложений благодаря fine-tuning моделей под нужные задачи.
Этапы обучения LLM
На текущем этапе исследований ИИ одним из самых широко применяемых видов fine-tuning моделей LLM стал supervised fine-tuning (SFT). При этой методике курируемый датасет высококачественных выходных данных LLM применяется для непосредственного fine-tuning модели. SFT прост и дёшев в использовании, это полезный инструмент выравнивания языковых моделей, ставший популярным даже за пределами исследовательского сообщества опенсорсных LLM. В этой статье мы вкратце расскажем о принципах SFT, рассмотрим исследования по этой теме и приведём примеры того, как практикующие специалисты могут с лёгкостью пользоваться SFT, написав всего несколько строк кода на Python.
Читать: https://habr.com/ru/articles/830396/
#ru
@big_data_analysis | Другие наши каналы
Как быстро и эффективно работать с большими JSON-файлами
Как работать с большими JSON файлами. Показываем основные способы работы с Big JSON и возможные проблемы. Рассматриваем пошаговую инструкцию ✔ Tproger
Читать: «Как быстро и эффективно работать с большими JSON-файлами»
#ru
@big_data_analysis | Другие наши каналы
Как работать с большими JSON файлами. Показываем основные способы работы с Big JSON и возможные проблемы. Рассматриваем пошаговую инструкцию ✔ Tproger
Читать: «Как быстро и эффективно работать с большими JSON-файлами»
#ru
@big_data_analysis | Другие наши каналы
Как построить и развернуть ML-пайплайн в Яндекс Облаке. Практическое руководство
В новой статье CleverData мы расскажем о проектировании ML-пайплайна предсказания целевого действия с помощью Yandex Cloud. Пайплайн необходим для автоматического обмена данными с CDP CleverData Join - использования информации с платформы для обучения ML-моделей и формирования прогнозов поведения каждого пользователя. На примерах рассмотрим использование API сервисов Yandex Cloud, коснемся алгоритмов обработки данных и обучения ML-модели, а также расскажем о возникших проблемах. Под катом делимся кодом.
Читать: https://habr.com/ru/companies/lanit/articles/830446/
#ru
@big_data_analysis | Другие наши каналы
В новой статье CleverData мы расскажем о проектировании ML-пайплайна предсказания целевого действия с помощью Yandex Cloud. Пайплайн необходим для автоматического обмена данными с CDP CleverData Join - использования информации с платформы для обучения ML-моделей и формирования прогнозов поведения каждого пользователя. На примерах рассмотрим использование API сервисов Yandex Cloud, коснемся алгоритмов обработки данных и обучения ML-модели, а также расскажем о возникших проблемах. Под катом делимся кодом.
Читать: https://habr.com/ru/companies/lanit/articles/830446/
#ru
@big_data_analysis | Другие наши каналы
Как подготовиться к собеседованию на инженера данных
Подготовка к интервью на позицию инженера данных может быть сложной задачей. Этот пост поможет вам изучить ключевые структуры данных и алгоритмы, а также типичные вопросы на собеседованиях. Узнайте, как улучшить свои знания и уверенно пройти собеседование.
Читать подробнее
#en
@big_data_analysis | Другие наши каналы
Подготовка к интервью на позицию инженера данных может быть сложной задачей. Этот пост поможет вам изучить ключевые структуры данных и алгоритмы, а также типичные вопросы на собеседованиях. Узнайте, как улучшить свои знания и уверенно пройти собеседование.
Читать подробнее
#en
@big_data_analysis | Другие наши каналы
👍1
You Only Look Once… But it Sees Everything! Обзор YOLO детекторов. Часть 1
Вступление
Детекция объектов в реальном времени является важнейшей задачей и охватывает большое количество областей, таких как беспилотные транспортные средства, робототехника, видеонаблюдение, дополненная реальность и многие другие. Сейчас такая задача решается с помощью двух типов алгоритмов: one-step алгоритм детекции, например You Only Look Once (YOLO), и two-steps алгоритм, например Faster Region-Based Convolutional Neural Network (Faster R-CNN). Двухстадийный подход имеет ряд недостатков: долгое обучение и инференс, плохое качество детекции маленьких объектов, неустойчивость к различным размерам входных данных. Одностадийный алгоритм детекции подразумевает одновременное выполнение детекции и классификации, что обеспечивает end-to-end обучение с сохранением высоких показателей как точности, так и скорости.
Читать: https://habr.com/ru/articles/836306/
#ru
@big_data_analysis | Другие наши каналы
Вступление
Детекция объектов в реальном времени является важнейшей задачей и охватывает большое количество областей, таких как беспилотные транспортные средства, робототехника, видеонаблюдение, дополненная реальность и многие другие. Сейчас такая задача решается с помощью двух типов алгоритмов: one-step алгоритм детекции, например You Only Look Once (YOLO), и two-steps алгоритм, например Faster Region-Based Convolutional Neural Network (Faster R-CNN). Двухстадийный подход имеет ряд недостатков: долгое обучение и инференс, плохое качество детекции маленьких объектов, неустойчивость к различным размерам входных данных. Одностадийный алгоритм детекции подразумевает одновременное выполнение детекции и классификации, что обеспечивает end-to-end обучение с сохранением высоких показателей как точности, так и скорости.
Читать: https://habr.com/ru/articles/836306/
#ru
@big_data_analysis | Другие наши каналы
Data Lineage из топора
Статья навеяна удачной реализацией Data Lineage «на коленке». Рассматривается случай, когда в окружающем корпоративном ландшафте Apache Atlas, Datahub или Amundsen еще не подвезли (и неизвестно, будет ли, и если будет, то когда) — а посмотреть от таблицы назад к источниками или вперед к потребителям от конкретной таблицы хочется прямо сейчас. Условия, в которых это удалось сделать, могут не повториться в других случаях, но сам кейс наверняка будет интересен.
Разные самопальные data lineages
Читать: https://habr.com/ru/articles/836648/
#ru
@big_data_analysis | Другие наши каналы
Статья навеяна удачной реализацией Data Lineage «на коленке». Рассматривается случай, когда в окружающем корпоративном ландшафте Apache Atlas, Datahub или Amundsen еще не подвезли (и неизвестно, будет ли, и если будет, то когда) — а посмотреть от таблицы назад к источниками или вперед к потребителям от конкретной таблицы хочется прямо сейчас. Условия, в которых это удалось сделать, могут не повториться в других случаях, но сам кейс наверняка будет интересен.
Разные самопальные data lineages
Читать: https://habr.com/ru/articles/836648/
#ru
@big_data_analysis | Другие наши каналы
Инфраструктура для data engineer Kafka
В этой статье я хочу показать как можно использовать Kafka в дата-инженерии и как её "пощупать".
Рекомендуется всем кто не знает что такое Kafka.
Читать: https://habr.com/ru/articles/836302/
#ru
@big_data_analysis | Другие наши каналы
В этой статье я хочу показать как можно использовать Kafka в дата-инженерии и как её "пощупать".
Рекомендуется всем кто не знает что такое Kafka.
Читать: https://habr.com/ru/articles/836302/
#ru
@big_data_analysis | Другие наши каналы
Делаем своего AI стилиста на python
Привет, чемпионы!
AI решение, которые я разберу в этой статье - после запуска в телеграм привлекло почти органически внимание 70 000 новых пользователей за месяц, а всего было произведено 400 000 генераций. Разбираю, как реализовал сама ML модель. Погнали!
Переодеть коллег
Читать: https://habr.com/ru/articles/832850/
#ru
@big_data_analysis | Другие наши каналы
Привет, чемпионы!
AI решение, которые я разберу в этой статье - после запуска в телеграм привлекло почти органически внимание 70 000 новых пользователей за месяц, а всего было произведено 400 000 генераций. Разбираю, как реализовал сама ML модель. Погнали!
Переодеть коллег
Читать: https://habr.com/ru/articles/832850/
#ru
@big_data_analysis | Другие наши каналы
Оптимизируем Shuffle в Spark
Привет, Хабр! Меня зовут Сергей Смирнов, я аналитик в продукте CVM в X5 Tech. Я занимаюсь разработкой инструмента анализа A/B экспериментов. Мы ежедневно считаем десятки метрик для сотен экспериментов на десятки миллионов клиентов –- это терабайты данных, поэтому наш инструмент разработан на Spark.
В последнее время мы заметили, что существенную часть времени работы наших Spark-приложений занимает обмен данными (Shuffle) между исполнителями. В этой статье я расскажу о том, какие оптимизации помогли нам избавиться от самых тяжёлых операций Shuffle. Речь пойдёт не только о BroadcastJoin, но и о двух других неочевидных методах – предварительное репартицирование и бакетирование.
Читать: https://habr.com/ru/companies/X5Tech/articles/837348/
#ru
@big_data_analysis | Другие наши каналы
Привет, Хабр! Меня зовут Сергей Смирнов, я аналитик в продукте CVM в X5 Tech. Я занимаюсь разработкой инструмента анализа A/B экспериментов. Мы ежедневно считаем десятки метрик для сотен экспериментов на десятки миллионов клиентов –- это терабайты данных, поэтому наш инструмент разработан на Spark.
В последнее время мы заметили, что существенную часть времени работы наших Spark-приложений занимает обмен данными (Shuffle) между исполнителями. В этой статье я расскажу о том, какие оптимизации помогли нам избавиться от самых тяжёлых операций Shuffle. Речь пойдёт не только о BroadcastJoin, но и о двух других неочевидных методах – предварительное репартицирование и бакетирование.
Читать: https://habr.com/ru/companies/X5Tech/articles/837348/
#ru
@big_data_analysis | Другие наши каналы
Инструменты для улучшения ритейла от Oracle Analytics
Oracle Analytics предлагает розничным компаниям инструменты для управления запасами, оптимизации трудовых затрат, улучшения клиентского опыта и прогнозирования будущих результатов. Узнайте, как эти решения могут повысить эффективность вашего бизнеса.
Читать подробнее
#en
@big_data_analysis | Другие наши каналы
Oracle Analytics предлагает розничным компаниям инструменты для управления запасами, оптимизации трудовых затрат, улучшения клиентского опыта и прогнозирования будущих результатов. Узнайте, как эти решения могут повысить эффективность вашего бизнеса.
Читать подробнее
#en
@big_data_analysis | Другие наши каналы
Oracle
Optimize Retail Businesses with Oracle Analytics
The use and understanding of analytics enable the optimization of retail businesses. Oracle Analytics provides tools for retailers to manage their inventory, improve labor costs, provide an enriched customer experience, and use forecasting to predict future…
Oracle CloudWorld: Виртуально и в реальном времени
Не упустите важные моменты Oracle CloudWorld! Если у вас нет возможности присутствовать на мероприятии, смотрите выступление Т.К. Ананда онлайн и общайтесь с сообществом - обновления и обмен мнениями доступны в режиме реального времени.
Читать подробнее
#en
@big_data_analysis | Другие наши каналы
Не упустите важные моменты Oracle CloudWorld! Если у вас нет возможности присутствовать на мероприятии, смотрите выступление Т.К. Ананда онлайн и общайтесь с сообществом - обновления и обмен мнениями доступны в режиме реального времени.
Читать подробнее
#en
@big_data_analysis | Другие наши каналы
Oracle
CloudWorld is coming! See all the great ways you can be an Analytics master in Las Vegas
A killer keynote, community events, Analytics for Breakfast, roadmap sessions, and countless other ways to connect data, analytics, and your experience - Oracle CloudWorld has it all. And if you're not going to the show, don't feel left out! You can see…
Искусство ETL. Пишем собственный движок SQL на Spark [часть 7]
В предыдущих сериях (FAQ • 1 • 2 • 3 • 4 • 5 • 6 ) мы весьма подробно рассмотрели, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL поверх Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
В данной части поговорим о том, как добавить в собственный диалект SQL поддержку процедур. Например,
Нафига это надо?
Ну, допустим, у нас уже есть некоторое количество SQL ETL кода, наработанного за время эксплуатации инструмента в продакшене, и становится заметно, что значительная часть скриптов на разных проектах совпадает, и из раза в раз повторяется. Логично было бы вынести все эти совпадающие куски в библиотеку, чтобы держать в одном месте, да и вызывать с какими надо параметрами, когда надо. Вот прям как на примере выше.
Читать: https://habr.com/ru/articles/838034/
#ru
@big_data_analysis | Другие наши каналы
В предыдущих сериях (FAQ • 1 • 2 • 3 • 4 • 5 • 6 ) мы весьма подробно рассмотрели, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL поверх Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
В данной части поговорим о том, как добавить в собственный диалект SQL поддержку процедур. Например,
-- library.tdl
CREATE PROCEDURE dwellTimeByMode(@signals, @target, @outPrefix,
@modes = ['pedestrian', 'non_pedestrian', 'car', 'bike'],
@groupid='cell10') AS BEGIN
LOOP $mode IN $modes BEGIN
SELECT * FROM $signals INTO "{$signals}/{$mode}" WHERE mode=$mode;
CALL dwellTime(@signals_userid_attr=userid,
@target_userid_attr=userid,
@target_grouping_attr=$groupid
) INPUT signals FROM "{$signals}/{$mode}", target FROM $target
OUTPUT INTO "{$outPrefix}/{$mode}";
ANALYZE "{$signals}/{$mode}";
ANALYZE "{$outPrefix}/{$mode}";
END;
END;
--- ... --- ... --- ... ---
-- script.tdl
CALL dwellTimeByMode(@signals=$this_month, @target=$population, @outPrefix=$this_month);
Нафига это надо?
Ну, допустим, у нас уже есть некоторое количество SQL ETL кода, наработанного за время эксплуатации инструмента в продакшене, и становится заметно, что значительная часть скриптов на разных проектах совпадает, и из раза в раз повторяется. Логично было бы вынести все эти совпадающие куски в библиотеку, чтобы держать в одном месте, да и вызывать с какими надо параметрами, когда надо. Вот прям как на примере выше.
Читать: https://habr.com/ru/articles/838034/
#ru
@big_data_analysis | Другие наши каналы
Excel — самый опасный софт на планете
В 80-е годы компании покупали компьютеры, чтобы запустить электронные таблицы. Автоматический расчёт налогов и зарплат казался чудом. Тысячи бухгалтеров оказались на улице, остальным пришлось осваивать работу ПК, а конкретно — Excel.
И до сих пор Excel играет важнейшую роль в бизнесе многих компаний. Без электронных таблиц у них просто всё развалится. Сложно найти на компьютере другую программу настолько древнюю и настолько важную, от которой столько всего зависит. И в такой ситуации факапы неизбежны.
Читать: https://habr.com/ru/companies/ruvds/articles/835390/
#ru
@big_data_analysis | Другие наши каналы
В 80-е годы компании покупали компьютеры, чтобы запустить электронные таблицы. Автоматический расчёт налогов и зарплат казался чудом. Тысячи бухгалтеров оказались на улице, остальным пришлось осваивать работу ПК, а конкретно — Excel.
И до сих пор Excel играет важнейшую роль в бизнесе многих компаний. Без электронных таблиц у них просто всё развалится. Сложно найти на компьютере другую программу настолько древнюю и настолько важную, от которой столько всего зависит. И в такой ситуации факапы неизбежны.
Читать: https://habr.com/ru/companies/ruvds/articles/835390/
#ru
@big_data_analysis | Другие наши каналы
🔥2
Преимущества DAX на примерах
Популярным языком запросов от Microsoft является DAX. В отличие от диалектов SQL, DAX позволяет аналитикам сфокусироваться на решении задач бизнес-аналитики, вместо того, чтобы заниматься рутинными техническими задачами (например, вопросами производительности).
Безусловно, DAX не является панацеей для решения любых задач, но, если честно, ознакомление с этим функциональным языком может быть своего рода открытием, что создать единый язык для всех SQL диалектов - это вообще "doable", причем поддерживаются практически все имеющиеся базы данных многих видов (например, реляционные, колоночные), а также обеспечивается высокая производительность запросов.
В этой статье рассматриваются преимущества DAX на конкретных примерах, таким образом, если Вам интересен Business Intelligence на DAX - добро пожаловать :)
Читать: https://habr.com/ru/articles/838018/
#ru
@big_data_analysis | Другие наши каналы
Популярным языком запросов от Microsoft является DAX. В отличие от диалектов SQL, DAX позволяет аналитикам сфокусироваться на решении задач бизнес-аналитики, вместо того, чтобы заниматься рутинными техническими задачами (например, вопросами производительности).
Безусловно, DAX не является панацеей для решения любых задач, но, если честно, ознакомление с этим функциональным языком может быть своего рода открытием, что создать единый язык для всех SQL диалектов - это вообще "doable", причем поддерживаются практически все имеющиеся базы данных многих видов (например, реляционные, колоночные), а также обеспечивается высокая производительность запросов.
В этой статье рассматриваются преимущества DAX на конкретных примерах, таким образом, если Вам интересен Business Intelligence на DAX - добро пожаловать :)
Читать: https://habr.com/ru/articles/838018/
#ru
@big_data_analysis | Другие наши каналы