spark sql加载路径中具有特殊字符的parqet

Posted

技术标签:

【中文标题】spark sql加载路径中具有特殊字符的parqet【英文标题】:spark sql load parqet with special character in path 【发布时间】:2021-04-23 15:25:30 【问题描述】:

我正在使用 pyspark sql 将文件加载到以下表格中

LOAD DATA LOCAL INPATH '/user/hive/warehouse/students' OVERWRITE INTO TABLE test_load;

https://spark.apache.org/docs/latest/sql-ref-syntax-dml-load.html

它抱怨:

pyspark.sql.utils.AnalysisException:加载数据输入路径不存在 当路径字符串在目录结构中具有时间戳时,例如 XX/XX/2021-03-02T20:04:27+00:00/file.parquet

它适用于没有时间戳的路径。如何解决?

【问题讨论】:

【参考方案1】:

我还没有看到任何支持 '2021-03-02T20:04:27+00:00' 作为文件夹名称或文件名称的文件系统。通常“:”和“+”符号被视为保留字符,您不能在文件/文件夹命名中使用它们。

阅读您用于“保留字”的文件系统手册

将您的日期时间格式更改为操作系统文件系统支持的格式,例如“yyyy-mm-ddThhMMSS”,例如:“2021-03-02T200427”

【讨论】:

以上是关于spark sql加载路径中具有特殊字符的parqet的主要内容,如果未能解决你的问题,请参考以下文章

SQL 加载数据特殊字符

具有特殊字符的路径变量,例如 Spring Boot 中的 #

如何使用 phpMyAdmin 中的 SQL 查询设置具有许多特殊字符的列值?

选择具有最大值的行,并结合WHERE。 MAX和CAST,在spark.sql中

spark.sql() 的 REGEXP_REPLACE

如何在Spark SQL中查询StringType的1个字段具有json值的数据框