Hadoop下怎么使用C程序啊?或者说,怎么使用C调用Hadoop的接口来编写程序呢?

Hadoop下怎么使用C程序啊?或者说,怎么使用C调用Hadoop的接口来编写程序呢?,第1张

hadoop有个C++的接口,没有c的。需要自己编译链接库文件。你可以在网上找找,有个wordcount的例子。但是具体讲哪些类的好像没见过返闹。

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)


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

原文地址:https://54852.com/yw/12501995.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存