```python from future import division from itertools import groupby from operator import itemgetter import sys
def mapper(line): words = line.split() for word in words: yield (word, 1)
def reducer(key, values): yield (key, sum(values))
if name == 'main': inputdata = sys.stdin.readlines() mapoutput = list(mapper(inputdata)) reduceoutput = list(reducer(key=itemgetter(0), values=mapoutput)) for key, value in reduceoutput: print('{}:{}'.format(key, value)) ```
4.1.2 Spark代码实例
```python from pyspark import SparkContext
def mapper(line): words = line.split() for word in words: yield (word, 1)
def reducer(key, values): yield (key, sum(values))
if name == 'main': sc = SparkContext() lines = sc.textFile(sys.argv[1]) mapoutput = lines.flatMap(mapper) reduceoutput = mapoutput.reduceByKey(reducer) reduceoutput.saveAsTextFile(sys.argv[2]) ```
4.2 云盘算的代码实例
4.2.1 虚拟化代码实例
```python import virtualization
def createvm(vmname, vmmemory, vmdisk): return virtualization.createvm(vmname, vmmemory, vmdisk)
def startvm(vm): return virtualization.startvm(vm)
def stopvm(vm): return virtualization.stopvm(vm)
if name == 'main': vm = createvm('myvm', 2048, 50) startvm(vm) # do something stopvm(vm) ```
4.2.2 自动化代码实例