更新时间:2022-07-19 GMT+08:00
Python样例代码
功能简介
统计日志文件中本周末网购停留总时间超过2个小时的女性网民信息。
代码样例
下面代码片段仅为演示,具体代码参见collectFemaleInfo.py:
def contains(str, substr): if substr in str: return True return False if __name__ == "__main__": if len(sys.argv) < 2: print "Usage: CollectFemaleInfo <file>" exit(-1) # 创建SparkContext,设置AppName sc = SparkContext(appName = "CollectFemaleInfo")? """ 以下程序主要实现以下几步功能: 1.读取数据。其是传入参数argv[1]指定数据路径 - textFile 2.筛选女性网民上网时间数据信息 - filter 3.汇总每个女性上网时间 - map/map/reduceByKey 4.筛选出时间大于两个小时的女性网民信息 - filter """ inputPath = sys.argv[1] result = sc.textFile(name = inputPath, use_unicode = False) \ .filter(lambda line: contains(line, "female")) \ .map(lambda line: line.split(',')) \ .map(lambda dataArr: (dataArr[0], int(dataArr[2]))) \ .reduceByKey(lambda v1, v2: v1 + v2) \ .filter(lambda tupleVal: tupleVal[1] > 120) \ .collect() for (k, v) in result: print k + "," + str(v) # 停止SparkContext sc.stop()
父主题: Spark Core程序