PySpark textFile 命令中的正则表达式
Posted
技术标签:
【中文标题】PySpark textFile 命令中的正则表达式【英文标题】:Regular expressions in PySpark textFile command 【发布时间】:2015-06-18 15:34:31 【问题描述】:我试图弄清楚在选择多个感兴趣的文件时我可以推动这个命令多远。例如,我使用以下通配符在多个目录中提取所有感兴趣的文件,但我想使用正则表达式等来限制目录名称的长度。
lines = sc.textFile("/home/spark-1.4.0/A/B_2*/Output/CSV.csv")
但是我可以限制目录名的长度而不是*
吗?例如^[0-9]8$
?或者任何不借助预过滤来构建有效目录列表的方式。
【问题讨论】:
【参考方案1】:只是为了让事情变得简单,你想要的是一个简单的glob 没有正则表达式。你可以这样做:
glob = "/home/spark-1.4.0/A/B_20/Output/CSV.csv".format("[0-9]" * 8)
lines = sc.textFile(glob)
【讨论】:
以上是关于PySpark textFile 命令中的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
pyspark 中的正则表达式来检查字母和空格(也可以使用 uni 代码)
如何通过 Pyspark 中同一数据框中另一列的正则表达式值过滤数据框中的一列