
Uncel
21.09.2018
15:54:59
btw а кто-нибудь гонял уже дистрибутивы хадупа 3?

Andrey
21.09.2018
16:00:42

? ? ? ? ?
24.09.2018
10:11:21
I have one auto incremental data table in mysql ,one historical table is there using confluent I created one source and in sink part I try to join this two tables based on column in spark streaming ? Can any one help me on this

Alexander
24.09.2018
10:31:34

Google

Boris
24.09.2018
13:54:56
На рбк выложили аналитику зарплат, в т.ч. для биг даты
https://www.rbc.ru/own_business/24/09/2018/5ba4e1999a79475b1992df91?from=main

Nikita Blagodarnyy
24.09.2018
14:03:20
Приятно

Evgeny
24.09.2018
14:10:29
Интересно как собирались эти данные =) Извините, профессиональное недоверие к процессу формирования отчетности...

Sergey
24.09.2018
14:11:13

Evgeny
24.09.2018
14:11:32
На конфах по БихДате )

Sergey
24.09.2018
14:11:41
по HR)

Evgeny
24.09.2018
14:17:22
ну тогда верю... для hr найти кого-то по тегу bigdata - еще та задача... сейчас компании чаще нанимают кого-то чтоб он/она уже нанял правильных людей под цели компании. "специалист по BigData" - это прям "меганиочем" профессия. как нанять на стройку дома "специалиста по стройке дома".

Lina
24.09.2018
14:30:55
коллеги, добрый вечер. пока еще актуальна тема поиска для hr хотела проконсультироваться, если вам не трудно
сможете подсказать, пожалуйста, что значит использование S3 в AWS? насколько часто этот инструмент используется? и для чего?
буду очень признательна)

Grigory
24.09.2018
14:32:21
можно как аналог хдфс рассматривать

Lina
24.09.2018
14:35:27
насколько s3 популярен? уступает hdfs?

Alexey
24.09.2018
14:36:33
в целом сильно медленнее

Google

Grigory
24.09.2018
14:37:10


Oleg
24.09.2018
14:38:25
Привет) вопрос по спарку.
Есть 12 нод, по ресурсам суммарно 1.3 ТБ памяти, 300 VCores. Есть данные в bzip на 30-40 гигов. Внутри json'ы в текстовых файликах. Json'ы с довольно большим набором полей, но их нужно по сути фильтровать по одному из полей и писать и в разные дирректории разные (небольшие) наборы полей.
Собственно, сильно уперлись в производительность. Когда было около 5-10 гигов, все было ок. Сейчас отъедается много ресурсов и по несколько часов висят задачи на выполнении.
Сделал динамическое выделение ресурсов, но все равно все очень плохо. Пробовал сделать что-то из вот этого цикла статей — тоже не помогло (http://www.treselle.com/blog/apache-spark-performance-tuning-degree-of-parallelism/)
Не подскажете, куда копать?) Мб как-то делить данные и грузить кусочками или есть вариант загрузить все в датафрейм, а потом уже с ним работать?

KrivdaAllStars
24.09.2018
14:40:19

Oleg
24.09.2018
14:40:28

Alexey
24.09.2018
14:41:22

Grigory
24.09.2018
14:41:42

Oleg
24.09.2018
14:41:48
самое долгое там - это метод write (собственно, когда все операции выполняются). Пробовал в промежуточных стадиях добавлсять .Show (как я понимаю, это из списка actions и должно приводить к выполнению очереди операций), но что-то тоже не алё

Daniel
24.09.2018
14:42:20

Grigory
24.09.2018
14:42:29

Daniel
24.09.2018
14:43:30
попуряен
самый популярный, но этого не видно потому что он в среде достаточно закрытой
также бы я и не говорил про s3б потому что нет инфы про закрытые экосистемы

Grigory
24.09.2018
14:44:34

Alexey
24.09.2018
14:44:41
я про тебя говорил
а я что... в моём случае от прямого чтения-записи в s3 из emr пришлось отказаться, работать с hdfs, воткнуть костыль в виде s3-dist-cp.
потому как запись в s3 тормозит адово на сотнях тыщ партов.

Grigory
24.09.2018
14:46:27
мне кажется тут уже обсуждалось, про проблемы с3 с кучей мелких файлов

Daniel
24.09.2018
14:46:28

Grigory
24.09.2018
14:47:09

Alexey
24.09.2018
14:47:43
у s3 в авс в дизайне есть изъян один, про который явно не говорится нигде.
там ключи внутренне сортируются на каждой операции

Lina
24.09.2018
14:48:13

Alexey
24.09.2018
14:48:13
то есть на любом листе, добавлении, удалении и т.п. строится полный список того что в бакете есть, и сортируется.

Google

Alexey
24.09.2018
14:48:50
соответствено на куче ключей s3 начинается задумываться, и всё больше и больше.

Grigory
24.09.2018
14:48:54

Alexey
24.09.2018
14:48:57
а так нет проблем

Lina
24.09.2018
14:51:19
спасибо!

Alexander
24.09.2018
14:53:30

Alexey
24.09.2018
14:53:34
ну и с учётом того что ширина линка до s3 зависит от размера инстанса, то с кластерами на мелких инстансах и парой сотен тыщ ключей в бакете снаовится освсем всё плохо.

Alexander
24.09.2018
14:54:54
Господа, тут 2 параллельные независимые дискуссии)

Alexey
24.09.2018
14:55:23
а, сорян

Oleg
24.09.2018
14:56:10
Зачем?..
ну типа чтобы все данные загрузились в DF 1 раз, а потом их уже фильтровать. Иначе на каждой итерации цикла выполняются все стадии из очереди (выгрузка, добавление поля, выборка полей, фильтрация, еще одна выборка полей), а я пытался сделать что-то типа выгрузка, добавление поля, выборка полей - 1 раз и уже в цикле фильтрация, еще одна выборка полей

Alexander
24.09.2018
14:57:15
ну типа чтобы все данные загрузились в DF 1 раз, а потом их уже фильтровать. Иначе на каждой итерации цикла выполняются все стадии из очереди (выгрузка, добавление поля, выборка полей, фильтрация, еще одна выборка полей), а я пытался сделать что-то типа выгрузка, добавление поля, выборка полей - 1 раз и уже в цикле фильтрация, еще одна выборка полей
Для того, чтобы переиспользовать 1 dataframe, сохранив его в памяти, можно использовать cache (или частный случай persist) метод.

Oleg
24.09.2018
14:59:33

Lina
24.09.2018
15:02:28
не хочу, чтобы это превращалось в типичный хантинг, поэтому не буду тут засорять чат)
если вдруг кому-то интересна позиция DE с релокейтом в Берлин, можно мне писать

Daniel
24.09.2018
15:05:38
в принципе тут можно постить вакансии, запрета нет

Lina
24.09.2018
15:06:21
я просто не хотела засорять тред)

Oleksandr
24.09.2018
15:33:25

Grigory
24.09.2018
15:33:39

Oleksandr
24.09.2018
15:34:11
сильное просто заявление
тормозам на куче мелких файлов можно немало обьяснений придумать

Alexander
24.09.2018
15:36:31

Google


Oleg
24.09.2018
15:49:18
К сожалению, не совсем понятен твой flow
Если подробно, то:
Мне через 1 топик кафки сыпется много разных событий. Это все json'ы, в которых разные наборы полей. В одном из этих полей, собственно, тип события.
Я складываю из кафки данные в одну дирректорию hdfs, можно сказать, партиционированную по дням (данные за разные дни - в разных поддиректориях).
Затем раз в день мне эти данные нужно разбирать и раскладывать разные события по разным папкам.
Раньше я запускал несколько джобов спарка одновременно (по одному для каждого события) и по сути в каждом считывал все данные (за нужные даты), фильтровал по нужному событию и записывал результат.
Потом, когда все это стало работать очень долго и отъедать мого ресурсов, я решил сделать так, чтобы данные выгружались один раз, а потом уже полученный датафрейм фильровать, добавлять нужное поле и записывать в дирректории. Но тут как-то лучше не стало. Пробовал динамическое выделение ресурсов, указывать структуру json'а и все такое, но все равно работает супер долго.
Выгружаются данные из hdfs и добавляется новое поле - 1 раз. Далее в цикле по типу события фильтрую исходный DF и использую write parquet метод для записи.
а их штук 20 ?


Alexey
24.09.2018
16:04:48
сильное просто заявление
это вывод из ответа техподдержки.
я сам в осадок выпал, когда такое получил на свой запрос.
оттуда же и про ограничение в 11 млн клчей, о котором я тут уже писал.

Grigory
24.09.2018
16:16:26
и хадупоконектор к с3 не самая лушая идея взаимодействовать с с3
s3a / s3n медленные


agathis
24.09.2018
16:16:47
Если подробно, то:
Мне через 1 топик кафки сыпется много разных событий. Это все json'ы, в которых разные наборы полей. В одном из этих полей, собственно, тип события.
Я складываю из кафки данные в одну дирректорию hdfs, можно сказать, партиционированную по дням (данные за разные дни - в разных поддиректориях).
Затем раз в день мне эти данные нужно разбирать и раскладывать разные события по разным папкам.
Раньше я запускал несколько джобов спарка одновременно (по одному для каждого события) и по сути в каждом считывал все данные (за нужные даты), фильтровал по нужному событию и записывал результат.
Потом, когда все это стало работать очень долго и отъедать мого ресурсов, я решил сделать так, чтобы данные выгружались один раз, а потом уже полученный датафрейм фильровать, добавлять нужное поле и записывать в дирректории. Но тут как-то лучше не стало. Пробовал динамическое выделение ресурсов, указывать структуру json'а и все такое, но все равно работает супер долго.
А может его сразу на лету раскладывать каким-нибудь streaming engine?


Oleg
24.09.2018
16:24:16

_
24.09.2018
16:27:48

agathis
24.09.2018
16:32:48

Oleg
24.09.2018
16:37:29

Andrey
24.09.2018
16:40:07

Oleg
24.09.2018
16:41:43
Ааа, блин)
Спасибо?

Andrey
24.09.2018
16:43:00
а как выглядит DAG?

agathis
24.09.2018
16:56:19

_
24.09.2018
16:57:08
А чем это лучше?
Выгодная скорость фильтрации за счет push down predicate и общая скорость вычитки

Google

Ruslan
24.09.2018
17:33:54
Обработка json/xml/csv на hdfs дорогое удовольствие. Попробуй делать конвертацию при записи. Или изначально формировать в другом формате. Обработка паркета на спарке будет выше чем json при прочих равных

Nikita Blagodarnyy
24.09.2018
18:25:12


Andrei
24.09.2018
18:32:51
Если подробно, то:
Мне через 1 топик кафки сыпется много разных событий. Это все json'ы, в которых разные наборы полей. В одном из этих полей, собственно, тип события.
Я складываю из кафки данные в одну дирректорию hdfs, можно сказать, партиционированную по дням (данные за разные дни - в разных поддиректориях).
Затем раз в день мне эти данные нужно разбирать и раскладывать разные события по разным папкам.
Раньше я запускал несколько джобов спарка одновременно (по одному для каждого события) и по сути в каждом считывал все данные (за нужные даты), фильтровал по нужному событию и записывал результат.
Потом, когда все это стало работать очень долго и отъедать мого ресурсов, я решил сделать так, чтобы данные выгружались один раз, а потом уже полученный датафрейм фильровать, добавлять нужное поле и записывать в дирректории. Но тут как-то лучше не стало. Пробовал динамическое выделение ресурсов, указывать структуру json'а и все такое, но все равно работает супер долго.
Можно за один проход. В зависимости от типа события делать процессинг и указывать путь для сохранения в ключе, а затем по ключу сохранять данные в отдельные папки. Для этого придется задать свой аутпут формат, но это не сложно. Как-то так: https://gist.github.com/andr83/49d555c4204021985cc6f138b118d78a
Ну или еще вариант партицировать сырые данные по типу события и запускать разные процессинги с быстрой фильтрацией.


Nick
24.09.2018
18:50:55

Alexey
24.09.2018
19:32:54

Oleg
24.09.2018
19:45:27