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

Big Data *

Большие данные и всё о них

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

Как Uber обслуживает более 40 миллионов чтений в секунду из онлайн-хранилища с помощью встроенного кэша

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

Привет, Хабр! Представляю вам перевод статьи "How Uber Serves Over 40 Million Reads Per Second from Online Storage Using an Integrated Cache" автора Preetham Narayanareddy. Из неё вы узнаете, как в Uber проектировалась система кэширования на основе Redis, с какими сложностями и тонкостями пришлось столкнуться разработчикам, и как в итоге им удалось создать действительно высокопроизводительное решение.

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

Новости

Равновесное ранжирование со смещением к целевой метрике

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

Постановка задачи:

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

Сделаем небольшое отступление. Многие уже на этом моменте могут сказать, что подобные задачи решаются методом коллаборативной фильтрацией. И в целом они будут правы. Но есть случаи, когда фильтрация не подходит или ее недостаточно. Для примера давайте представим себя в роли продавца автомобилей, который думает, какой новой маркой / моделью авто ему начать торговать. Допустим у него есть выбор из 1000 вариантов. И тут уже становится понятно, что идея коллаборативный фильтрации не очень хорошо вписывается в этот случай. Продавцу хочется сделать выбор, не основываясь на предпочтениях других продавцов, а исходя из неких характеристик, определяющих выгоду объекта.

В сухом остатке имеем n признаков. Что с ними нужно сделать, чтобы достичь желаемого? Можно суммировать значение всех признаков для объекта и получить итоговую оценку, которая отражает совокупный итог всех знаний об объекте. Но что не так в таком простом подходе?

Читать далее
Всего голосов 3: ↑4.5 и ↓-1.5+6
Комментарии1

Анализ мощности статистических критериев с использованием бакетизации

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

В данной статье рассматривается влияние бакетизации на мощность статистических критериев в условиях различных распределений данных и при разном объеме выборки. Особое внимание уделено зависимости мощности критерия от количества бакетов и размера выборки. Исследование предоставляет важные выводы для проектирования и анализа A/B тестирования и других форм экспериментальных исследований.

Не кладём все яйца в одну корзину
Всего голосов 2: ↑3 и ↓-1+4
Комментарии2

AI-тренер, нейровоспитатель, ассесор, крауд и разметчик — кто все эти люди и в чем разница?

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

Многие компании в последнее время ввели должность «ИИ-тренера» (AI-тренера), при этом просто разметчики/ассесоры никуда не делись. Что это — просто красивая обертка нейминга над тем же самыми или что-то концептуально новое?

Давайте попробуем в этом разобраться и однозначно ответить на вопрос о различиях.

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

Истории

Чтение на выходные: «Искусство быть невидимым. Как сохранить приватность в эпоху Big Data» Кевина Митника

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

Спойлер к проблеме из сегодняшнего заголовка: «Никак». Об этом мы и поговорим.

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

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

Как настроить ETL с json’ами в Apache NiFi

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

Привет, Хабр! Меня зовут Сергей Евсеев, сегодня я расскажу, как в Apache NiFi настраивается ETL-пайплайн на задаче с JSON’ами. В этом мне помогут инструменты Jolt и Avro. Пост пригодится новичкам и тем, кто выбирает инструмент для решения схожей задачи.

Что делает наша команда

Команда работает с данными по рекрутингу — с любой аналитикой, которая необходима персоналу подбора сотрудников. У нас есть различные внешние или внутренние источники, из которых с помощью NiFi или Apache Spark мы забираем данные и складируем к себе в хранилище (по умолчанию Hive, но есть еще PostgreSQL и ClickHouse). Этими же инструментами мы можем брать данные из хранилищ, создавать витрины и складывать обратно, предоставлять данные внутренним клиентам или делать дашборды и давать визуализацию.

Описание задачи

У нас есть внешний сервис, на котором рекрутеры работают с подбором. Сервис может отдавать данные через свою API, а мы эти данные можем загружать и складировать в хранилище. После загрузки у нас появляется возможность отдавать данные другим командам или работать с ними самим. Итак, пришла задача — нужно загрузить через API наши данные. Дали документацию для загрузки, поехали. Идем в NiFi, создаем пайплайн для запросов к API, их трансформации и складывания в Hive. Пайплайн начинает падать, приходится посидеть, почитать документацию. Чего-то не хватает, JSON-ы идут не те, возникают сложности, которые нужно разобрать и решить.

Ответы приходят в формате JSON. Документации достаточно для начала загрузки, но для полного понимания структуры и содержимого ответа — маловато. 

Мы решили просто загружать все подряд — на месте разберемся, что нам нужно и как мы это будем грузить, потом пойдем к источникам с конкретными вопросами. Так как каждый метод API отдает свой класс данных в виде JSON, в котором содержится массив объектов этого класса, нужно построить много таких пайплайнов с обработкой разного типа JSON’ов. Еще одна сложность — объекты внутри одного и того же класса могут отличаться по набору полей и их содержимому. Это зависит от того, как, например, сотрудники подбора заполнят информацию о вакансии на этом сервисе. Этот API работает без версий, поэтому в случае добавления новых полей информацию о них мы получим только либо из данных, либо в процессе коммуникации.

Читать далее
Всего голосов 12: ↑13.5 и ↓-1.5+15
Комментарии5

Greenplum, NiFi и Airflow на страже импортозамещения: но есть нюансы

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

В статье описывается практическое применение популярных Open-Source технологий в области интеграции, хранения и обработки больших данных: Apache NiFi, Apache Airflow и Greenplum для проекта по аналитике учета вывоза отходов строительства.

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

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

Yandex Data Proc для ML: ускоряем Embedding на Spark

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

Меня зовут Дмитрий Курганский, я Tech Lead команды MLOps в Банки.ру.
Мы работаем над тем, чтобы грамотно организовать и ускорить этапы жизненного цикла ML. В этой статье поделюсь нашим опытом применения Embedding: от запуска Яндекс Data Proc кластера через Airflow до оптимизации этапа применения Embedding с помощью Spark.
Материал в целом будет актуален для этапа применения (inference) любых моделей для больших наборов данных, работающих в batch режиме по расписанию.

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

[Перевод] Почему стоит начать писать собственные Spark Native Functions?

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

Это мой вольный перевод статьи "Why You Should Start Writing Spark Custom Native Functions", которая вдохновила меня на некоторые собстенные изыскания по данной теме. Их результат я планирую опубликовать позже, а пока выношу на ваш суд этот перевод.

Статья на примере реализации функции по генератации UUID рассматривает, как писать Spark native функции, которые были бы "прозрачны" для Catalyst (в отличии от UDF, которые являются "черными ящиками" для него). Сравнение производительности ожидаемо показывает, что Catalyst Expressions значительно превосходят UDF при увеличении размера данных.

Кому интересно узнать, как писать Spark native функции - прошу под кат.

Читать далее
Всего голосов 5: ↑6.5 и ↓-1.5+8
Комментарии15

Векторные базы данных: простым языком про устройство и принцип работы

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

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

Читать далее
Всего голосов 30: ↑32.5 и ↓-2.5+35
Комментарии8

«‎Я знаю о тебе все и даже больше»: как создать единый профиль клиента с помощью IDGraph

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

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

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

Как подойти к внедрению DWH, чтобы не было «больно»? Какие методологии использовать и какой стек выбрать?

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

В статье рассказываем о том, кому стоит задуматься о внедрении DWH, как сократить вероятность ошибок на этапе разработки проекта, выбрать стек, методологию и сэкономить ИТ-бюджеты. 

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

Почему решения принимаются не на основе дашбордов?

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

Чем похожи дашборд и рекламный баннер? 

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

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

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

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

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

Языковой процессор LPU, GenAI в FinOps и инструменты для анализа данных

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

Привет, Хабр! Возвращаюсь с новым выпуском полезных материалов, который поможет разобраться в ML, AI и дата-аналитике. Сегодня в программе — состояние MLOps в 2024 году, возможности дата-контрактов, оценка качества данных DQ Score и Python-библиотека для работы с SQL. Подробнее — под катом. Еще больше полезных материалов — в Telegram-сообществе «MLечный путь».
Читать дальше →
Всего голосов 22: ↑27 и ↓-5+32
Комментарии0

Как настроить Source коннекторы Kafka Connect для оптимизации пропускной способности

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

Привет, Хабр! Доводилось ли вам тратить долгие бесплодные часы в попытке настроить коннекторы Kafka Connect, чтобы добиться адекватного потока данных? Мне, к сожалению, доводилось. Представляю вашему вниманию перевод статьи "How to Tune Kafka Connect Source Connectors to Optimize Throughput" автора Catalin Pop. Это прекрасное руководство от Confluent, где подробно и с примером описывается, как настроить Source коннекторы.

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

ГАЙД по python стеку для Data Science инженеров

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

Data science - это область, которая занимается изучением и анализом больших объемов данных, чтобы находить в них полезные закономерности, делать прогнозы или принимать решения на основе фактов. Самым популярным языком программирования для data science является Python. Библиотеки pyhton, о которых пойдет речь: NumPy, SciPy, Pandas, Matplotlib. Статья написана для новичков, которые хотят узнать о python стеке для data science.

Подробнее
Всего голосов 15: ↑13 и ↓2+11
Комментарии4

Разработка программного средства по обработке данных фонокардиограммы

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

Медицинские исследования играют важную роль в понимании различных заболеваний и разработке эффективных методов лечения. Одним из инструментов, используемых в кардиологии, является фонокардиограмма (ФКГ).

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

ФКГ может использоваться для оценки эффективности лечения сердечных заболеваний и для наблюдения за состоянием сердца в течение времени. Если у вас есть симптомы, такие как боль в груди, одышка, учащенный пульс, упадок сил, обратитесь к кардиологу, который посоветует, нужна ли вам ФКГ [1].

Объектом исследования выпускной квалификационной работы является список файлов формата .csv, содержащих разделенные знаком ";" смещенные целочисленные значения амплитуды шумов сердца, записанные в течение нескольких секунд, частота дискретизации – 1000 гц (числа в записи обозначают амплитуду сигнала, временной промежуток между соседними значениями - 1 миллисекунда).

Цель работы состоит в создании алгоритма автоматической интерпретации снятых данных, который пытается по форме кривых делать выводы, аналогичные тем, которые по этим же кривым умеет делать эксперт и создание собственного алгоритма. Необходимо определить и выделить точку максимальной амплитуды, начало и окончание тона 1 для каждого из сердечных циклов. Ответ необходимо вывести в виде списка списков [t1, t2, t3], где t1 – начало тона 1, t2 – точка максимальной амплитуды, t3 – окончание тона 1. Также, для проверки результата, необходимо визуализировать полученный результат на графике. Данную процедуру необходимо произвести для каждого файла.

Ссылка на github: medical_date/script.py at main · ReshetnikovDmitrii4918/medical_date (github.com)

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

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 3: Специализированное машинное обучение

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

Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).

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

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

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

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

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

НЬЮ!


В предыдущих сериях (FAQ 1 2 3 4 5 ) мы весьма подробно рассмотрели, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL поверх Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

В данной части поговорим о том, как добавить в выражения SQL поддержку функций. Например,


SELECT
    MAX(score1, score2, score3, score4, score5) AS max_score,
    MIN(score1, score2, score3, score4, score5) AS min_score,
    MEDIAN(score1, score2, score3, score4, score5) AS median_score,
    score1 + score2 + score3 + score4 + score5 AS score_sum
FROM raw_scores INTO final_scores
WHERE ABS(score1 + score2 + score3 + score4 + score5) > $score_margin;

— тут у нас функции MAX, MIN и MEDIAN принимают любое количество аргументов типа Double и возвращают Double, а ABS только один такой аргумент.


Вообще, кроме общей математики, в любом уважающем себя диалекте SQL как минимум должны быть функции для манипуляций с датой/временем, работы со строками и массивами. Их мы тоже обязательно добавим. В classpath, чтобы движок мог их оттуда подгружать. До кучи, ещё и операторы типа >= или LIKE, которые у нас уже были реализованы, но хардкодом, сделаем такими же подключаемыми.


Предупреждение о сложности материала

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

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

Восхитительная теория [якорных] баз данных от Ларса Рённбека

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

Обнаружил серию статей по принципам организации информации и базам данных от математика из Стокгольмского университета и с энтузиазмом перевожу. Моя уверенность в том, что реляционки с 3-й формой нормализации - лучшее, что придумало человечество, резко убавилась... Я бы назвал это "субъективной теорией информации", автор называет "Transitional modeling", но обычно это применяется под названием "якорная модель данных"...

Читать далее
Всего голосов 10: ↑7.5 и ↓2.5+5
Комментарии21
1
23 ...

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

Работа

Data Scientist
56 вакансий