Я очень новичок в hadoop, поэтому, пожалуйста, несите меня. Любая помощь будет оценена по достоинству.Присоединяйтесь к 2 столам в хаусе
Мне нужно присоединиться к 2 столам, Таблица 1 будет иметь pagename, pagerank , например. Фактический набор данных огромен, но с подобным рисунком
pageA,0.13
pageB,0.14
pageC,0.53
таблицей 2, это простой WordCount вид таблицы со словом, имя_листом для например. фактический набор данных огромен, но с подобным рисунком
test,pageA:pageB
sample,pageC
json,pageC:pageA:pageD
Теперь, если пользователь ищет любое слово из второй таблицы, я должен дать ему результаты страниц, основываясь на их PageRank из таблицы 1.
Производительность при искали test,
test = pageB,pageA
Мой подход заключался в том, чтобы загрузить первую таблицу в распределенный кеш. Прочитайте вторую таблицу в методе карты, чтобы получить список страниц для слова, отсортируйте список, используя информацию pagerank из первой таблицы, которая загружается в распределенный кеш. Это работает для набора данных, в котором я работаю, но хотел узнать, есть ли лучший способ, а также хотел бы знать, как это соединение может быть сделано с помощью свиньи или улья.
лично я бы использовать Свинью, но вы даже смотрели на Pig или синтаксис объединения в Hive? Примеры в документации просты –
Где находятся две таблицы? В Улье? В файле? –
Он хранится в hdfs как файл. – user507333