如何使用pyspark使用的通配符读取hdfs文件

Posted

技术标签:

【中文标题】如何使用pyspark使用的通配符读取hdfs文件【英文标题】:how to read hdfs file with wildcard character used by pyspark 【发布时间】:2018-05-13 04:32:34 【问题描述】:

有一些 parquet 文件路径是:

/a/b/c='str1'/d='str'

/a/b/c='str2'/d='str'

/a/b/c='str3'/d='str'

我想像这样读取镶木地板文件:

df = spark.read.parquet('/a/b/c='*'/d='str')

但使用"*" 通配符不起作用。我该怎么做?谢谢你的帮助

【问题讨论】:

【参考方案1】:

你需要转义单引号:

df = spark.read.parquet('/a/b/c=\'*\'/d=\'str\'')

... 或者只使用双引号:

df = spark.read.parquet("/a/b/c='*'/d='str'")

【讨论】:

@ZhangXin 嗯,应该可以了。 HDFS 路径是否包含这些引号?另外,请提供您拥有的确切代码 - '/a/b/c='*'/d='str' 不是有效的 Python 字符串

以上是关于如何使用pyspark使用的通配符读取hdfs文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pyspark 读取 hdfs kafka 数据?

从 hdfs 读取文件 - pyspark

使用 pyspark 从 hdfs 读取文件时连接被拒绝

PySpark 无法从 hdfs 读取 csv:HiveExternalCatalog 错误

Pyspark:获取HDFS路径上的文件/目录列表

Databricks 上的 PySpark 在绝对 URI 中获取相对路径:尝试使用 DateStamps 读取 Json 文件时