У меня есть два файла в моем домашнем каталоге в hdfs. Это файлы file1.txt и file2.txt.Файл hdfs не распознан в классе сопоставления
Я передаю file1.txt
в качестве входного параметра для класса драйвера в программе mapreduce. Он работает нормально. Однако, когда я хочу прочитать file2.txt
в моем же картографе, я получаю ошибку file not found
.
Что такое правильный код, чтобы программа могла распознать file2.txt
. Я кодирую на Java. My pwd is home/109045, вот где находятся оба моих файла. Я вижу их в списке, когда я делаю $hadoop fs -ls
.
Мой файл 1 является claimsdict.txt и file2 является FNOLR1.txt
Код:
public class CS1Mapper extends Mapper<LongWritable, Text, Text, IntWritable> {
@Override
public void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
String clmid = null;
int fnolcnt = 0;
String line = value.toString();
Scanner scan1 = new Scanner(line);
scan1.useDelimiter(",");
while (scan1.hasNext()) {
scan1.next(); // term
String syn = scan1.next(); // synonyms
scan1.next(); // collision type
try {
fnolcnt = 0;
clmid = null;
//File file = new File("hdfs://10.32.6.88:8020/home/109045/" + "FNOLR1.txt");
/File file = new File("hdfs://localhost:8020/FNOLR1.txt");
File file = new File("FNOLR1.txt");
Scanner scan2 = new Scanner(file);
[109045 @ 01HW845977 ~] $ Hadoop Fs -ls FNOLR1.txt Найдено 1 наименований -rw-р - r-- 3 109045 обеспечения 171 2015-12-02 18:31 FNOLR1.txt [109045 @ 01HW845977 ~] $
[109045 @ 01HW845977 ~] $ Hadoop фс -ls claimsdict.txt Найдено 1 товар -rw-р - r-- 3 109045 обеспечение 180 2015-12-02 18:23 claimsdict.txt [109045 @ 01HW845977 ~] $
Также, как я могу подтвердить, какой порт для локального хоста?
Вам необходимо поделиться своим кодом mapreduce. – Tgsmith61591