【问题标题】:Decorating the result of SparkContext textFile filtered lines装饰 SparkContext textFile 过滤行的结果
【发布时间】:2016-11-07 09:06:36
【问题描述】:

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

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()获得了我感兴趣的访问日志,但我需要在这里做的是按用户编号对结果进行分组。具体来说,当 Spark 捕捉到我感兴趣的行时,我希望它在行中添加一些单词。可以用pyspark吗?

【问题讨论】:

    标签: python apache-spark pyspark bigdata


    【解决方案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)
    

    【讨论】:

    • 感谢您的提示。但是“一些词”必须逐行不同,例如捕获该行的用户号。
    猜你喜欢
    • 2014-02-27
    • 2015-01-01
    • 2020-05-12
    • 2019-03-22
    • 2010-12-23
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    相关资源
    最近更新 更多