У меня есть два разных набора данных.Hadoop, соединяющий два разных набора данных с использованием java на конце Maper или Reducer
***Comments.csv:***
id
userid
***Posts.csv-***
id
post_type
creationdate
score
viewcount
owneruserid
title
answercount
commentcount
У меня есть имя дисплея и нет. сообщений, созданных пользователем, который получил максимальную репутацию.
Я знаю код для того, как Map Reduce работает с использованием одного файла. Я знаю, как установить несколько файлов для Job. Но я не знаю, как присоединиться к различным наборам данных на уровне Mapper.
Я не уверен, могу ли я присоединиться к этим двум наборам данных с одним Mapper.
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
String[] data = value.toString().split(",");
// Logic to write values to context
}
MultipleInputs.addInputPath(job,new Path(args[0]),TextInputFormat.class,CommentsMapper.class);
MultipleInputs.addInputPath(job,new Path(args[1]),TextInputFormat.class,PostsMapper.class);
Мои запросы:
1. Map side join or Reduce side join : Which one is better?.
2. Is it possible to use single Mapper or Reducer? If yes, how is it possible?
предоставить мне материалы для достижения этой цели простым способом. Я рассмотрел вопросы Stackoverflow относительно нескольких файлов данных в Job, но формат ввода одинаковый для всех этих файлов. В моем случае формат ввода отличается.
Заранее спасибо.
Вы не присоединяются различные наборы данных в картографа. В этом весь смысл редуктора, и вам понадобится один, чтобы получить желаемый результат. Если вы просто хотите использовать один экземпляр одного преобразователя, могу ли я предложить просто написать однопоточное задание и не использовать Hadoop? –
Хорошо. Если это сторона редуктора, как ее достичь? У меня есть вопрос –