Hadoop支持其他语言编程,可使用Streaming的通用API。
使用方式:
$/bin/hadoop jar $hadoophome/shared/streaming/hadoop-stream.xxx.jar -input /input/test.txt -output /output/log.out -mapper ./progm -file /path/progm -reducer ./progr -file /path/progr
说明:
-input /input/test.txt //表示在hdfs上的输入文件
-output /output/log.out //表示在hdfs上的输出目录,如果执行成功再long.out目录下产生part-00000文件
-mapper ./progm //表示执行map使用的可执行文件progm
-reducer ./progr //表示执行reducer使用的可执行文件progr
-file /path/prog //表示可执行文件所在的目录
执行时可加入下列参数
-D mapred.child.java.opts=-Xmx2000m //指定mapred执行时可使用的内存大小2G
-D stream.map.input.ignoreKey=true //map读入输入文件时,忽略关键字,只读入value
-inputformat MySelfInputFormat //使用自定义的输入格式,默认的输入格式在0d0a的时候,只读0d,不读0a.
-jobconf mapred.map.tasks=1 //指定map的任务数量