装饰SparkContext textFile过滤行的结果

时间:2016-11-07 09:06:37

标签: python apache-spark pyspark bigdata

使用pyspark,我需要按用户nos过滤SNS服务的几个每日访问日志文件。然后,通过用户编号对结果进行分类来美化。以下是python脚本的一部分,它使用一组用户nos提取用户访问日志:

def is_user_log(line):
    return any(userno in line for userno in userno_array)
sc = SparkContext(appName="<app_name>")
text_file = sc.textFile(hdfs_url)
lines = text_file.filter(is_user_log)

现在我通过调用lines.collect()获得了我感兴趣的访问日志,但我需要做的是按用户nos对结果进行分组。具体来说,当Spark捕获我感兴趣的行时,我希望它在行中添加一些单词。可以使用pyspark吗?

1 个答案:

答案 0 :(得分:1)

您可以使用map转换:

def extract_data(line):
    # here you write code to extract data
    # that may use regular expressions
    return line + extracted_data

lines.map(extract_data)