
Yan?
30.05.2017
09:05:37
сейчас делаю
я только на фильмы сделал

Aleksander
30.05.2017
09:06:13
На питоне наверно совсем непривычно бороться с хипом джавы?:)

Yan?
30.05.2017
09:06:20
Совсем

Google

Yan?
30.05.2017
09:06:26
Хотя я и работаю джавистом

Aleksander
30.05.2017
09:07:04
:))

Yan?
30.05.2017
09:20:05

Aleksander
30.05.2017
09:20:42
Бррр.
Так, я попозже ещё посмотрю- а то работать меня заставляют

Yan?
30.05.2017
15:09:21

Aleksander
30.05.2017
15:09:29
Как решил?

Yan?
30.05.2017
15:09:31
Поставил в sample аж 0.0001
На оба RDD

Aleksander
30.05.2017
15:09:36
?

Yan?
30.05.2017
15:10:00
Я так понимаю sample обрезает количествл данных?

Aleksander
30.05.2017
15:10:11
Случайным образом выбирает из датасета процент данных

Google

Yan?
30.05.2017
15:10:19
Жесть
А то я хотел посмотреть какие фильмы из данных можно протестирлвать
А он рандомном грузит

Aleksander
30.05.2017
15:11:17
На самом деле можешь разрезать его не рандомно, там тоже есть функции

Pavel
30.05.2017
15:11:18
Не забывайте только, что некоторые датасеты чувствительны к перемешиванию

Aleksander
30.05.2017
15:13:31
@Yan ты можешь например применить фильтр к датасетам, отфильтровать по предикату, если тебе нужны конкретные фильмы в сете
Можно сделать так - фильтруешь датасет с фильмами. Потом берешь все фильмы из получившегося датасета и фильтруешь рейтинги
Как-то так
Ну и понятное, обрезал данные и коллаборативная фильтрация будет работать не так, как на полных данных =)

Yan?
30.05.2017
15:53:15
такое ощущение что обрезанные данные все сломали
yan@yan-desktop:~/Downloads/spark-movie-lens-master$ curl http://0.0.0.0:5432/15/ratings/top/12
возвращает пустоту
@main.route("/<int:user_id>/ratings/top/<int:count>", methods=["GET"])
def top_ratings(user_id, count):
logger.debug("User %s TOP ratings requested", user_id)
top_ratings = recommendation_engine.get_top_ratings(user_id,count)
return json.dumps(top_ratings)
Хотя должен

Pavel
30.05.2017
16:22:13
Ну вообще не должен. По уму нужно сэмплировать независимо по каждому пользователю, чтоб сохранить распределения рейтингов
А тут могло выйти, что у этого пользователя рейтингов совсем не было
Если я правильно предполагаю, что эта реализация просто считает близости, а не факторизует матрицу

Yan?
30.05.2017
16:28:23
или это я неправильно тыкаю курлом

Grigory
01.06.2017
07:04:54
@krivdatheliggen ^

Aleksander
01.06.2017
07:06:09
Спасибо, конечно, но в лучшем канале не может быть одновременно и марвел и дс

KrivdaTheTriewe
01.06.2017
07:07:37

Google

Grigory
01.06.2017
10:22:56
для чтения по диапазонам да
для записи баферед мутатор

KrivdaTheTriewe
01.06.2017
10:25:45

Grigory
01.06.2017
10:26:18
кстате это хороший вопрос; потому что мне кажется имеет смысл отказываться от него уже (newAPIHadoopRDD).

KrivdaTheTriewe
01.06.2017
10:27:57

Grigory
01.06.2017
10:28:07
на чтение
на запись точно мутатор
мм рекомендую ориентироваться на их родной спарк коннектор который будет в HBase 2.0

KrivdaTheTriewe
01.06.2017
10:40:46
на запись точно мутатор
За мутатор спасибо, я агрегировал по nтыщ записей и писал , ну или пытался hfile генерировать

Grigory
01.06.2017
10:41:44
он намного быстрее на запись чем через хадупапирдд
на чтение не уверен; у Accumulo разницы не было _вроде_ но я не помню точно + мы контриубтили в аккумулу чтоб ускорить чтение.

KrivdaTheTriewe
01.06.2017
11:50:34

Grigory
01.06.2017
11:51:14
вот этот https://github.com/apache/hbase/tree/master/hbase-spark
hbase-spark 2.0.0-SNAPSHOT

KrivdaTheTriewe
01.06.2017
11:52:26

Grigory
01.06.2017
11:53:48
вот последний коммит
https://github.com/apache/hbase/commit/17007685c1ad2c4b7e672afaaf43b50f6c3a7c5c
и он тупой)
ну это HBase, все медленно вяло.
CDH быстрее развивается?
https://github.com/cloudera/hbase/tree/cdh5-1.2.0_5.11.0/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark

Google

KrivdaTheTriewe
01.06.2017
11:56:27

Grigory
01.06.2017
11:56:47
беглый пробег по код базе показывает почти полную идентичность

KrivdaTheTriewe
01.06.2017
11:56:49
А про то, что вендор спесифик - не хочу брать, это гиморой

Grigory
01.06.2017
11:57:13
так а в чем проблема взять и написать свое?)
ну я как пример на что ориентироваться скинул; а то что последняя дата коммита там месяц назад в хбейз-спарк это ни о чем не говорит

KrivdaTheTriewe
01.06.2017
11:57:50

Grigory
01.06.2017
11:58:04
одинаково
+-
разница в апи

KrivdaTheTriewe
01.06.2017
11:58:53
Ну вот это больше всего и напрягает, что если сдх версией пользоваться, то непонятно как оно будет взаимодейстовать с ванильной версией спарка. То есть той , которую cdh не поддерживает

Grigory
01.06.2017
11:59:25
постой а зачем тебе тащить спарк модуль чтоб запись / чтение балокове реализовать
ты можешь ~скопипастить~ написать по мотивам код.

KrivdaTheTriewe
01.06.2017
12:00:48
Вот поэтому с касандрой приятней работать , хоть она и падучая )

Grigory
01.06.2017
12:03:05
там в коде, если я не верно выразился, пример использования АПИ хбейза, которое есть и в 1.3.1, пример как читать в рдд без newAPIHadoopRDD
https://github.com/apache/hbase/blob/master/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/HBaseContext.scala#L536-L567
и похоже на кассандру
этим HBase и приятен

KrivdaTheTriewe
01.06.2017
12:03:45

Grigory
01.06.2017
12:03:55
в 1.2+ есть

Google

Grigory
01.06.2017
12:03:58
так устроит?)

KrivdaTheTriewe
01.06.2017
12:04:02
Устроит

Grigory
01.06.2017
12:04:54
а лан используй ньюапирдд но на код взгляни :D
не просто так они не стали пользоваться этим

KrivdaTheTriewe
01.06.2017
12:06:03

Grigory
01.06.2017
12:06:32
InlineUtil макрос надо еще

KrivdaTheTriewe
01.06.2017
12:07:04