Рубрика «spark» - 2

Анализ данных на Scala — суровая необходимость или приятная возможность? - 1

Традиционными инструментами в сфере Data Science являются такие языки, как R и Python — расслабленный синтаксис и большое количество библиотек для машинного обучения и обработки данных позволяет достаточно быстро получить некоторые работающие решения. Однако бывают ситуации, когда ограничения этих инструментов становятся существенной помехой — в первую очередь, если необходимо добиться высоких показателей по скорости обработки и/или работать с действительно крупными массивами данных. В этом случае специалисту приходится, скрепя сердце, обращаться к помощи "темной стороны" и подключать инструменты на "промышленных" языках программирования: Scala, Java и C++.

Но так ли уж темна эта сторона? За годы развития инструменты "промышленного" Data Science прошли большой путь и сегодня достаточно сильно отличаются от своих же версий 2-3 летней давности. Давайте попробуем на примере задачи SNA Hackathon 2019 разобраться, насколько экосистема Scala+Spark может соответствовать Python Data Science.

Читать полностью »

На днях мы решили пообщаться c Дмитрием Бугайченко (dmitrybugaychenko), одним из наших преподавателей программы "Анализ данных на Scala", и обсудить с ним актуальные вопросы использования Scala в задачах Data Science и Data Engineering. Дмитрий является инженером-аналитиком в "Одноклассниках".

image

Читать полностью »

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

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

Как загрузить OpenStreetMap в Hive? - 1

Ну казалось бы — берем Google Maps Geocoding API (или, если вы сторонник импортозамещения, то Yandex Maps API), и работаем. Но тут нас, как впрочем и c обратным геокодированием, ждет небольшая засада.
Читать полностью »

В моем предыдущем проекте перед нами встала задача провести обратное геокодирование для множества пар географических координат. Обратное геокодирование — это процедура, которая паре широта-долгота ставит в соответствие адрес или название объекта на карте, к которому принадлежит или близка заданная координатами точка. То есть, берем координаты, скажем такие: @55.7602485,37.6170409, и получаем результат либо «Россия, Центральный федеральный округ, Москва, Театральная площадь, дом такой-то», либо например «Большой театр».

Если на входе адрес или название, а на выходе координаты, то эта операция — прямое геокодирование, об этом мы, надеюсь, поговорим позже.

В качестве исходных данных у нас на входе было примерно 100 или 200 тысяч точек, которые лежали в кластере Hadoop в виде таблицы Hive. Это чтобы был понятен масштаб задачи.

В качестве инструмента обработки в конце концов был выбран Spark, хотя в процессе мы попробовали как MapReduce, так и Apache Crunch. Но это отдельная история, возможно заслуживающая своего поста.
Читать полностью »

15 минут назад Арт Свифт стал президентом MIPS, до этого он вице-председателем комитета по маркетингу RISC-V, вице-президентом Sun, DEC, Cirrus Logic, президентом Трансмета. Я стал первым, кто взял у него видео-интервью в его новой роли, и его первые слова были о России. Арт рассказал, что он знаком с Байкал Электроникс, ЭЛВИС-НеоТек. НИИСИ, МЦСТ и группой Бабаяна, встречался с российскими RISC-V компаниями Syncore и CloudBear. Вот видео — в конце оборвалось, так как у меня кончилась батарейка:

А вот официальный-пресс релиз и отрывок из биографии Арта Свифта:
Читать полностью »

Data Engineering и не только: видеозаписи и слайды с митапа - 1

15 ноября в офисе Wrike прошел митап «Data Engineering и не только». Поговорили об инженерах данных как об отдельной специальности, наметили отличия процессов в софтверном и дата-инжениринге, посмотрели, как можно писать тесты для Apache Spark, и чуть-чуть коснулись особенностей семантических технологий.

Для тех, кто не смог прийти, мы публикуем видеозаписи докладов.
Читать полностью »

Посекундный биллинг, маркетплейс и песочницы для Big Data: что могут тестовые среды в облаке - 1

Любой компании, разрабатывающей софт, нужны тестовые среды, приближенные к продакшн-окружению. Особенно это актуально для коробочного ПО, у которого длинный цикл релизов.
Многие проблемы построения тестовых сред решает их размещение в облаке. Мы расскажем про возможности тестирования на нашей облачной платформе Mail.Ru Cloud Solutions (MCS). Но часть из того, что мы расскажем, верна для любого облака.
Читать полностью »

Митап в Петербурге: Data Engineering и не только - 1

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

К сожалению, чуть ли не единственная специализированная конференция для дата-аналитиков и дата-инженеров в Питере в этом году отменилась, но мы в Wrike Tech Club решили дольго не грустить и устроить ламповый уютный митап с классными спикерами.
Читать полностью »

Привет! Меня зовут Николай Ижиков, я работаю в компании «Сбербанк Технологии» в команде развития Open Source решений. За плечами 15 лет коммерческой разработки на Java. Я коммитер Apache Ignite и контрибьютор Apache Kafka.

Под катом вас ожидает видео и текстовая версия моего доклада на Apache Ignite Meetup о том, как использовать Apache Ignite вместе с Apache Spark и какие возможности мы для этого реализовали.

Apache Ignite + Apache Spark Data Frames: вместе веселее - 1
Читать полностью »

Пару месяцев назад я начала изучать Spark, и в какой-то момент столкнулась с проблемой сохранения вычислений Structured Streaming в базе данных Cassandra.

В данном посте я привожу простой пример создания и использования Cassandra Sink для Spark Structured Streaming. Я надеюсь, что пост будет полезен тем, кто недавно начал работать со Spark Structured Streaming и задается вопросом, как выгружать результаты вычислений в базу данных.

Идея приложения очень проста — получить и распарсить сообщения из кафки, выполнить простые трансформации в спарке и сохранить результаты в кассандре.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js