Python lambda中包含正则表达式的pyspark拆分字符串
我正在尝试基于lambda函数中的正则表达式拆分字符串,但字符串没有被拆分。我确信正则表达式工作正常。检查regex测试链接 我不知道我会错在哪里 文件中的示例行:Python lambda中包含正则表达式的pyspark拆分字符串,python,apache-spark,lambda,pyspark,pyspark-sql,Python,Apache Spark,Lambda,Pyspark,Pyspark Sql,我正在尝试基于lambda函数中的正则表达式拆分字符串,但字符串没有被拆分。我确信正则表达式工作正常。检查regex测试链接 我不知道我会错在哪里 文件中的示例行: |RECEIVE|Low| eventId=139569 msg=W4N Alert :: Critical : Interface Utilization for GigabitEthernet0/1 90.0 % in=2442 out=0 categorySignificance=/Normal categoryBehavi
|RECEIVE|Low| eventId=139569 msg=W4N Alert :: Critical : Interface Utilization for GigabitEthernet0/1 90.0 % in=2442 out=0 categorySignificance=/Normal categoryBehavior=/Communicate/Query categoryDeviceGroup=/Application
正则表达式应该匹配键前的空格
产出
|RECEIVE|Low|
eventId=139569
msg=W4N Alert :: Critical : Interface Utilization for GigabitEthernet0/1 90.0 %
in=2442
out=0
categorySignificance=/Normal
categoryBehavior=/Communicate/Query
categoryDeviceGroup=/Application
您能否共享Log18Dec.txt中的数据,以及您期望的输出?或者您能否至少告诉我们您期望的是什么(我的意思是“您能描述一下您的正则表达式应该匹配什么?”),以及您得到了什么?@Oli,rohikulky使用示例行和期望的输出进行了编辑
|RECEIVE|Low|
eventId=139569
msg=W4N Alert :: Critical : Interface Utilization for GigabitEthernet0/1 90.0 %
in=2442
out=0
categorySignificance=/Normal
categoryBehavior=/Communicate/Query
categoryDeviceGroup=/Application
from pyspark.sql.functions import col,split
import re
#r = re.compile(r"(?=\s\w+=)")
adsample = sc.textFile("hdfs://hostname/user/hdfs/sample/Log18Dec.txt")
splitted_sample = adsample.flatMap(lambda (x): ((v) for v in re.split('\s+(?=\w+=)',x)))
for m in splitted_sample.collect():
print(m)