@hadoopusers

Страница 61 из 182
Alex
30.12.2017
16:22:01
Эт другой тип

Andrey
30.12.2017
16:22:01
ну вообщем да, я бы начал с исключения проблем в самом векторе)

точно, забыл импорт после рестарта шела)

Alex
30.12.2017
16:28:28
Видимо, мллиб каким-то прекрасным образом считает центры кластеров так, что их не оказывается в исходном датасете.

Google
Andrey
30.12.2017
16:29:04
тут я, к сожалению, не помогу. Я пока нуб в машинке)

Alex
30.12.2017
16:30:12
Мб он усредняет просто. Но векторов действительно нет, я даж руками в csv проверил.

Vasiliy
30.12.2017
17:37:13
обычно выделяют дискретный и непрерывный случай, в последнем центры не обязаны и вообще редко бывают среди исходных данных. Но я возможно, неправильно понял проблему

Vasiliy
30.12.2017
18:05:08
Ну их можно посчитать

Alex
30.12.2017
18:07:01
Непрерывный случай уж больше для model based кластеризации. Можно, я со скалой еще оч плох, поэтому что-то встроенное ищу)

Vasiliy
30.12.2017
18:08:47
Ну тут дело не в скала, а конкретно в реализации мллиб, вообще сейчас нет ни одного более менее адекватного инструмента для машинлернинга под скала

Vasiliy
30.12.2017
18:11:32
Если есть вощможность sklearn, то он конечно лучше и богаче

Alex
30.12.2017
18:13:24
Если есть вощможность sklearn, то он конечно лучше и богаче
Я так чисто из практических соображений. Распределяется-то он нормально?

Vasiliy
30.12.2017
18:15:00
Вот тут проблема, смотря что ты хочешь, если твои данные влазят в память машины, то всё вобще ок, если нет, то нужно что-то химичить для кластера

Google
KrivdaTheTriewe
31.12.2017
21:56:04
Эй, Бигдата, с Новым Годом, данных побольше, MLя пожоще!

Лев
31.12.2017
21:57:06
С Новым Годом всех !!!!

Daniel
31.12.2017
22:00:34
всем экспертных сегментов!

Linus
31.12.2017
23:34:16
С новым годом, и больше данных;)

Grigory
31.12.2017
23:35:03
Больших хадупов всем

Alex
31.12.2017
23:35:57
Чтоб скала быстрее копилировалась!

Sergey
01.01.2018
01:35:44
Grigory
01.01.2018
01:54:12
Чтоб хадупы работали не как долгий носкуль

KrivdaTheTriewe
01.01.2018
02:22:46
Чтоб хадупы работали не как долгий носкуль
Чтоб Помадчины доклады норм давали

Grigory
01.01.2018
02:37:04
Чтоб когдагить датасеты и общая жвм оптимизация затмила локальную

Хотя сча это не так

Славься кривда

Alex
02.01.2018
16:38:50
В dataframe можно добавить колонку из List/ Array ?

Grigory
02.01.2018
16:40:25
любой тип может быть колонкой

(Любой который сериализуется)

Alex
02.01.2018
16:42:28
Да
А как не подскажешь? Нашел много вариантов, но все крашится и выглядит как "Летим на кукурузнике задним ходом до Новой Зеландии". Неужели нет варианта такого типа withColumn("name", List()) ?

Grigory
02.01.2018
16:45:42
withColumn(“name”, array(*))

Есть ещё typedLit

Google
Grigory
02.01.2018
16:46:25
Но я не помню точно как удобнее делать) не у компа

Andrey
02.01.2018
17:08:43
Alex val udf_list = udf { () => List(1,2,3) } val rdd = sc.parallelize(1 to 100) val df = rdd.toDF df.withColumn("arr", udf_list()).show

Но ты лучше распиши, откуда он у тебя берется и как ты хочешь его использовать

Тк этот вариант - он если тебе вот прям ниоткуда надо взять массив

Alex
02.01.2018
17:18:17
хочу его засунуть в DF и записать в csv

Alex val udf_list = udf { () => List(1,2,3) } val rdd = sc.parallelize(1 to 100) val df = rdd.toDF df.withColumn("arr", udf_list()).show
вот это работает, но потом рантайм ошибки на все операции с DF

Grigory
02.01.2018
17:20:57
Нутпотомк что можно сувать туда что угодно то

Alex
02.01.2018
17:23:02
Caused by: org.apache.spark.SparkException: This RDD lacks a SparkContext.

Не понимаю причем тут рдд

Andrey
02.01.2018
17:24:57
хочу его засунуть в DF и записать в csv
я правильно понимаю что в CSV ты хочешь одну строчку с каждым элементом RDD, разделенным запятыми?

Andrey
02.01.2018
17:26:14
так у тебя ведь не матрица получается

Alex
02.01.2018
17:26:36
почему?

Andrey
02.01.2018
17:26:39
MeansModel.predict(rdd) // RDD[Int] же

Alex
02.01.2018
17:26:56
я хочу их с исходными данными записать

Andrey
02.01.2018
17:26:56
после коллекта это будет одномерный массив интов

Alex
02.01.2018
17:27:02
не только кластер

Grigory
02.01.2018
17:33:38
Google
Andrey
02.01.2018
17:36:13
Да просто матрицу данных записать хочу в csv.
rdd.map { x => x.toArray :+ model.predict(x) }.map { x => x.mkString(",")}.saveAsTextFile("output.csv")

Под капотом дс и дф это рдд
2.х честных людей обманывает!

Grigory
02.01.2018
17:39:35
Как?

Alex
02.01.2018
17:41:48
Andrey
02.01.2018
17:41:51
ну в 1.6 все понятно было - SparkContext - рдд, SQLContext - датафреймы. А тут вон все похоже называется (SparkSession и SparkContext)

А он может его записать в не как partition?
если смущает количество файлов, то можно rdd.map { x => x.toArray :+ model.predict(x) }.map { x => x.mkString(",")}.repartition(1).saveAsTextFile("output.csv")

Andrey
02.01.2018
17:44:27
он его сохранит в каталожик, а внутри будут файлы part-xxx

если делаешь репартишен один, то будет один файл. Но @pomadchin правильно написал про ад, тк в случае большого рдд ты запихнешь весь свой датасет в один экзекутор)

Grigory
02.01.2018
17:45:57
редьюс в одну патрицию

Andrey
02.01.2018
17:46:03
и он лопнет ?

редьюс в одну патрицию
2ТБ памяти на каждую датаноду самое то!

Grigory
02.01.2018
17:47:55
Эх да главное потом не шафлить после редьюса в одну патрицию

Шутейки за 300 ):

Andrey
02.01.2018
17:48:31
где то у меня был скрин, как мы шафлом забили 10 GbE линки датанод х))

Grigory
02.01.2018
17:48:43
да уж

У меня был рекорд наверное 900тб на 10мб входящих данных

Andrey
02.01.2018
17:49:52


Google
Grigory
02.01.2018
17:50:05
создал биг дату там где ее нету

Andrey
02.01.2018
17:50:55
это первое правило биг дата инженера

если в проекте нет бигдаты - надо ее создать и предложить хадуп

Страница 61 из 182