【问题标题】:cannot read files based on regular expressions spark无法读取基于正则表达式的文件 spark
【发布时间】:2020-04-02 23:34:49
【问题描述】:

我正在尝试在 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 年的文件中加载数据?

【问题讨论】:

    标签: python regex hadoop pyspark hdfs


    【解决方案1】:

    尝试使用花括号 {} 并保留所有值。

    .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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      相关资源
      最近更新 更多