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

Hadoop *

Фреймворк для распределённых приложений

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

SPARK для «малышей»

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

Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).

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

Читать далее
Всего голосов 17: ↑17.5 и ↓-0.5+18
Комментарии0

Новости

Путь от монолита к разделению Compute и Storage: пример поиска «хранилища мечты» для большой аналитической платформы

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

Для запуска и эксплуатации высоконагруженных ИТ-решений с петабайтами данных в активе, нужно проработанное решение, позволяющее гибко управлять ресурсами. Одним из критичных аспектов этого решения, является разделение Compute & Storage — разделение ресурсов инфраструктуры под вычисление и хранение соответственно. Если не реализовать такое разделение в крупном проекте, инфраструктура рискует превратиться в «чемодан без ручки» — эффективность использования ресурсов будет низкой, а сложность управления ресурсами и средами будет высока. На примере команды SberData и их корпоративной аналитической платформы я расскажу, когда требуется разделение Compute & Storage и как это реализовать максимально нативно.

Статья подготовлена по мотивам доклада на VK Data Meetup «Как разделить Compute & Storage в Hadoop и не утонуть в лавине миграций».

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

Оптимизация запроса и запрос оптимизации

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

Как не грабить память, не пытать диск, не мучать кластер. Или делать все это всего одним запросом на Impala к Hadoop.

Среди задач аналитиков данных, в рамках которых необходимо иметь дело с большими объемами однотипных данных, выделяются задачи построения витрин данных, автоматизации процессов сбора и обработки данных. Многие аналитики используют различные реляционные базы данных, в таблицах которых хранятся огромные объемы информации, агрегация и доступ к которым может занимать долгое время, поэтому правильное составление и оптимизация запросов к этим таблицам становится критически необходимым фактором для работы аналитиков, инженеров данных и data scientist.

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

Hadoop в любой непонятной ситуации. Как выжить кластеру в большой ML команде

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

Привет, Habr !

Я работаю инженером по машинному обучению в Мегафоне. Занимаюсь аналитикой данных и являюсь частью команды разработки MLOps платформы. Задача нашей команды состоит в том, чтобы выстраивать и оптимизировать процессы разработки и продуктивизации моделей машинного обучения, предоставлять функционал для основных этапов (сбор данных, MQ/DQ, продуктивизация).

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

Видеозапись по мотивам статьи можно посмотреть здесь.

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

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

Истории

Искусство ETL. FAQ по Data Cooker ETL

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

Как и было обещано, в завершение серии ( 1 2 3 4 5 ) статей о разработке инструмента для ETL больших данных, я выкладываю выжимку ответов на вопросы.


А то статьи были в формате туториала для разработчиков таких инструментов (длинные и с высоким уровнем сложности), так что стоит рассказать более кратко и понятно для каждого.


Q. Что это такое?


A. Специализированный инструмент для а) быстрого создания ETL процессов и б) эффективного по стоимости их выполнения.


Промка: https://dcetl.ru
Исходники: https://github.com/PastorGL/datacooker-etl
Официальная группа в телеге: https://t.me/data_cooker_etl

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

Искусство ETL. Пишем собственный движок SQL на Spark [часть 5 из 5]

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

REPL


В данной серии статей я подробно рассказываю о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

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


Расширяемость. API подключаемых функций
Режимы запуска. Пакетный режим, сборка для разных окружений, автотесты


Теперь можно поговорить о последних штрихах, делающих инструмент — инструментом, а именно, об интерактивно-отладочном режиме, то есть, REPL, клиенте и сервере, а также о генераторе документации.


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Искусство ETL. Пишем собственный движок SQL на Spark [часть 4 из 5]

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

public abstract class Operation implements Configurable<OperationMeta>


В данной серии статей я подробно рассказываю о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

Краткое содержание предыдущей серии, посвящённой имплементации спеки языка в коде:
Заметка об использовании prior art
Наборы данных в контексте исполнения
Переменные, настройки контекста исполнения, и метаданные параметров подключаемых функций
Интерпретатор, контекст исполнения, операторы выражений


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


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Искусство ETL. Пишем собственный движок SQL на Spark [часть 3 из 5]

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

04_assets_residents.tdl


В данной серии статей я подробно рассказываю о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

Краткое содержание предыдущей серии, последней, посвящённой проектированию спецификации языка:
Операторы жизненного цикла наборов данных (продолжение)
Операторы контроля потока выполнения
Операторы управления контекстом исполнения
Операторы выражений


В данном эпизоде мы наконец-то перейдём к самому интересному — имплементации. Хорошо, когда есть развёрнутая постановка задачи, можно просто брать спеку, и писать код согласно плану.


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Искусство ETL. Пишем собственный движок SQL на Spark [часть 2 из 5]

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

image


В данной серии статей я подробно расскажу о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

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


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Искусство ETL. Пишем собственный движок SQL на Spark [часть 1 из 5]

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

image


В данной серии статей я подробно расскажу о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

— Евдокимов, ты что, совсем уже там кукухой поехал?! При живом-то Spark SQL! Опять ты ненормальным программированием маешься, нет бы что-то полезное делал…
— Ну-ну-ну, спокойно, спокойно. Я ещё настолько не уехал, чтобы потратить целый год на страдание полной ерундой. Речь на сей раз пойдёт не о развлекухе, а о диалекте языка, специализированном для решения целого класса задач, для которых любой существующий SQL был бы, в теории, хорошим решением, если бы не несколько серьёзных «но».


Короче, у нас будет немного не такой SQL, который вы все так хорошо знаете, но и этот вариант вы полюбите, я обещаю. Тут лучше другой вопрос задать:
— Разве кому-то нужен голый SQL-ный движок?


Нет, голый — не нужен. Так рассказывать я буду о разработке настоящего production ready инструмента, с интерактивным шеллом с подсветкой синтаксиса и автодополнением, который сможет работать в клиент-серверном режиме, и не только на кластере, но и локально. Да не монолитный, а расширяемый при помощи подключаемых функций. И с автогенератором документации впридачу. Короче, всё будет совсем по-взрослому, с рейтингом M for Mature.


В каком смысле «M for Mature»?

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Зачем Data-инженеру Spark

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

Привет, Хабр, меня зовут Дима. В последние пару лет занимаюсь аналитикой, отвечаю за данные в Почте Mail.ru. Развиваю аналитическое хранилище данных и инструменты для работы с ними. Мы плотно работаем со стеком Hadoop, Hive, Spark, Clickhouse и Kafka. Я хочу остановиться на некоторых аспектах работы с данными в Spark: как мы храним петабайты информации и как выполняем запросы к ним?

Прежде всего поделюсь своими практическими наблюдениями. Расскажу как в нашем хранилище мы превратили 7 петабайт в 0,5 петабайт, что позволило сэкономить годовой бюджет по закупке серверов. И также расскажу о ключевых проблемах с данными, знание о которых помогло бы вам построить своё классное хранилище без последующей переделки.

Читать далее
Всего голосов 38: ↑37 и ↓1+36
Комментарии2

Кейс внедрение Dbt в «Детском мире»

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

Всем привет! Меня зовут Антон и я руковожу Big Data платформой в Детском Мире. 

На Хабре проходит сезон Больший данных, и я решил что это отличная возможность поделиться нашим опытом внедрения Dbt (инструмент для оркестрации Sql витрины). На хабре уже статьи по инструменту, в моей статье, покажу как пришли от запуска ноутбука в Zeppelin к промышленному решению запуска большого количества витрин написанных на SparkSql в OnPrem Hadoop.

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

Мнение об интенсивах Академии Яндекса + выпускной проект

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

Всем привет! Я выпускник данной Академии и победитель в конкурсе проектов. Я получил уникальный опыт, который будет полезен начинающим специалистам

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

Предвкушаю вопросы, поэтому я сразу говорю - обзор не реклама. Не путайте Практикум и Академию, академия - некоммерческая организация, а интенсивы - бесплатные курсы, которые (внезапно) просто дают знания.

Минусы и результаты собеседований после курсов - перед началом секции "проект" - эти 3 модуля покажут реальный уровень выпускников академии. Все что будет дальше является сугубо личным мнением. Приступим!

Узнать больше о курсах...
Всего голосов 15: ↑13 и ↓2+11
Комментарии16

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

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

MapReduce: как и зачем?

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

Пример задачи.

Хотим автоматизировать огромный фруктовый рынок. На каждое событие будем писать строчку в структурированный лог. Этот лог не является частью runtime функционирования рынка, но может быть полезен для изучения статистики и аналитики.

Например, на основании лога продавец может сделать вывод, что свежие яблоки выгоднее привозить к 13:00.

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

Выбираем формат хранения данных в экосистеме Hadoop

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

Привет, %username%! Меня зовут Кирилл Фурзанов, я Data Scientist в Сбере, участник профессионального сообщества NTA. При формировании витрин данных и датасетов в экосистеме Hadoop одним из важных вопросов является выбор оптимального способа хранения данных в hdfs. Рассмотрим один из важных вопросов при создании витрины – выбор соответствующего формата файла для хранения.

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

Знакомство с Fugue — уменьшаем шероховатости при работе с PySpark

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

Автор оригинальной статьи: Kevin Kho

Повышение производительности разработчиков и снижение затрат на проекты Big Data

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

Pyspark. Анализ больших данных, когда Pandas не достаточно

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

Pandas - одна из наиболее используемых библиотек Python с открытым исходным кодом для работы со структурированными табличными данными для анализа. Однако он не поддерживает распределенную обработку, поэтому вам всегда придется увеличивать ресурсы, когда вам понадобится дополнительная мощность для поддержки растущих данных. И всегда наступит момент, когда ресурсов станет недостаточно. В данной статье мы рассмотрим, как PySpark выручает в условиях нехватки мощностей для обработки данных.

Ну что же, приступим...

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

Как найти «слона» в песочнице на Hadoop: решаем проблему с ограничением объёма выделенной памяти

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

И снова здравствуй, Хабр! Сегодня поговорим об актуальной для многих из нас проблеме при работе с базами данных. В ходе работы над разными проектами часто приходится создавать базу данных  (командное пространство, песочница и т.п.), которую использует как сам автор, так и/или коллеги для временного хранения данных. Как у любого «помещения», в нашей «песочнице» есть своё ограничение по объёму выделенного места для хранения данных.  Периодически бывает так, что вы или ваши коллеги забываете об этом маленьком ограничении, из-за чего, к сожалению, заканчивается объём выделенной памяти.

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

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

Выгрузка HDFS FSImage в Hive для мониторинга и аналитики: руководство к действию

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

Привет, Хабр! Меня зовут Борис Мурашин, я системный архитектор развития платформы больших данных в Х5 Tech. В статье делюсь своим опытом работы с кластером Hadoop: рассказываю, как с помощью сторонней библиотеки мне удалось организовать оперативную выгрузку образа файловой системы HDFS в Hive. И не только про это. Надеюсь, что мои инструкции помогут другим сэкономить массу времени в работе с кластером.

Сколько места на диске используют таблицы Hive в HDFS? В каких из них много мелких файлов? Какая динамика у этих цифр? Что происходит в домашних каталогах пользователей? Кто прямо сейчас создаёт таблицу с партиционированием по timestamp и скоро «уложит» нэймноду по GC pause? Давайте разбираться.

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

Что должен знать дата-инженер. Роадмап для джуниора

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

Привет, username! Меня зовут Иван Васенков и я джуниор дата-инженер в дирекции данных и аналитики Lamoda. Но к этой профессии я пришел не сразу: окончив университет, я начал работать аналитиком данных, затем стал BI-разработчиком, а уже после этого — дата-инженером.

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

Читать далее
Всего голосов 26: ↑24 и ↓2+22
Комментарии11
1
23 ...