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

Hadoop *

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

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

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

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

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

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

Архитектура непрерывной потоковой доставки в Cloudera Flow Management

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

Cloudera Flow Management, основанная на Apache NiFi и являющаяся частью платформы Cloudera DataFlow, используется некоторыми из крупнейших организаций в мире для обеспечения простого в использовании, мощного и надежного способа распределения и высокоскоростной обработки данных в современной экосистеме больших данных. Клиенты все чаще используют CFM для ускорения обработки потоковых данных на предприятии от концепции до реализации. Интерфейс разработки потоков Cloudera отличается от типичных стилей структурированного кодирования, что часто создает проблему применения лучших практик непрерывного совершенствования/непрерывной доставки (CI/CD) в стиле DevOps для доставки потоков.

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

Цепочка пользовательских преобразований DataFrame в Spark

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

Для цепочки преобразований DataFrame в Spark можно использовать implicit classes или метод Dataset#transform. В этой статье блога будет продемонстрировано, как выстраивать цепочки преобразований DataFrame, и объяснено, почему метод Dataset#transform предпочтительнее, чем implicit classes.

Структурирование кода Spark в виде преобразований DataFrame отличает сильных программистов Spark от "спагетти-хакеров", как подробно описано в статье "Написание идеального кода Spark (Writing Beautiful Spark Code)". После публикации в блоге, ваш код Spark будет намного проще тестировать и повторно использовать.

Если вы используете PySpark, смотрите эту статью о цепочке пользовательских преобразований PySpark DataFrame.

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

Демистификация Join в Apache Spark

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

Операции Join часто используются в типовых потоках анализа данных для корреляции двух наборов данных. Apache Spark, будучи унифицированным аналитическим движком, также обеспечил прочную основу для выполнения широкого спектра сценариев Join.

На очень высоком уровне Join работает с двумя наборами входных данных, операция выполняется путем сопоставления каждой записи данных, принадлежащей одному из наборов входных данных, с каждой другой записью, принадлежащей другому набору входных данных. При обнаружении совпадения или несовпадения (в соответствии с заданным условием) операция Join может либо вывести отдельную сопоставляемую запись из любого из двух наборов данных, либо объединенную (Joined) запись. Объединенная запись представляет собой комбинацию отдельных сопоставляемых записей из обоих наборов данных.

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

Истории

Как построить современное аналитическое хранилище данных на базе Cloudera Hadoop

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

Привет.

В конце прошлого года GlowByte и Газпромбанк сделали большой совместный доклад на конференции Big Data Days, посвященный созданию современного аналитического хранилища данных на базе экосистемы Cloudera Hadoop. В статье мы детальнее расскажем об опыте построения системы, о сложностях и вызовах с которыми пришлось столкнуться и преодолеть и о тех успехах и результатах, которых мы достигли.

Строить хранилище!
Всего голосов 5: ↑4 и ↓1+3
Комментарии6

Новая схватка двух якодзун или Scylla vs Aerospike (+ HBase для массовки)

Время на прочтение5 мин
Количество просмотров6K
В прошлый раз обсуждение битвы тяжеловесов Cassandra VS HBase вызвало весьма бурную дискуссию, в ходе которой была много раз упомянута Scylla — которая позиционируется как более быстрый аналог Cassandra (далее CS). Также меня заинтересовал весьма любопытный Aerospike (далее AS), который в своих тестах предсказуемо побеждает CS с разгромным счетом.

image

По удивительному совпадению Scylla (далее SC) также легко бьет CS, о чем гордо сообщает прямо на своей заглавной странице:
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии30

Настройка DBT + Spark для кластера Cloudera on-prem

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


Для управления кодом Spark-приложений мы используем подход, описанный в предыдущей статье.

Речь идет об управлении качеством кода при разработке Spark ETL, чтобы не превратить работу над проектом в полет души, пугающий даже автора. В результате Spark ETL application выглядит просто как последовательность Spark SQL-запросов. Сама ETL-трансформация описывается как объект в отдельном файле конфигурации.
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Impala для Python-разработчика на примере определения фрода при анализе трафика в маркетинговой платформе

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

Python-приложения традиционно работают с реляционными БД. Для этого у них есть нужная инфраструктура, множество различных решений и практик. Но иногда приходится использовать другие решения для хранения и обработки данных. Для разработки ETL есть много специализированных инструментов. Но что делать, если есть python-приложение и не хочется разрабатывать какие-то еще сервисы для процессинга данных? Попробуем выделить фродовые эвенты из большого массива данных, хранящихся в Impala, и сделать конструктор отчетов по таким эвентам с помощью только обычного асинхронного веб-приложения на базе python/fastapi.

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

Пример использования гибридного облака на базе Cloudera Data Platform

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

Пример использования гибридного облака на базе Cloudera Data Platform

В этой статье я продемонстрирую, как использовать мощные возможности гибридного облака на базе Cloudera Data Platform (CDP). Вы узнаете, как подключить локальный CDP Private Cloud Base кластер к CDP в публичном облаке и настроить репликацию данных, провести их профилирование и настроить политику маскировки полей с приватными данными.

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

Стриминг Edge2AI на NVIDIA JETSON Nano 2Гб с использованием агентов MiNiFi в приложениях FLaNK

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

Стриминг Edge2AI на новой карте NVIDIA JETSON Nano 2 Гб с использованием агентов MiNiFi в приложениях FLaNK

Устройство NVIDIA Jetson Nano 2GB великолепно - ничего лишнего. Скорость вполне подходит для большинства потребностей, особенно для задач разработки и прототипирования. Настройка проста, система быстрая, я настоятельно рекомендую всем, кто ищет быстрый способ поэкспериментировать с ИИ на периферии и другими пограничными рабочими нагрузками. Я также подключил свой Jetson к монитору, клавиатуре и мыши, и я могу использовать его сразу же как для вычислений на периферии, так и в качестве основного рабочего стола. С большим количеством таких устройств можно будет легко запустить MiNiFi агентов, модель классификации на Python и модели Deep Learning. Я также покажу, как быстро запустить на ней модель глубокого обучения для классификации изображений с веб камеры.

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

Hadoop мертв, да здравствует Hadoop! Или что новенького в Cloudera?

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

Привет, Хабр! Меня зовут Кирилл, я инженер по решениям в Cloudera, и сегодня мне выпала честь представлять всю команду, работающую с регионом СНГ. Мы очень рады, что наконец-то можем делиться полезными материалами и новинками мира больших данных с вами. В последнее время у нас появилось много нового, поэтому начиная писать эту статью волновались, как бы она не превратилась в неподъемный лонгрид. Постарались собрать ниже только самое основное и, к сожалению, в этой статье не будет много технической информации, но мы быстро это исправим.

Узнать о новинках
Всего голосов 7: ↑3 и ↓4-1
Комментарии24

Почему ваши приложения Spark работают медленно или выходят из строя

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

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

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

Масштабирование итеративных алгоритмов в Spark

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

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

В этой статье я бы подробно остановился на некоторых моментах, которые необходимо учитывать при работе с этими задачами. Мы использовали Spark для реализации нескольких итерационных алгоритмов, таких как построение связанных компонентов, обход больших связанных компонентов и т.д. Ниже приведен мой опыт работы в лабораториях Walmart по построению связанных компонентов для 60 миллиардов узлов клиентской идентификации.

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

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

Руководство по столбчатым форматам файлов в Spark и Hadoop для начинающих

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

Что из себя представляет «столбчатый формат файла»?

Этот термин часто используется, но я не уверен, что всем до конца ясно, что он означает на практике.

Определение из учебника гласит, что столбчатые (колоночные, многоколоночные, columnar) форматы файлов хранят данные по столбцам, а не по строкам. CSV, TSV, JSON и Avro — традиционные строковые форматы файлов. Файл Parquet и ORC — это столбчатые форматы файлов.

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

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

Экономичная конфигурация исполнителей Apache Spark

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

Первый этап в определении оптимальной конфигурации исполнителей (executor) - это выяснить, сколько фактических ЦП (т.е. не виртуальных ЦП) доступно на узлах (node) в вашем кластер. Для этого вам необходимо выяснить, какой тип инстанса EC2 использует ваш кластер. В этой статье мы будем использовать r5.4xlarge, который, согласно прейскуранту на инстансы AWS EC2, насчитывает 16 процессоров.

Когда мы запускаем наши задачи (job), нам нужно зарезервировать один процессор для операционной системы и системы управления кластерами (Cluster Manager). Поэтому мы не хотели бы задействовать под задачу сразу все 16 ЦП. Таким образом, когда Spark производит вычисления, на каждом узле у нас остается только 15 доступных для аллоцирования ЦП.

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

Sibur Challenge 2020 — онлайн-чемпионат по анализу промышленных данных

Время на прочтение2 мин
Количество просмотров2.2K
Привет, Хабр!

Мы уже в третий раз запускаем чемпионат по Data Science совместно с сообществом экспертов и команд по искусственному интеллекту AI Community. В этом году соревнование пройдет полностью в онлайн, а призовой фонд составит 1 миллион рублей.

Главное о чемпионате:

  • Стартуем 21 ноября, собираем заявки до 13 декабря, победителей объявим 19 декабря
  • Решать кейсы можно индивидуально или с командой
  • Подать заявку могут все (вообще все, вне зависимости от опыта и места жительства), за исключением наших действующих сотрудников, увы
  • Призовой фонд — 1 000 000 рублей, а лучшие участники могут получить стажировки и вакансии.



Подробнее о задачах 2020 — под катом.
Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Как дебажить запросы, используя только Spark UI

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

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

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

Spark schemaEvolution на практике

Время на прочтение8 мин
Количество просмотров2.9K
Уважаемые читатели, доброго дня!

В данной статье ведущий консультант бизнес-направления Big Data Solutions компании «Неофлекс», подробно описывает варианты построения витрин переменной структуры с использованием Apache Spark.

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

Обычно это логи, или ответы различных систем, сохраняемые в виде JSON или XML. Данные выгружаются в Hadoop, далее из них нужно построить витрину. Организовать доступ к созданной витрине можем, например, через Impala.

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

Например, сегодня логируется такой ответ:

{source: "app1", error_code: ""}

а завтра от этой же системы приходит такой ответ:

{source: "app1", error_code: "error", description: "Network error"}

В результате в витрину должно добавиться еще одно поле — description, и придет оно или нет, никто не знает.

Задача создания витрины на таких данных довольно стандартная, и у Spark для этого есть ряд инструментов. Для парсинга исходных данных есть поддержка и JSON, и XML, а для неизвестной заранее схемы предусмотрена поддержка schemaEvolution.

С первого взгляда решение выглядит просто. Надо взять папку с JSON и прочитать в dataframe. Spark создаст схему, вложенные данные превратит в структуры. Далее все нужно сохранить в parquet, который поддерживается в том числе и в Impala, зарегистрировав витрину в Hive metastore.

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

Как увеличить скорость чтения из HBase до 3 раз и с HDFS до 5 раз

Время на прочтение19 мин
Количество просмотров4K
Высокая производительность — одно из ключевых требований при работе с большими данными. Мы в управлении загрузки данных в Сбере занимаемся прокачкой практически всех транзакций в наше Облако Данных на базе Hadoop и поэтому имеем дело с действительно большими потоками информации. Естественно, что мы все время ищем способы повысить производительность, и теперь хотим рассказать, как удалось пропатчить RegionServer HBase и HDFS-клиент, благодаря чему удалось значительно увеличить скорость операции чтения.

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

Применение low-code в аналитических платформах

Время на прочтение16 мин
Количество просмотров5K
Уважаемые читатели, доброго дня!

Задача построения ИТ-платформ для накопления и анализа данных рано или поздно возникает у любой компании, в основе бизнеса которой лежат интеллектуально нагруженная модель оказания услуг или создание технически сложных продуктов. Построение аналитических платформ — сложная и трудозатратная задача. Однако любую задачу можно упростить. В этой статье я хочу поделиться опытом применения low-code-инструментов, помогающих в создании аналитических решений. Данный опыт был приобретён при реализации ряда проектов направления Big Data Solutions компании «Неофлекс». Направление Big Data Solutions компании «Неофлекс» с 2005 года занимается вопросами построения хранилищ и озёр данных, решает задачи оптимизации скорости обработки информации и работает над методологией управления качеством данных.



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

Однако в каком случае задачи аналитики данных могут перерасти в задачи класса «Rocket Science»? Пожалуй, в тот момент, когда речь идёт о действительно больших данных.
Чтобы упростить задачу «Rocket Science», можно есть слона по частям.



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

К этому постулату пришли практически все наши клиенты, перестроив ландшафт, основываясь на инженерных практиках DevOps-команд.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии5