无法基于正则表达式 spark 读取文件
cannot read files based on regular expressions spark
我正在尝试在 pyspark 中加载包含 2015 年到 2020 年数据的文件。
我使用正则表达式。
所有正则表达式都在一个在线站点上进行了检查。但是,当我在 pyspark 中使用它们时,它会显示错误。看起来 hdfs 不喜欢括号。我尝试了不同的变体
# .load("hdfs:///data/ghcnd/daily/20(1[5-9]|20).csv.gz")
# .load("hdfs:///data/ghcnd/daily/20(15|16|17|18|19|20).csv.gz")
如何正确写入它们以便我可以从 2015 年到 2020 年的文件中加载数据?
尝试使用花括号 {}
并保留所有值。
.load("hdfs:///data/ghcnd/daily/2020{15,16,17}.csv.gz")
Example:
正在读取 2015,2016
个文件
spark.read.csv("/tmp/20{15,16}.csv").show()
#+----+
#| _c0|
#+----+
#|2015|
#|2016|
#+----+
$cat 2015.csv
2015
$cat 2016.csv
2016
我正在尝试在 pyspark 中加载包含 2015 年到 2020 年数据的文件。 我使用正则表达式。
所有正则表达式都在一个在线站点上进行了检查。但是,当我在 pyspark 中使用它们时,它会显示错误。看起来 hdfs 不喜欢括号。我尝试了不同的变体
# .load("hdfs:///data/ghcnd/daily/20(1[5-9]|20).csv.gz")
# .load("hdfs:///data/ghcnd/daily/20(15|16|17|18|19|20).csv.gz")
如何正确写入它们以便我可以从 2015 年到 2020 年的文件中加载数据?
尝试使用花括号 {}
并保留所有值。
.load("hdfs:///data/ghcnd/daily/2020{15,16,17}.csv.gz")
Example:
正在读取 2015,2016
个文件
spark.read.csv("/tmp/20{15,16}.csv").show()
#+----+
#| _c0|
#+----+
#|2015|
#|2016|
#+----+
$cat 2015.csv
2015
$cat 2016.csv
2016