作业提交
最近更新时间: 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 组件的使用方法。
在正式了解相关内容前,您需要进行一些准备工作。