装饰 SparkContext textFile 过滤行的结果
Posted
技术标签:
【中文标题】装饰 SparkContext textFile 过滤行的结果【英文标题】:Decorating the result of SparkContext textFile filtered lines 【发布时间】: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吗?
【问题讨论】:
【参考方案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)
【讨论】:
感谢您的提示。但是“一些词”必须逐行不同,例如捕获该行的用户号。以上是关于装饰 SparkContext textFile 过滤行的结果的主要内容,如果未能解决你的问题,请参考以下文章