使用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吗?
答案 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)