
c语言或者其他语言的程序可以使用streaming方式来运行。
streaming的执行方法如下:
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar [options]
Options:
-input<path>任务的输入路径
-output <path>任务的输出路径,需要是一个还不存在的目录。否则任务不能执行。
-mapper <cmd|JavaClassName> mapper的程序(可以是java的类,也可以是编译好的其他语言的程序)
-combiner <JavaClassName>Combiner的程序
-reducer <cmd|JavaClassName> reducer的程序
-file <file>程序运行所需要的文件或目录,会在执行消帆任务前拷贝到所有节点机器上
-inputformat TextInputFormat(default)|SequenceFileAsTextInputFormat|JavaClassName Optional.输入文件的格式一般保持默认(默认可以不写这个参数)即可。
-outputformat TextOutputFormat(default)|JavaClassName Optional.输出文件的格式
-partitioner JavaClassName 这个是决定根据key值制定处理数据用哪个reducer的那个类。
-numReduceTasks <num> reducer的数目(这只是任务分配的数目,具体能否并行执行还看hadoop配置的最大并发reducer数目)
-inputreader <spec> 这个参数没用过。。。。。
-cmdenv <n>=<v> 运行程序需要的一些环境变量
-mapdebug <path> 远程调试用,不明白是怎么用的。。。
-reducedebug <path> 远程调试用
实际使用中至少需要指定输入、输出目录和mapper程序
例子:$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar -input test -output out -mapper cat
注意:hadoop-streaming.jar默认并不在$HADOOP_HOME中,你可以在$HADOOP_HOME/contrib/streaming/中找到漏桥罩这个jar包,或者直接使用$HADOOP_HOME/contrib/streaming/hadoop-0.20.2-streaming.jar
看哗念吵你用什么版本的hadoop,高裤推荐使用cdh版的jar包导入web工程
调用HBase接乱侍口
如:
hbaseConfig = new Configuration()
conf = HBaseConfiguration.create(hbaseConfig)
admin = new HBaseAdmin(conf)
this.setTableName(tableName)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)