Как стать автором
Обновить
10.9

Apache *

Свободный веб-сервер

Сначала показывать
Порог рейтинга
Уровень сложности

Spark. План запросов на примерах

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.6K

Всем привет!

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

Читать далее
Всего голосов 6: ↑6.5 и ↓-0.5+7
Комментарии4

Новости

Как перезапускать PySpark-приложение и зачем это может понадобиться

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров1.5K

Сегодня все крупные компании сохраняют и обрабатывают большие объёмы информации, причём стремятся делать это максимально эффективным для бизнеса способом. Меня зовут Мазаев Роман и я работаю в проекте загрузки данных на платформу SberData. Мы используем PySpark, который позволяет очень быстро распределённо обрабатывать данные в оперативной памяти узлов нашего кластера на базе Hadoop. Я поделюсь способом, с помощью которого можно снизить потребление ресурсов кластера за счёт перезапуска PySpark-приложений между выполняемыми Spark-задачами, и расскажу, как это делать правильно.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии11

Мониторинг Apache Airflow. Оценка «прожорливости» тасок

Время на прочтение10 мин
Количество просмотров2.8K

Всем привет! Случались ли у вас ситуации, когда количество DAG’ов в вашем Airflow переваливает за 800 и увеличивается на 10-20 DAG’ов в неделю? Согласен, звучит страшно, чувствуешь себя тем героем из Subway Surfers… А теперь представьте, что эта платформа является единой точкой входа для всех аналитиков из различных команд и DAG’и пишут более 50 различных специалистов. Подкосились ноги, холодный пот и желание уйти из IT?

Не спешите паниковать, под катом я расскажу о том, как контролировать потребление ресурсов DAG’ов Airflow для предупреждения неоптимально написанных DAG’ов и борьбы с ними.

Меня зовут Давид Хоперия, я Data Engineer в департаменте данных Ozon.Fintech и моим основным инструментом является Apache Airflow, поэтому настало время углубиться в детали его работы.

Поехали
Всего голосов 16: ↑16 и ↓0+16
Комментарии10

Основные функции Apache Tomcat

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.1K

Привет, дорогие читатели!

Apache Tomcat — это открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket, предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Software Foundation, Tomcat служит контейнером сервлетов, который позволяет веб-приложениям использовать Java для создания динамичных веб-страниц.

Tomcat может работать как самостоятельный веб-сервер, где он обрабатывает как статические страницы, так и динамические запросы через Servlets и JSP. Однако часто Tomcat используется в сочетании с традиционными веб-серверами, такими как Apache HTTP Server или Nginx, для обработки статического контента, в то время как динамический контент обрабатывается через Tomcat.

В этой статье мы рассмотрим основной функционал Tomcat.

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии0

Истории

Apache NiFi. Как быстро подружиться с LDAP и Registry

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров2.1K

Казалось бы, про Apache NiFi уже писали не раз. Но если ты только знакомишься с инструментом, разобраться в таких статьях бывает нелегко. Обычно с тобой говорят так, будто ты уже давно в теме, да и задачи чаще решают явно не твои. С официальной документацией тоже все сложно: она есть, но для быстрого погружения явно не подходит.

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

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии6

REST API сервер на Bash с использованием сокетов и Apache

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров5.4K

Всем привет! Ранее рассказывал о том, как создать REST API и Web-сервер на PowerShell для Windows, а также упоминал, что подобный сервер будет работать и в системе Linux, благодаря кроссплатформенной версии PowerShell Core. Безусловно, для подобных целей лучше используются специализированные серверные фреймворки или библиотеки, такие как Flask или Django в Python, но меня не покидала идея реализации похожего сервера, где описание логики будет производиться на языке одного только Bash. Приведу примеры, с помощью которых можно создать такой сервер используя сетевые сокеты netcat , socat и ncat, а также веб-сервера Apache с использованием встроенных модулей.

Читать далее
Всего голосов 20: ↑18 и ↓2+16
Комментарии3

Алертинг состояния выполения DAG`ов Apache Airflow в Telegram за 1 минуту

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.9K

Коллеги, здарова! Часто бывает что нужно отправить сообщение в мессенджер к разработчикам, в случае возникновения различных проблем.

Представляю небольшое решение, которое позволит отправить сообщение в Telegram с информацией о состоянии DAG`а Apache Airflow

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии8

С нуля до плагина JMeter: пишем свой продукт без опыта

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.3K

От проблемы к практике: как привязать JMeter к Allure Report если нет опыта программирования, но очень хочется

Читать далее
Всего голосов 11: ↑8 и ↓3+5
Комментарии6

Мой опыт в Airflow: как повысить стабильность загрузки данных в 5 раз

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров6.4K

Когда я пришла на проект, в нём уже было много всего: много данных, много источников, много задач в Airflow. Чтобы ощутить масштаб, достаточно, пожалуй, взглянуть на одну картинку.

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии4

Основы репликации в Kafka

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.6K

Привет, Хабр!

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

В этой статье рассмотрим основы репликации в кафке.

Читать далее
Всего голосов 12: ↑9 и ↓3+6
Комментарии2

Продюсеры и консьюмеры с Apache Kafka в Python

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.1K

Салют, Хабр!

Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную способность и масштабируемость.

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

В статье мы и поговорим именно про продюсерах и консюмерах в экосистеме Kafka в коннекте с Python.

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии1

Разбираемся с работой брокеров, или Что такое гарантия доставки сообщений и как с этим жить…

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.1K

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

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии10

CyberOffice.pro – обновление, ребрендинг

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.8K

В статье краткое описание и ссылка на дистрибутив CyberOffice.pro.

CyberOffice.pro – открытый проект для ценящих стабильность, реентерабельность и совместимость, работая со сложными документами; практикующих цифровую гигиену без фанатизма.

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии13

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Что нового в документации YDB в декабре 2023

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.4K

Краткий дайджест свежего контента и новой функциональности в документации YDB за декабрь прошлого года.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии1

OpenWire — смотрим на атаку с платформы Cyberdefenders

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.6K

Во время вашей смены в качестве аналитика второй линии SOC вы получаете информацию с первой линии относительно общедоступного сервера. Этот сервер был помечен как установивший подключения к нескольким подозрительным IP-адресам. В ответ вы запускаете стандартный протокол реагирования на инциденты, который создает изоляцию сервера от сети для предотвращения потенциального горизонтального перемещения или утечки данных и получение перехваченного пакета от утилиты NSM для анализа. Ваша задача — проанализировать PCAP и проверить наличие признаков вредоносной активности.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Рассчитываем рейтинг товара на основе оценок пользователей с KafkaStreams и OpenSearch

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3K

Всем привет! Меня зовут Александр. Последний год тружусь фрилансером на проекте по созданию очередного маркетплейса. Мои задачи включают разработку скоринговой системы продуктов, которая бы позволяла формировать выборку товаров по популярности на основе нескольких показателей. Одним из показателей являются оценки пользователей по шкале от 1 до 5. Думаю, что не станет открытием Америки то, что расчет рейтинга товара по среднему арифметическому всех оценок приводит к насовсем корректным результатам выборки. Например, при таком подходе товар "А" с одной оценкой 5 в рейтинге будет выше товара "Б", у которого сотня оценок 5 и одна оценка 4. Решение данной проблемы давно найдено - для расчета следует применить доверительный интервал биномиального распределения по методу Уилсона (Wilson Score Confidence Interval).

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Выборочное удаление столбцов для повышения эффективности хранения в озерах данных

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.4K

По мере роста Uber объем обрабатываемых данных и количество обращений к ним многократно возросли. Такое быстрое увеличение объема привело к росту затрат на хранение и вычислительные ресурсы. В результате мы столкнулись с различными проблемами, такими как повышенные требования к железу, увеличившееся потребление ресурсов, а также проблемами с производительностью из-за ошибок наподобие OOM (out-of-memory) и длительных пауз на сборку мусора.

Для решения проблем было реализовано несколько инициатив, такие как: внедрение TTL (Time to Live) политик для партиций, внедрение многослойного хранилища с стратегиями для перераспределения данных из “hot”/”warm” до “cold” уровней хранения, а также оптимизации форматов хранения данных. В данной статье фокус будет на последней оптимизации - как сократить размер данных в рамках формата Apache Parquet™ за счет удаления не использующихся колонок большого размера.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Построение архитектур для обработки данных в режиме реального времени при помощи Apache Kafka, Flink и Druid

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров8.1K
image

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

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

Но в опенсорсном пространстве есть решение, разработанное в опенсорсе. В сочетании друг с другом Apache Kafka, Flink и Druid, позволяют создать архитектуру для обработки данных, которая работает в режиме реального времени и позволяет исключить все эти этапы ожидания. В этом посте мы исследуем, как комбинация этих инструментов позволяет создавать широкий спектр приложений для обработки данных в режиме реального времени.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии0

Что нового в Apache Spark 3.4.0 — Spark Connect — Доработки для Shuffle

Время на прочтение8 мин
Количество просмотров2.1K

Spark Connect — это, пожалуй, самая ожидаемая фича Apache Spark 3.4.0. Она была анонсирована на конференции Data+AI Summit 2022 и сейчас широко освещается в социальных сетях. Вот и я решил приобщиться и внести свой небольшой вклад в это дело, продемонстрировав вам несколько интересных деталей реализации.

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Комментарии0

Kafka Connect на примере Debezium PostgresConnector

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров8.8K

В предыдущей статье про микросервисную архитектуру на основе событий с использованием Kafka Streams достаточно поверхностно был упомянут io.confluent.connect.jdbc.JdbcSourceConnector, который использовался для вычитания данных из SQLite и отправки их в топик Kafka. Сейчас я бы хотел более подробно разобрать технологию Kafka Connect на примере io.debezium.connector.postgresql.PostgresConnector. Как и в прошлый раз, я реализовал небольшой демо проект, код которого доступен на GitHub. В проекте кода совсем немного, однако чтобы понять все настройки, примененные в коннекторе, придется достаточно подробно пройтись по теоретической части. Итак, приступим.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2
1
23 ...
Изменить настройки темы

Вклад авторов