2015-12-03 6 views
-1

У меня есть два файла в моем домашнем каталоге в 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 ~] $


Также, как я могу подтвердить, какой порт для локального хоста?

+0

Вам необходимо поделиться своим кодом mapreduce. – Tgsmith61591

ответ

0

Это может быть проблема с разрешением файла. Можете поделиться результатами hadoop fs -ls <directory_where_file1_and_file2_exists>?

Смежные вопросы