作业提交

最近更新时间: 2019-10-31 02:40:20

命令行提交 输入输出在HDFS上: Hadoop jar wordcount.jar WordCount /user/Hadoop/examples/input/ /user/Hadoop/examples/output

Hadoop Streaming允许用户使用可执行的命令或者脚本作为mapper和reducer。以下用几个示例说明Hadoop Streaming如何使用。详细可参考Hadoop官网Hadoop Streaming 使用shell命令作为mapper和reducer Hadoop jar /opt/Hadoop/share/Hadoop/tools/lib/Hadoop-streaming-*.jar -input /user/Hadoop/examples/input/ -output /user/Hadoop/examples/output1 -mapper /bin/cat -reducer /usr/bin/wc 使用python脚本作为mapper和reducer mapper.py

#!/usr/bin/env python
import sys
for line in sys.stdin:
    line = line.strip()
    words = line.split()
    for word in words:
        print "%s\t%s" % (word, 1)
reducer.py 
#!/usr/bin/env python
from operator import itemgetter
import sys

current_word = None
current_count = 0
word = None

for line in sys.stdin:
    line = line.strip()
    word, count = line.split('\t', 1)
    try:
        count = int(count)
    except ValueError:
        continue
    if current_word == word:
        current_count += count
    else:
        if current_word:
            print "%s\t%s" % (current_word, current_count)
        current_count = count
        current_word = word

if word == current_word:
    print "%s\t%s" % (current_word, current_count)

命令行执行streaming作业 chmod +x mapper.py
chmod +x reducer.py
Hadoop jar /opt/Hadoop/share/Hadoop/tools/lib/Hadoop-streaming-*.jar -input /user/Hadoop/examples/input/ -output /user/Hadoop/examples/output2 -mapper mapper.py -reducer reducer.py -file mapper.py -file reducer.py
Spark实践指南 Apache Spark 是开源的集群框架和编程模型,与Hadoop类似,也是一款常用于大数据处理的分布式系统。Spark 与Hadoop的不同之处在于 Spark 拥有经过优化的有向无环图 (DAG) 执行引擎并会积极地在内存中缓存数据,这可提高性能,尤其是对于某些算法和交互式查询。 作为托管Hadoop的组件之一,我们对其进行了高可用处理,而且 Spark 可以与托管HADOOP的其他应用程序一同安装。除此之外托管HADOOP也将 Hive 与 Spark 做了集成,您可以通过 HiveContext 对象运行使用 Spark 的 Hive 相关的操作。 本文主要对一些 Spark 的基础操作进行了讲解,希望能够对您在托管HADOOP上使用 Spark 有所帮助。 全文会以场景的形式对 Spark 的一些功能和使用方式进行介绍,通过模拟各种场景,可以使您更快的熟悉托管HADOOP上的 Spark 组件的使用方法。 在正式了解相关内容前,您需要进行一些准备工作。