文档首页 > > 开发指南> Spark应用开发> 开发程序> Spark Core程序> Python样例代码

Python样例代码

分享
更新时间: 2019/04/30 GMT+08:00

功能简介

统计日志文件中本周末网购停留总时间超过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()
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问