MapReduce怎样读取本地目录的档案

MapReduce怎样读取本地目录的档案,第1张

MapReduce怎样读取本地目录的档案

1 使用Java编写 MapReduce 程式时,如何向map、reduce函式传递引数。 2 使用Streaming编写MapReduce程式(C/C++, Shell, Python)时,如何向map、reduce指令码传递引数。 3 使用Streaming编写MapReduce程式(C/C++, Shell, Py

只有在客户端提交MapReduce任务的时候才有可能获取本地档案,当MapReduce执行的时候,Map和Redure任务都是分发到不同的节点执行,一般都不是客户端所在的节点,所以没法获取客户端本地档案。但是通过Java IO API应该可以获取Map或者Reduce执行所在节点的本地档案。或者使用Hadoop的DistributedCache将需要使用到的档案快取在共享储存,以供Map或者Reduce执行时使用

如何正确用XML>

public class FileUtil {

for test

public static void main(String []args) {

File dirFile = new File("c:");

File [] sortedFiles = listSortedFiles(dirFile);

}

list sorted files

public static File[] listSortedFiles(File dirFile) {

assert dirFileisDirectory();

File[] files = dirFilelistFiles();

FileWrapper [] fileWrappers = new FileWrapper[fileslength];

for (int i=0; i<fileslength; i++) {

fileWrappers[i] = new FileWrapper(files[i]);

}

Arrayssort(fileWrappers);

File []sortedFiles = new File[fileslength];

for (int i=0; i<fileslength; i++) {

sortedFiles[i] = fileWrappers[i]getFile();

}

return sortedFiles;

}

}

class FileWrapper implements Comparable {

/ File /

private File file;

public FileWrapper(File file) {

thisfile = file;

}

public int pareTo(Object obj) {

assert obj instanceof FileWrapper;

FileWrapper castObj = (FileWrapper)obj;

if (thisfilegetName()pareTo(castObjgetFile()getName()) > 0) {

return 1;

} else if (thisfilegetName()pareTo(castObjgetFile()getName()) < 0) {

return -1;

} else {

return 0;

}

}

public File getFile() {

return thisfile;

}

}

程式码比较简单,就不加以解说了。

按照同样的做法,可追加按大小,副档名等排序。

累死我咧~ 多给几分吧~~~~~ 以后合作愉快~

1

x=1,y=2,z=3,u=false,请分别计算下式的值:

(1) y+=z--/++x; 值为( 35 )。

(2) u=!((x=--y||y++<=z--)&&y==z); 值为( true )。

(3) u=y>x^x!=z 值为( true )。

2

int x=3,y=5;Boolean b=x>y&&x++==y-表达式后,x,y,b三个变量的值分别为( x=4,y=4,b=false )。

3

int I;

for(I=0;I<5;I++)

if((I==3)

break;

Systemoutprint(“I=”+I)

I的值为( 3 )。

4以下程序:

boolean a=false;

boolean b=true;

boolean c=(a&&b)&&(!b);

int result=c==false1:2;

这段程序执行完后,c的值是(false),result的值是( 0 )。

5String s1="abc";那么执行String s2=s1concat("def");后,s1的值是("abc")。

6

for(int i=1;i<27;i++)

{

char ch;

if (i%7==0)

ch='\n';

else ch='\t';

Systemoutprint((char('A'+i-1));

Systemoutprint(ch);

}

A B C D E F G

H I G K L M N

O P Q R S T U

V W X Y Z

7

for(int i=0;i<5;i++)

{

for(int j=0;j<5;j++)

{

if(i==j)

continue;

Systemoutprint(i5+j+"\t");

}

Systemoutprintln("i="+i);

}

1 2 3 4 i=05 7 8 9 i=110 11 13 14 i=215 16 17 19 i=320 21 22 23 i=4

如果第三方配置文件不是特别大(几百M以上),则可以使用DistributeCache。

如果第三方配置文件比较大,则需要在MapReduce中实现join来做。

关于 DistributeCache的用法,请搜索“mapreduce DistributeCache”。

关于在MapReduce中实现两个文件的join,请搜索"mapreduce实现join"。

我只能说到这了。

以上就是关于MapReduce怎样读取本地目录的档案全部的内容,包括:MapReduce怎样读取本地目录的档案、请阅读Java程序段,写出运行结果;、hadoop MapReduce 读取配置参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9747745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存