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 读取配置参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)