Pull to refresh
10
0
Руслан Ксалов @Polosatyi

Пользователь

Send message

Kafka, Python и золотая рыбка

Reading time10 min
Views35K

Поймал как-то программист золотую рыбку, а она ему и говорит человеческим голосом: «Отпусти меня в синее море, я исполню любое твоё желание». Программист ЦПУшечкой поскрипел, да и выдал техзадание. «Построй мне», – говорит, – «систему обработки неидемпотентных запросов, да чтоб она была высокопроизводительной, масштабируемой, гибкой и отказоустойчивой!». Охнула сперва золотая рыбка, но взяла себя в плавники и молвила: «Не печалься, ступай себе домой, код написан, система развёрнута. Отпускай меня уже». Удивился программист: «Да ладно? Ну, сейчас проверю и отпущу». «Нет», – возражает рыбка – «пока ты проверяешь, я уж засохну, и всё волшебство исчезнет». Программист задумался: «Что же делать: сначала отпустить, а потом проверить, или сначала проверить, а потом сушёную рыбу к пиву получить?».

Мечты о золотой рыбке не раз посещали умы даже опытных разработчиков. В погоне за оптимальной системой обработки запросов многие отдают недели и месяцы своей жизни, а некоторые готовы отдать и душу, чтобы всё работало без сбоев.
Но нужны ли такие жертвы? Нет... Ведь у вас есть мегабыстрая Apache Kafka, супергибкий Python и возможности NoSQL баз данных. Все эти решения прекрасны по отдельности, но как из них собрать один конвейер для обработки данных, не растеряв их преимущества? Рассмотрим под катом.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments14

Я не чувствую давления async

Reading time11 min
Views10K

Async в моде. Async Python, Async Rust, Go, Node, .NET и т.д. Выбирайте свою любимую экосистему, и в ней будет свой модуль для асинхронности. Насколько хорошо работает вся эта асинхронная история, во многом зависит от экосистемы и среды выполнения языка, но в целом у нее есть несколько приятных преимуществ. Что действительно становится проще – это ожидание завершения операции, выполнение которой требует некоторого времени. Теперь это настолько просто, что количество способов выстрелить себе в ногу невероятно выросло. Тот способ, о котором я хочу сегодня поговорить – это тот, в котором вы не осознаете, что стреляете себе в ногу, пока система не начнет перегружаться. Да, я про управление давлением. Родственным термином в сетевых технологиях является «контроль потока». 

Читать далее
Total votes 20: ↑18 and ↓2+16
Comments8

Как создать легко воспроизводимый DS проект

Reading time8 min
Views2.4K

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

Для того чтобы сделать процесс развертывания, использования и доработки алгоритма интуитивно понятным воспользуемся инструментом Kedro. Основная концепция kedro заключается в модульной структуре, где весь цикл работы с данными формируется из отдельных блоков в единый рабочий процесс. Проект на kedro имеет следующую структуру:

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Вариантность в программировании

Reading time6 min
Views110K

До сих пор не можете спать, пытаясь осмыслить понятия ковариантности и контравариантности? Чувствуете, как они дышат вам в спину, но когда оборачиваетесь ничего не находите? Есть решение!


Меня зовут Никита, и сегодня мы попытаемся заставить механизм в голове работать корректно. Вас ожидает максимально доступное рассмотрение темы вариантности в примерах. Добро пожаловать под кат.

Читать дальше →
Total votes 56: ↑49 and ↓7+42
Comments22

Дата-инжиниринг в превосходных условиях

Reading time9 min
Views4.4K

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

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

В этом посте я сделал верхнеуровневый обзор решений, подходов и фреймворков, которые мы используем для развития Wheely: оптимизации операционной деятельности, построения отчетности, планирования и проверки гипотез. И еще немного похвастаться (куда без этого), потому что инструменты, которые мы используем в Wheely, сегодня набирают большую популярность на Западе, но в России пока далеко не каждая компания готова их адаптировать.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments5

Аналитический движок Amazon Redshift + преимущества Облака

Reading time9 min
Views8.6K

Аналитический движок Amazon Redshift + преимущества Облака


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


На связи Артемий Козырь из команды Аналитики, и я продолжаю знакомить вас с Wheely. В этом выпуске:


  • Основы гибких кластерных вычислений
  • Колоночное хранение и компрессия данных
  • Вместо индексов: ключи сегментации и сортировки
  • Управление доступами, правами, ресурсами
  • Интеграция с S3 или Даталейк на ровном месте
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments14

Как мы в ivi переписывали etl: Flink+Kafka+ClickHouse

Reading time6 min
Views24K
Год назад мы решили переделать схему сбора данных в приложении и данных о действиях клиентов. Старая система работала исправно, но с каждым разом было всё сложнее и опаснее вносить туда изменения.



В этой статье я расскажу, какие технологии мы стали использовать для сбора и агрегации данных в новом проекте.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments12

Тестирование в Apache Spark Structured Streaming

Reading time8 min
Views2.5K

Введение


На текущий момент не так много примеров тестов для приложений на основе Spark Structured Streaming. Поэтому в данной статье приводятся базовые примеры тестов с подробным описанием.


Все примеры используют: Apache Spark 3.0.1.

Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments2

Что такое Terms of Use или Как онлайн-бизнесу избежать проблем с пользователями

Reading time4 min
Views6K
Что такое Terms of Use, почему владельцам онлайн-проектов, приложений и мобильных игр не обойтись без пользовательского соглашения и как правильно составить этот документ.

image

В октябре 2020 года в сети активно обсуждали кейс украинского сервиса онлайн-заказа такси Uklon. Драйвер компании проехал на красный свет и разбил Audi A7 клиента.

Ремонт машины оценили в 360-500 тысяч гривен. В самой компании Uklon отказались нести какую-либо ответственность за инцидент, ссылаясь на пункт 5.2. пользовательского соглашения.
Читать дальше →
Total votes 2: ↑1 and ↓10
Comments5

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

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

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments9

Конец хайпа: Что ждёт язык Scala дальше

Reading time13 min
Views24K


Вокруг языка Scala всегда было много хайпа и неоднозначных суждений.


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


В ответ на это один из очень активных членов сообщества (Li Haoyi) описал своё видение дальнейшего пути языка Scala.


Статья у него получилась интересной, посему решил перевести её.

Перевод
Total votes 30: ↑30 and ↓0+30
Comments110

Оператор в Kubernetes для управления кластерами БД. Владислав Клименко (Altinity, 2019)

Reading time22 min
Views8.4K


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


В первой части доклада рассмотрим:


  • что такое оператор в Kubernetes и зачем он нужен;
  • как именно оператор упрощает управление сложными системами;
  • что оператор может, а что оператор не может.

Далее, перейдём к обсуждению внутреннего устройства оператора. Рассмотрим архитектуру и функционирование оператора по шагам. Подробно разберём:


  • взаимодействие между оператором и Kubernetes;
  • какие функции оператор берет на себя, а что делегирует в Kubernetes.

Рассмотрим управление шардами и репликами БД в Kubernetes.
Далее, обсудим вопросы хранения данных:


  • как работать с Persistent Storage с точки зрения оператора;
  • подводные камни использования Local Storage.

В заключительной части доклада рассмотрим практические примеры применения clickhouse-operator с Amazon или Google Cloud Service. Доклад строится на примере разработки и опыта эксплуатации оператора для ClickHouse.

Total votes 16: ↑15 and ↓1+14
Comments0

11 инструментов, делающих Kubernetes лучше

Reading time6 min
Views6.9K


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


Здесь и появляются дополнения, расширения и прочие ништяки для этого оркестратора контейнеров, поддерживаемые широчайшим сообществом. В этой статье будет 11 лучших вещей, найденных нами. Нам самим в Southbridge они очень даже интересны, и мы планируем разобраться с ними практически — на винтики и гаечки разобрать и посмотреть, что внутри. Часть из них прекрасно дополнит любой кластер Kubernetes, другие же помогут решить частные задачи, не реализованные в типовой поставке Kubernetes.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments2

Паттерн «сага» как способ обеспечения консистентности данных

Reading time3 min
Views15K
Всем привет. Уже сейчас в OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный демо урок по теме: «Индексы в MySQL: best practices и подводные камни». Записаться на вебинар можно тут.





Введение


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

В прошлый раз мы обсудили причины возникновения проблем с согласованностью в микросервисной архитектуре, оптимистичный подход к обеспечению согласованности и обеспечение согласованности с применением двухфазного коммита.
Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments0

Pysa: как избежать проблем безопасности в коде Python

Reading time8 min
Views5.9K

7 августа Facebook представил Pysa — ориентированный на безопасность статический анализатор с открытым исходным кодом, помогающий работать с миллионами строк в Instagram. Раскрыты ограничения, затронуты проектные решения и, конечно, средства, помогающие избегать ложных положительных срабатываний. Показана ситуация, когда Pysa наиболее полезен, и код, в котором анализатор неприменим. Подробности из блога Facebook Engineering под катом.
Добро пожаловать
Total votes 20: ↑19 and ↓1+18
Comments12

Финансовые графики для вашего приложения

Reading time4 min
Views20K


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


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

Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments13

Краткий обзор NLP библиотеки SpaСy

Reading time5 min
Views29K

Обработка естественного языка(Natural Language Processing — NLP) сегодня становится очень востребованной, так как людям несомненно проще общаться с машинами также, как они общаются с людьми.


image


Поэтому сейчас, вместе с быстрым развитием этой области, всё больше сервисов используют NLP: чат-боты, в которых больше не нужно выбирать готовые ответы, голосовые ассистенты, электронная почта, чтобы автоматически сортировать письма и так далее. В этом посте я хочу рассказать об относительно новой Python библиотеке SpaCy, которая стала, если не индустриальным стандартом, как кричат заявляют сами создатели на сайте библиотеки: https://spacy.io/, то как минимум одним из самых популярных и удобных решений. Приятного чтения!

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments8

Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 1 — NLP, Computer Vision

Reading time7 min
Views13K
Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся темой AI. Приятного чтения!


Введение


Последние несколько лет для AI энтузиастов и профессионалов в области машинного обучения прошли в погоне за мечтой. Эти технологии перестали быть нишевыми, стали мейнстримом и уже влияют на жизни миллионов людей прямо сейчас. В разных странах были созданы AI министерства [подробнее тут — прим. пер.] и выделены бюджеты чтобы не отставать в этой гонке.

То же самое справедливо и для профессионалов в области data science. Еще пару лет назад вы могли комфортно себя чувствовать, зная пару инструментов и приёмов, но это время прошло. Количество событий, произошедших за последнее время в data science и объем знаний, который требуется, чтобы идти в ногу со временем в этой области, поражают воображение.

Я решил сделать шаг назад и взглянуть на разработки в некоторых ключевых областях в сфере искусственного интеллекта с точки зрения специалистов по data science. Какие прорывы произошли? Что случилось в 2018 и чего ждать в 2019 году? Прочитайте эту статью, чтобы получить ответы!
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments0

BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение)

Reading time11 min
Views46K

2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять слова и предложения для наиболее точного извлечения их смысловых значений и отношений между ними. Более того, NLP-сообщество продвигает невероятно мощные инструменты, которые можно бесплатно скачать и использовать в своих моделях и пайплайнах. Эту переломную точку также называют NLP’s ImageNet moment, ссылаясь на тот момент несколько лет назад, когда схожие разработки значительно ускорили развитие машинного обучения в области задач компьютерного зрения.


transformer-ber-ulmfit-elmo


(ULM-FiT не имеет ничего общего с Коржиком, но что-то лучше не пришло в голову)

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments2

Использование NLP для построения классификатора сарказма

Reading time5 min
Views3.4K

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


Статья является переводом с Machine Learning Foundations: Part 10 — Using NLP to build a sarcasm classifier


В качестве обучающего набора данных используется датасет «Sarcasm in News Headlines» Ришаба Мишры. Это интересный набор данных, который собирает заголовки новостей из обычных источников новостей, а также еще несколько комедийных с поддельных новостных сайтов.


Набор данных представляет собой файл JSON с тремя столбцами.


  • is_sarcastic  — 1, если запись саркастическая, иначе 0
  • headline — заголовок статьи
  • article_link — URL-адрес текста статьи
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments2
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity