Data Analysis / Big Data
2.82K subscribers
568 photos
4 videos
2 files
2.67K links
Лучшие посты по анализу данных и работе с Big Data на русском и английском языке

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Download Telegram
Искусство ETL. Пишем собственный движок SQL на Spark [часть 7]

В предыдущих сериях (FAQ1 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 | Другие наши каналы
🔥2
Преимущества DAX на примерах

Популярным языком запросов от Microsoft является DAX. В отличие от диалектов SQL, DAX позволяет аналитикам сфокусироваться на решении задач бизнес-аналитики, вместо того, чтобы заниматься рутинными техническими задачами (например, вопросами производительности).

Безусловно, DAX не является панацеей для решения любых задач, но, если честно, ознакомление с этим функциональным языком может быть своего рода открытием, что создать единый язык для всех SQL диалектов - это вообще "doable", причем поддерживаются практически все имеющиеся базы данных многих видов (например, реляционные, колоночные), а также обеспечивается высокая производительность запросов.

В этой статье рассматриваются преимущества DAX на конкретных примерах, таким образом, если Вам интересен Business Intelligence на DAX - добро пожаловать :)


Читать: https://habr.com/ru/articles/838018/

#ru

@big_data_analysis | Другие наши каналы
Сверточные нейронные сети (CNN)

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

Сверточные нейронные сети (CNN) – это класс глубоких нейронных сетей, которые обладают специализированной архитектурой для обработки данных, имеющих пространственную структуру, таких как изображения. Они широко применяются в компьютерном зрении, распознавании образов, анализе временных рядов и других задачах, где важно учитывать пространственные зависимости между данными.

Основными строительными блоками CNN являются сверточные слои, пулинг-слои и полносвязанные слои. Сверточные слои состоят из фильтров (ядер), которые скользят по входным данным и вычисляют локальные признаки. Пулинг-слои уменьшают размерность данных, сохраняя важные признаки. Полносвязанные слои объединяют все признаки для принятия окончательного решения.

Для обучения CNN используется метод обратного распространения ошибки, который позволяет оптимизировать веса сети с целью минимизации ошибки на обучающем наборе данных. При этом часто применяются функции активации, такие как ReLU (Rectified Linear Unit), которые помогают улучшить скорость обучения и предотвратить проблему затухания градиента.

Одной из ключевых особенностей CNN является возможность извлечения иерархии признаков на разных уровнях абстракции. Более низкие слои могут выделять простые фичи, такие как грани и углы, в то время как более высокие слои могут распознавать более сложные паттерны, например, лица или объекты.


Читать: https://habr.com/ru/articles/838892/

#ru

@big_data_analysis | Другие наши каналы
👍2
🔍 Подготовка OCI для Oracle Analytics

Узнайте, как настроить начальные компоненты OCI для использования сервисов Oracle Analytics. В статье объясняются ключевые шаги и необходимые ресурсы для успешной интеграции. Откройте новые возможности аналитики с помощью простых инструкций.

Читать подробнее

#en

@big_data_analysis | Другие наши каналы
1
Мы ищем менеджера по продажам в команду Tproger

Всё как у людей: хорошая зарплата, гибрид и дружный коллектив. Оставляйте заявку и смотрите подробности: https://tprg.ru/l1rP

#вакансии #работа
Интеграция Apache NiFi и Atlas: Настройка в Docker и Создание Пользовательского Репортера

В этой статье представлен кейс по интеграции Apache NiFi с Apache Atlas с использованием Docker. В процессе развертывания и настройки системы возникли проблемы с загрузкой образов и установкой необходимых пакетов. Основное внимание уделяется созданию и настройке пользовательского репортера, который позволяет фильтровать и отображать только те компоненты DAG в Atlas, которые соответствуют заданным критериям. В статье подробно описаны шаги по созданию и сборке .nar архива, добавлению его в NiFi и настройке фильтрации с использованием кастомных классов.


Читать: https://habr.com/ru/articles/839060/

#ru

@big_data_analysis | Другие наши каналы
Отправка уведомлений по таймеру в Apache Flink

Привет, Хабр! На связи Александр Бобряков, техлид в команде МТС Аналитики. В предыдущих постах я рассказал, как собрать первое приложение Flink со Spring, реализовав пайплайн дедупликации сообщений Kafka-to-Kafka. В этом примере погружусь в использование таймеров в Flink, а в следующих статьях расскажу, как работать с более сложными состояниями, эволюционировать их схему и покрыть это все тестами.

Весь разбираемый исходный код есть в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии. Эта статья соответствует релизной ветке с названием release/7_Trigger_Flink_Job.

Это восьмой материал из моей серии про Apache Flink. По мере выхода новых ссылки на них будут появляться ниже.


Читать: https://habr.com/ru/companies/ru_mts/articles/839520/

#ru

@big_data_analysis | Другие наши каналы
Как мы искали альтернативу иностранному ПО

Привет, друзья! Я — Василь Фатихов, работаю в ИТ подразделении ВТБ. Одной из моих повседневных задач является загрузка данных в корпоративное хранилище. Именно с этими данными работают потом «колдуны — аналитики», извлекая из них новые возможности для бизнеса.

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


Читать: https://habr.com/ru/companies/vtb/articles/839312/

#ru

@big_data_analysis | Другие наши каналы
1👍1
LLM считают, что в слове strawberry две R

Открываются новые нюансы работы с большими языковыми моделями. Например, на вопрос «сколько R в слове Strawberry?» GPT-4o и Claude отвечают, что две.

Дело в том, что эти ЯМ построены на архитектуре трансформера. Текст разбивается на токены, которые могут быть словами, слогами или буквами, в зависимости от модели. GPT-4o и Claude воспринимают токены straw и berry, но не учитывают, что слово состоит из таких букв, расположенных именно в таком порядке.

«Сложно определить, что именно должно считаться словом для языковой модели, и даже если бы мы собрали экспертов, чтобы согласовать идеальный словарь токенов, модели, вероятно, всё равно считали бы полезным разбивать слова на ещё более мелкие части, — объясняет Шеридан Фойхт (Sheridan Feucht), аспирант Северо-восточного университета (Массачусетс, США), изучающий интерпретируемость LLM. — Я думаю, что идеального токенизатора не существует из-за этой нечёткости».


Можно, конечно, и напрямую анализировать символы, но вычислительных мощностей на это вряд ли хватит.

Так что пока просто смеемся, дальше клепаем мемы и не забываем перепроверять полученные ответы.

@your_tech
👍1
Streaming 101 (Основы потоковой обработки)

Обработка потоковых данных стала крайне важна в настоящее время. И на это есть веские причины, такие как:

Компании жаждут получать данный как можно быстрее, и переход на потоковую обработку будет хорошим способом уменьшить задержки.

Объемные неограниченные наборы данных, все чаще встречающиеся в современных бизнес процессах, могут быть легче обузданы применением систем, специально спроектированных для таких объемов информации

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

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

Как тот, кто работал над крупно‑масштабной системой потоковой обработки в Google на протяжении последний пяти с лишним лет (MillWheel, Cloud Dataflow), я, мягко говоря, в восторге от сложившихся тенденций. Я все также заинтересован в том, чтобы люди понимали, что именно системы потоковой обработки в состоянии выполнять, и как их использовать наилучшим образом, в частности, закрыв нехватку знаний, оставшуюся между существующими системами пакетной обработки и потоковыми. С этой целью замечательные ребята из O»Reilly пригласили меня предоставить письменную версию моего доклада «Say Goodbye to Batch» с конференции Strata + Hadoop World London 2015.


Читать: https://habr.com/ru/articles/839938/

#ru

@big_data_analysis | Другие наши каналы
Spark Essentials: Руководство по настройке и запуску проектов Spark с помощью Scala и sbt

В этой статье представлено подробное руководство по инициализации проекта Spark с помощью Scala Build Tool (SBT). Это руководство охватывает все этапы процесса, включая создание проектов, управление зависимостями, локальное тестирование, компиляцию и развертывание проекта Spark на кластере.

Это руководство было тщательно продумано, чтобы помочь новичкам, так что даже те, кто только начинает изучать Spark, смогут легко ему следовать. Более того, эта статья послужит ценным пособием для тех, кто хочет создавать, тестировать и развертывать пакетные задания Spark в среде JVM.

Цель этой статьи — предоставить вам подробное руководство по инициализации проекта Spark, в котором будут подробно рассмотрены все ключевые идеи. В руководстве будет рассмотрен пошаговый процесс создания проектов с помощью Scala Build Tool (SBT), а также продемонстрировано управление зависимостями, локальное тестирование, компиляция и развертывание проекта Spark на кластере.


Читать: https://habr.com/ru/companies/otus/articles/840362/

#ru

@big_data_analysis | Другие наши каналы
Ускорьте развёртывание Oracle Analytics с Oracle Cloud Shell

Теперь вы можете за считанные минуты развернуть начальные компоненты для Oracle Analytics с использованием Oracle Cloud Shell и OCI Terraform provider. Этот метод значительно упрощает и ускоряет процесс настройки. Узнайте больше в статье!

Читать подробнее

#en

@big_data_analysis | Другие наши каналы
Big Data в моде: как мы внедрили 1-to-1 персонализацию в каталоге и поиске

Привет, Хабр! Это Сергей Евстафьев и Дана Злочевская из команды ранжирования и поиска Lamoda Tech. Наша задача — помочь пользователю найти то, что ему нужно, и не потеряться в море доступных вариантов.

В каталоге Lamoda в наличии более полумиллиона модных товаров, однако 95% пользователей не просматривают больше первых 120 карточек. Поэтому в первую очередь важно показывать только самую релевантную подборку, для этого мы развиваем персональное ранжирование каталога. С его помощью каждый пользователь видит свою уникальную выдачу, которая собирается на основе его поведения, популярности товаров и других параметров.

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

В этой статье поподробнее раскроем наш подход.


Читать: https://habr.com/ru/companies/lamoda/articles/840370/

#ru

@big_data_analysis | Другие наши каналы
👍1
5 способов оптимизации функций в Python

Всегда полезно уметь ускорить выполнение кода на python, особенно если мы имеем дело с большими объемами данных или часто вызываемыми функциями.

В этой статье мы рассмотрим 5 простых, но эффективных способов оптимизации функций в Python, которые помогут вам сделать ваш код быстрее и эффективнее.
Ускорить свой код!

Читать: https://habr.com/ru/articles/836644/

#ru

@big_data_analysis | Другие наши каналы
Как мы построили модель прогнозирования выхода жестких дисков из строя

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

Меня зовут Владислав Маркин, я инженер по разработке ПО искусственного интеллекта в YADRO. Вместе с моим коллегой, экспертом Андреем Соколовым, мы решили применить возможности ИИ в прогнозировании проблем с HDD. Задача не тривиальная: модели нужны данные для обучения и тренировки, а где их найти — отдельный вопрос.

В статье расскажу, что нам удалось сделать, что стало основой прототипа нашей прогнозной модели и какие результаты она показала в применении для дисков в серверах YADRO.


Читать: https://habr.com/ru/companies/yadro/articles/840264/

#ru

@big_data_analysis | Другие наши каналы
🔥2
Уточнение процентилей с помощью полиномиальной аппроксимации

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

Читать: https://habr.com/ru/articles/841170/

#ru

@big_data_analysis | Другие наши каналы
Основные компоненты Data Engineering

Хотите разобраться в основах data engineering? В статье описаны ключевые компоненты: определение требований, проектирование потоков данных, использование оркестраторов и планировщиков, обработка данных, организация кода, проектирование хранилища и мониторинг. Узнайте, как эффективно построить data pipeline.

Читать подробнее

#en

@big_data_analysis | Другие наши каналы
Представлены первые послы Oracle Analytics на 2024 год

Текст: Команда Oracle Analytics представила первых послов на 2024 год. Эти специалисты активно способствуют развитию сообщества, предлагая идеи по улучшению продуктов и сервисов, а также поддерживая других участников. Их вклад заслуживает признания.

Читать подробнее

#en

@big_data_analysis | Другие наши каналы
Быстрое развертывание сетевых компонентов для Oracle Analytics

Хотите развернуть дополнительные сетевые компоненты для Oracle Analytics за считанные минуты? Используйте Oracle Cloud Shell и провайдер OCI Terraform, чтобы существенно упростить этот процесс. Узнайте больше в статье!

Читать подробнее

#en

@big_data_analysis | Другие наши каналы