
Tsh
27.03.2018
15:40:35
Про Рид онли не слыхал

Dmitry
27.03.2018
15:44:32
Это от человека зависит, как он напишет. Сам не люблю наркоманов, которые пишут так, что фиг поймёшь.
Если злоупотребляют функциональщиной, то задолбаешься отлаживать.

Alexey
27.03.2018
15:45:59
нууу, некоторые языки прямо-таки располагают к райт онли.
насчёт перла тоже соглашусь.

Google

Grigory
27.03.2018
15:46:12

Dmitry
27.03.2018
15:47:20
Функции высшего порядка. Их отлаживать - это звездец.

Tsh
27.03.2018
15:48:10
Просто подавляющее большинство так называемых скалистов - бывшие недожабаскриптеры

Vadim
27.03.2018
15:48:31
гриша - сжигай этот чат

Tsh
27.03.2018
15:48:32
Сбежавшие в мир бэкенда через плей фреймворк

Grigory
27.03.2018
15:48:43
если бы пришли из жаваскрипта то вам как любителям императивной скалы было бы приятно писать на ней
и не было бы абстракций выскоих непонятных монад ненужных тайпклассов и борьбы с полезной тайп ерейжей

Vadim
27.03.2018
15:50:45

Grigory
27.03.2018
15:51:01
да идиоты придумали функции высшего порядка
функции в функции передавать - бред полный

Vadim
27.03.2018
15:51:23

Google

Grigory
27.03.2018
15:52:04
накидываем еще

Dmitry
27.03.2018
15:52:20
Нет. Функции высшего порядка хороши там, где они действительно нужны, а не просто так сделаны, потому что это типа модно.

Grigory
27.03.2018
15:52:56
а покаж примеры
мне интересно стало

Vadim
27.03.2018
15:53:13
видимо дмитрий спарком не пользуется)

Dmitry
27.03.2018
15:53:41
Исходный код проекта показать не могу. :-)

Grigory
27.03.2018
15:53:49
ну придумай синтетический пример

Dmitry
27.03.2018
15:54:04

Grigory
27.03.2018
15:57:35
я бы хотел увидеть желаемый стайл гуид конечно же, особенно когда примеры есть плохо вс хорошо

Dmitry
27.03.2018
15:57:45
ну придумай синтетический пример
Из какого-то значения на входе получается что-то на выходе. Я начинаю отлаживать, чтобы разобраться, как так получилось. Хочу увидеть значения промежуточных результатов и их дальнейшие превращения. А хрен там - интересующие меня переменные указывают на функции, а не на реальные значения. Дико неудобно.

Grigory
27.03.2018
15:58:33
ну это проблема метода дебаггинга который применяется

Dmitry
27.03.2018
15:59:24
А какой метод посоветуешь тогда?

Grigory
27.03.2018
16:00:56
могу предложить не дебажить
а по серьезному - то дебаггер (если он исопльзуется) не очень хорошо работает со скалой
на нормальном скала коде проблемы появятся раньше

Vadim
27.03.2018
16:01:39
не ну если даже дебажить - я чет совневаюсь что навигация по вызову не привдоит тебя в конкретную функцию

Alexey
27.03.2018
16:01:41
присоединюсь к вопросу. отлаживать большие спарковые flow где лямбда на лямбде и в лямбду передаётся это боль :/
я вот новичок в дом деле, страдаю и печалюсь.

Grigory
27.03.2018
16:01:54
ну вы прост на скале не пишете
как бы если хаскелист придет в мир анси си у него будут проблемы концептуальные
понятно что грань где то должна быть и концепции использоваться по уму; но это больше похоже на диванные разговоры

Google

Daniel
27.03.2018
16:04:15

Alexey
27.03.2018
16:09:44
не, ну вот приносит мне дата саентист прототип на питоне с пандасом, а на выходе надо сделать то же самое, только под спарк на жабе. в питоне у него всё просто, любому df можно сказать print и увидеть что там внутри. в жабе же замаешься хитро типизирванную rdd-ху выводить.
а на скале я не пишу, нет у меня PhD %)

Grigory
27.03.2018
16:11:03
т.е. типы это зло?

Dmitry
27.03.2018
16:13:09
Java под Spark - это мазохизм в чистом виде.

Grigory
27.03.2018
16:13:23
ну мож он про скалу)

Dmitry
27.03.2018
16:13:38
Только Scala. Ну может быть, ещё Python.

Alexey
27.03.2018
16:17:31
типы это добро конечно.

Nick
27.03.2018
16:18:00
особенное четкие типы из моего района

Vadim
27.03.2018
16:18:56
А почему дсы сами не могут писать под спарк?

Alexey
27.03.2018
16:20:47
если бы дсы умели писать, зачем бы им нужны были все остальные
код, написсанный дсом, стоит слишком дорого. и ещё дороже обходится его запуск, потому как работает раз в 200 медленее, чем надо.

Dmitry
27.03.2018
16:27:45

Александр
27.03.2018
16:36:07

Dmitry
27.03.2018
16:42:09

Александр
27.03.2018
16:43:26
привет code review который снимает вашу боль, и язык снова не виноват

Daniel
27.03.2018
16:44:07
привет беспредметные разговоры на основе домыслов

Dmitry
28.03.2018
01:29:49

Alexey
28.03.2018
09:00:29
окей, в этом злом чяте сидят какие-то хреновы элитисты.

Dmitry
28.03.2018
09:08:02
Ну скажем так, без sam и лябмд мап редьюс выглядит плохо

Google

Dmitry
28.03.2018
09:09:14

Dmitry
28.03.2018
09:10:23
Я как собеседовал чувака который на груви писал
Под Спарк офк
Потому что туда хоть лямбды завезли

Andrew
28.03.2018
09:25:27

Daniel
28.03.2018
09:44:16

Andrew
28.03.2018
09:45:02
Жаль, а я уже хотел возгордиться было...

Александр
28.03.2018
10:14:58

Dmitry
28.03.2018
10:26:22
Не так страшен (язык программирования такой-то), как тот, кто на нём пишет.

J. Random
29.03.2018
07:06:44
вопросы новичков можно?
em@dd294:~$ hadoop dfs -ls -h -R /data/bp_stage/9fc5a6cde/pv/2018-02-24/s=1146323382
-rw-r--r— 3 sdfsdf admin 30.6 M 2018-03-28 11:05 /data/bp_stage/9fc5a6cde/pv/2018-02-24/s=1146323382/part-00000-41cf8594-fc23-4513-ab43-fc8cb9c6eb62.c000.snappy.parquet
Dataset<Row> dataset = sparkSession.read().parquet("hdfs://hdfs-m:8020/data/bp_st/9fc5a6cde/pv/2018-02-24/s=1146323382");
long globalIdsCount = dataset
.select(dataset.col("globalId"))
.distinct()
.count();
для ОДНОЙ партиции part-00000-41cf8594-fc23-4513-ab43-fc8cb9c6eb62.c000.snappy.parquet у меня на стадии шафла (distinct операция) генерится 200 тасок. Почему так много?

Andrey
29.03.2018
07:12:47

J. Random
29.03.2018
07:13:46
хм. спасибо. буду копать

Andrey
29.03.2018
07:15:05

J. Random
29.03.2018
07:43:20
Dataset<Row> dataset = sparkSession.read().parquet(eventsPath);
//dataset.rdd().getNumPartitions() == 8

Daniel
29.03.2018
07:48:28
холи моли
давайте портянки через пейстбиноиды постить

Andrey
29.03.2018
07:53:51


Akceptor
30.03.2018
06:10:46
Подскажите в чем может быть проблема: раним спарк джобу в Azure (HDInsight) через spark-submit: spark-submit —master yarn —deploy-mode client —files somefile.json —class com.mi.Class /home/sshuser/My-jar-with-dependencies.jar jobParameter и все работает
НО
Когда ту же джобу пробуем запустьть через SparkLauncher оно стартует а потом начинает кидать Caused by: org.apache.spark.rpc.RpcTimeoutException: Cannot receive any reply in 120 seconds. This timeout is controlled by spark.rpc.askTimeout
at org.apache.spark.rpc.RpcTimeout.org$apache$spark$rpc$RpcTimeout$$createRpcTimeoutException(RpcTimeout.scala:48)
Пробовали играться с spark.executor.memory, spark.network.timeout - не помогло, возможно что-то упустили.
Та же самая спарк-джоба нормально запускается из того же Java кода на Hortonworks Sanbox'е. Саппорт Ажура неделю исследует логи :(

Dmitry
30.03.2018
10:13:29

Akceptor
30.03.2018
10:14:04

Google

Grigory
30.03.2018
10:16:48
версий мисматч
скорее всего
таким образом когда приложение стартует то драйвер нода не будет использовать класспас спарка
но тут выглядит что просто не в той сетке находится драйвер

Vadim
30.03.2018
10:19:16
если с сеткой, то вроде как пишет что-то там про ресурсы

Grigory
30.03.2018
10:20:01
не, когда ноды теряются такое может написать, например

Vadim
30.03.2018
10:20:16
а мисматч версий там как-то кал про сериализацию как мне помнится или около нетти

Grigory
30.03.2018
10:21:18
мне кажется он тут пишет что ноды кластера не видят драйвер и наоборот
а так конечно это может быть потому что ноды полегли с оомом

Vadim
30.03.2018
10:23:05
возможно второе - там крайне хреновая ошибка когда криво мастер указал

Grigory
30.03.2018
10:23:54
да нет же
у меня такая ошибка была когда драйвер резолвил днсы нод а ноды не резолвили днс драйврера