Как стать автором
Обновить
18.13
Рейтинг

Apache *

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Как мы развернули коммунальный Apache Airflow для 30+ команд и сотни разработчиков

Блог компании Леруа Мерлен Apache *Big Data *DevOps *Data Engineering *

О том как мы внедряли Apache Airflow для использования различными командами в нашей компании, какие задачи мы хотели решить этим сервисом. Внутри описание архитектуры деплоя и наш Infrastructure as Code (IaC).

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

Опыт работы с Apache Kafka: интервью с inDriver

Блог компании Southbridge Программирование *IT-инфраструктура *Apache *DevOps *

DevOps-инженеры компании inDriver Радик Сейфуллин и Александр Плотников распилили старое монолитное приложение и создают новое, а Евгений Бутырин, технический редактор Слёрма, пообщался с ребятами об этом: опыте с Kafka, проблемах, решениях и обучении. 

Читать интервью
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 2.9K
Комментарии 0

Apache Spark: оптимизация производительности на реальных примерах

Блог компании Neoflex Apache *Big Data *Хранилища данных *Data Engineering *
Из песочницы

Apache Spark – фреймворк для обработки больших данных, который давно уже стал одним из самых популярных и часто встречаемых во всевозможных проектах, связанных с Big Data. Он удачно сочетает в себе скорость работы и простоту выражения своих мыслей разработчиком.

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

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 3.7K
Комментарии 6

Как прикрутить SQL к чему угодно при помощи Apache Calcite

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *SQL *Apache *Конференции

Сделать свою собственную SQL-базу данных или запускать SQL-запросы в NoSQL-базе данных — кажется, это очень непростая задача.  А если мы говорим о распределенной БД, то сложность возрастает многократно. Но, к счастью, Apache Calcite — фреймворк с открытым кодом — поможет сделать это довольно легко.

Роман Кондаков, Software Engineer в Querify Labs, на конференции HighLoad++ Весна 2021 рассказал об опыте интеграции Apache Calcite в распределенную in-memory-платформу Apache Ignite. Если ваша система распределена, и вы хотите завести в ней SQL, читайте про то, как устроен Apache Calcite и какие есть нюансы его использования для распределенных систем.  Видео его выступления можно посмотреть здесь.

Читать далее
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 7.2K
Комментарии 5

Как устроена Единая биометрическая система

Блог компании Конференции Олега Бунина (Онтико) Блог компании Команда Госуслуг Анализ и проектирование систем *Apache *Hadoop *

Единая биометрическая система (ЕБС) с 2018 года используется для идентификации человека по его биометрическим характеристикам: голосу и лицу.

Чтобы получать услуги по биометрии, пользователю необходимо зарегистрироваться в системе в одном из 13,1 тысяч отделений банков. Там операционист сделает его фотографию, запишет голос и отправит эти данные в систему. А для того чтобы компании могли оказывать по биометрии различные услуги, им необходимо провести интеграцию с ЕБС.

Оператором системы является «Ростелеком», а разработкой занимаемся мы – дочерняя компания РТЛабс .

Меня зовут Сергей Браун, я заместитель директора департамента цифровой идентичности в РТЛабс. Вместе с Артуром Душелюбовым, начальником отдела развития и разработки департамента цифровой идентичности, мы расскажем, как мы создавали платформу для любой биометрии, с какими проблемами встретились и как их решали.

Читать далее
Всего голосов 37: ↑26 и ↓11 +15
Просмотры 4.1K
Комментарии 35

Как поменять архитектуру облака и не поломать пользовательский опыт

Блог компании Конференции Олега Бунина (Онтико) Блог компании Selectel Apache *DevOps *Облачные сервисы

Каждой компании важно оправдать ожидания клиентов, особенно публичному сервису. В случае облачных провайдеров клиенты приходят, чтобы быстро и привычным способом получить, например, виртуальную машину. Их мало волнует, что бывает взрывной рост запросов, в ЦОД приезжает новое железо, а инженеры заняты масштабной миграцией другого пользователя. Клиентам важно быстро получить услуги и отказоустойчивость сервиса. Любое, даже незначительное изменение во внутреннем пространстве сервиса может привести к проблемам на стороне клиентов, как минимум к увеличению времени создания машины.

Константин Еремин, старший системный администратор дежурной службы «Облачной платформы Selectel», рассказал, как поменять архитектуру облака на OpenStack и не поломать пользовательский опыт. На примере выдуманного провайдера Vanilla cloud solutions он объяснил, как определить масштаб проблемы. Почему, перебрав различные варианты, разработчики пришли к Apache Airflow? Какую схему использовали для реализации своих задач и что им удалось сделать с облачным сервисом с помощью выбранного инструмента? Рассказываем под катом. 

Читать далее
Всего голосов 40: ↑40 и ↓0 +40
Просмотры 2.7K
Комментарии 0

Обновление PHP в окружении BitrixVM с использованием Docker

Блог компании Nixys Системное администрирование *PHP *Apache *1С-Битрикс

Введение

В данной статье я бы хотел рассмотреть проблему обновления PHP в виртуальной машине BitrixVM, и действия, которые возможно применить если выполнение переезда на машину с обновленным ПО невозможно. Надеюсь, что статья будет полезна для вас.

Предыстория

Несколько месяцев назад перед нами встала задача обновления PHP до версии 7.4 на одном из наших проектов. Проект был расположен внутри виртуальной машины с развернутой на ней BitrixVM версии 7.2.2. Заглянув в меню Битрикс при обращениях к скрипту /root/menu.sh было обнаружено, что обновление PHP не возможно без обновления Битрикс окружения. При этом само обновление окружения выполняется из бета репозиториев, так как текущая стабильная версия не поддерживала работу с PHP версии 7.4 согласно курсу:

https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=32&LESSON_ID=12862

Прошерстив форумы Битрикс, мы не нашли конкретного ответа, когда будет выполнено обновление BitrixVM до стабильной версии с поддержкой с PHP 7.4. В связи с чем, нами было принято решение обновить версию окружения до актуальной беты на одном из виртуальных серверов разработки, предварительно сделав snapshot.

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

BitrixVM хранит лог выполняемых задач по пути /opt/webdir/temp/, в ходе выполнения обновления окружения в логе возникали различные ошибки, вызывавшие нарушение процесса обновления. Поиск и решение подобных ошибок занимало достаточный период времени. Как пример, возникали ошибки подключения репозитория:

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 1.9K
Комментарии 6

Управление сложностью legacy-кода в Big Data проектах с помощью инструмента Datalog

Блог компании Neoflex Apache *Big Data *
Самый простой Big Data проект сложнее проекта из мира привычного ПО. Имеется ввиду не сложность собственно алгоритмов или архитектуры, но анализа того, что представляет собой проект, как он работает с данными, как собирается та или иная витрина, какие для нее берутся данные.

Например, нужно решить такую задачу:

  1. Загрузить таблицу из Oracle;
  2. Посчитать в ней сумму по какого-нибудь полю, сгруппировав по ключу;
  3. Результат сохранить в витрину в Hive.

Набор инструментов будет выглядеть примерно так:

  • Oracle
  • Apache Sqoop
  • Oozie
  • Apache Spark
  • Hive

Простая задача неожиданно приводит к появлению проекта, включающего три независимых инструмента с тремя независимыми папками исходных файлов. И как понять – что происходит в проекте?

Если рассмотреть более типичный случай, то набор артефактов простого проекта в Big Data представляет собой:

  • SH управляющие файлы;
  • Sqoop скрипты;
  • набор Airflow Dag или Oozie Workflow;
  • SQL скрипты собственно преобразований;
  • Исходники на PySpark или Scala Spark;
  • DDL скрипты создания объектов.

Также, особенностью является то, что если пользоваться Cloudera или Hortonworks, то среда не предоставляет удобных средств разработки и отладки.

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

Вот, например, картинка с сайта Microsoft Azure:



Но это если есть AWS или Azure. А если есть только Cloudera?

Как ответить на вопрос – что, собственно, в проекте написано? При этом этот вопрос крайне интересует и заказчика тоже, так как в случае обычного ПО ему все равно то, как всё устроено внутри, а в случае с Big Data заказчику важно понимать, что данные получаются правильно.
В мире обычного программирования есть набор паттернов, подходов, применение которых позволяет структурировать код. А как структурировать код, представляющий из себя зоопарк независимых SQL-файлов, SH-скриптов вперемешку с Oozie Workflow?
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 999
Комментарии 8

Как я запускал классификацию изображений на домашнем кластере Apache Ignite ML

Java *Apache *Машинное обучение *
Из песочницы

Я - студент университета, знаком с машинным обучением в рамках пройденного курса, есть интерес к современным кластерным технологиям, конкретно - к Apache Ignite. Под катом — история о том, как я запускал пример OneVsRestClassificationExample из дистрибутива.

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

Как в Datalake объединить слишком большое количество небольших файлов в несколько больших с помощью Apache Spark

Блог компании OTUS Apache *Data Engineering *
Перевод

Один из современных способов хранения большущего объема данных для платформ обработки и анализа данных - это распределение каждого датасета между несколькими узлами в кластере. Если мы используем облако, то весь датасет разделяется на множество объектов. Это может привести к появлению “слишком большого количества небольших файлов” что является хорошо известной проблемой в области Big Data. Формирование небольших файлов происходит по нескольким причинам, например, при сохранении входящих потоковых данных, сообщение за сообщением, при партиционировании по ключу с перекосом данных и т.д. Драйвер должен следить за изменениями метаданных всех файлов, чтобы планировать распределенную обработку данных при сохранении или чтении данных датасета используя Namenode, MapReduce или задачи Spark. Когда файлов слишком много, для хранения их метаданных требуется дополнительная память, а при их перечислении этих данных требуется гораздо больше времени на сетевое взаимодействие.

Во время работы в Datalake вы могли заметить, что при выполнении задачи Spark затрачивается слишком много времени на чтение датасета из s3/HDFS, где нужно подождать, даже чтобы увидеть запущенные экзекьюторы. Или вы могли заметить, что вашему Hive запросу может понадобиться несколько минут, чтобы инициировать задачи. Скорее всего, причина в том, что изначально драйвер большую часть времени тратит на просмотр всех метаданных файлов/объектов датасета в s3, особенно когда небольших файлов слишком много. Это связано с тем, что именно драйвер выполняет перечисление файлов в датасете, оценивает размер/партиции, а затем распределяет работу между экзекьюторами. Таким образом, слишком большое количество небольших файлов может привести к снижению производительности, а в худшем случае драйвер может поймать исключение из-за нехватки памяти.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.1K
Комментарии 0

Собеседование на позицию Data Engineer в Х5: чего ждать и как лучше подготовиться

Блог компании X5 Group Python *SQL *Apache *Data Engineering *

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

Для разработки продуктов формируются автономные, кросс-функциональные команды, которые имеют минимум внешних зависимостей и могут двигаться вперед с максимальной скоростью. Одной из ключевых ролей в таких командах является роль Data Engineer.

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

Еще 5 причин выбрать Apache Pulsar вместо Apache Kafka

Высокая производительность *Open source *IT-инфраструктура *Apache *Распределённые системы *
Перевод
Apache Kafka — крайне популярное в настоящий момент решение для обмена сообщениями. Тем более интересно посмотреть какие альтернативы для нее существуют. Особенно декларируемые, как более интересные по ряду параметров.

Под катом — перевод статьи-сравнения Apache Pulsar и Apache Kafka. Статья в некоторой степени рекламная, т.к. написана заинтересованным лицом, но как минимум, возбуждает интерес копнуть глубже. Поехали.

Переведено @middle_java
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 6.9K
Комментарии 9

Обработка больших данных: первые шаги в понимании Hadoop MapReduce и Spark

Блог компании Luxoft Apache *Big Data *Hadoop *Data Engineering *

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

Меня зовут Эмилия Межекова, я ETL-developer в компании Luxoft.

Я расскажу о своём опыте работе с Big Data и почему Spark лучше, чем Hadoop MapReduce в обработке данных. Big Data как концепт довольно понятна, но из-за того, что она включает в себя множество процессов, сложно сказать, с чего именно нужно начать изучение. Как хранятся файлы? Или как получать эти файлы? А может, сразу — как анализировать данные? Читайте подробнее под катом.

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

Настройка Sendmail для отправки почты без попадания в Спам

Сетевые технологии *Apache *
Из песочницы
Столкнулся с проблемой: на правильно настроенном сервере Apache с установленными модулями и настроенными доменными записями у провайдера — письма отправленные через функцию mail из скриптов php попадали в спам или не доставлялись вовсе.

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

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

Система: Ubuntu 20.06
Почтовый сервис: Яндекс
Читать дальше →
Всего голосов 5: ↑2 и ↓3 -1
Просмотры 4.7K
Комментарии 7

Apache Pulsar как основа для системы очередей

Блог компании Авито Системное администрирование *Программирование *IT-инфраструктура *Apache *

Меня зовут Агалецкий Павел, я старший инженер в команде Архитектуры. Эта статья про новую для нас в Авито технологию — Apache Pulsar и построение системы очередей, Queues as a Service, на её основе.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 4.7K
Комментарии 28

DAG’и без напрягов: наш опыт использования метаданных при работе с Apache Airflow

Блог компании Леруа Мерлен Apache *Big Data *Хранилища данных *Data Engineering *

Apache Airflow – простой и удобный batch-ориентированный инструмент для построения, планирования и мониторинга дата-пайплайнов. Ключевой его особенностью является то, что, используя Python-код и встроенные функциональные блоки, можно соединить множество различных технологий, использующихся в современном мире. Основная рабочая сущность Airflow – DAG – направленный ацикличный граф, в котором узлами являются задачи, а зависимости между задачами представлены направленными ребрами. 

Те, кто использует Apache Airflow для оркестрации задач загрузки данных в хранилище, наверняка оценили гибкость, которую он предоставляет для решения шаблонных задач. Когда весь процесс разработки сводится к заполнению конфигурационного файла с описанием параметров DAGа и списком задач, которые должны выполняться. У нас в Леруа Мерлен такой подход успешно используется для создания задач по перекладыванию данных из raw-слоя в ods-слой хранилища. Поэтому было решено распространить его на задачи по заполнению витрин данных.  

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 2.1K
Комментарии 5

Stargate: что это, как работает и зачем использовать

Блог компании Southbridge NoSQL *Администрирование баз данных *Apache *Big Data *


Stargate — это open source фреймворк для работы с Apache Cassandra. Как он устроен и какие преимущества даёт, на конференции Cassandra Day Russia 2021 рассказал Дмитрий Бурлачков, Software Engineer в DataStax и один из разработчиков Stargate. Под катом расшифровка его доклада.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.4K
Комментарии 2

Как объяснить детям, что такое Apache Kafka за 15 минут с картинками и выдрами

Системное администрирование *Администрирование баз данных *Apache *Учебный процесс в IT Научно-популярное
Перевод


Я учусь иллюстрировать сложные процессы с помощью комиксов. Нашла себе в копилку крутой кейс: как с помощью комиксов про милых выдр можно ребенку объяснить такую сложную штуку как Apache Kafka, и сделать мир немного добрее.

«Легко по течению» — легкое введение в потоковую обработку и Apache Kafka. Группа выдр обнаруживает, что они могут использовать гигантскую реку для общения друг с другом. По мере того, как все больше выдр перемещается в лес, они должны научиться адаптировать свою систему, чтобы справиться с возросшей активностью леса.

Под катом 25 слайдов, объясняющие основы Kafka для детей и гуманитариев. И много милых выдр.

Читать дальше →
Всего голосов 32: ↑24 и ↓8 +16
Просмотры 19K
Комментарии 18

Как добавить Natural Language Processing в Minecraft

Программирование *Разработка игр *API *Apache *Natural Language Processing *

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

Появление этого примера, использование NLP в Minecraft, оказалось самым естественным в истории проекта на данный момент. Запрос на его разработку возник у настоящих и самых преданных пользователей - детей одного из разработчиков, которым показалось сложным и даже скорее просто ненужным запоминать формат некоторых команд новой для них игры. 

Читать далее
Рейтинг 0
Просмотры 1.6K
Комментарии 2

Как Apache Spark 3.0 увеличивает производительность ваших SQL рабочих нагрузок

Блог компании Cloudera Apache *Big Data *Hadoop *Data Engineering *
Перевод

Практически в каждом секторе, работающем со сложными данными, Spark "де-факто" быстро стал средой распределенных вычислений для команд на всех этапах жизненного цикла данных и аналитики. Одна из наиболее ожидаемых функций Spark 3.0 - это новая платформа Adaptive Query Execution (AQE), устраняющая проблемы, которые возникают при многих рабочих нагрузках Spark SQL. Они были задокументированы в начале 2018 года командой специалистов Intel и Baidu и сегодня мы детально их обсудим.

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