python-3.x - 无法使用 pyarrow 从目录中读取 Parquet 文件

标签 python-3.x pyarrow

我正在使用 pyarrow(0.12.1) 从 s3 读取 parquet 对象

这是我正在使用的代码:

s3 = s3fs.S3FileSystem()
base_pya_dataset = ParquetDataset('s3://bucket1/source/schema/table_name/2019_10_31_19_59_16', filesystem=s3)

尝试创建 ParquetDataset 时出现以下错误:

"errorMessage": "Corrupted file, smaller than file footer",
  "errorType": "ArrowIOError",

我做错了什么?让我感到非常困惑的是我之前(昨天)就已经开始工作了。除了我正在使用的 Parquet 文件之外,我发现没有任何变化。 Parquet 文件必须是某种类型吗?

我已经尝试过: - 添加尾部正斜杠

当我向它提供一个文件的路径时,它就可以工作。显然,它尝试从我提供的目录中获取文件的方式有问题。

最佳答案

我知道这是一个老问题,但这个错误最近出现在我身上。我相信如果您包含文件系统参数,您的文件路径上不应有 "s3://" 前缀。

看看这个作为引用:https://issues.apache.org/jira/browse/ARROW-10937

关于python-3.x - 无法使用 pyarrow 从目录中读取 Parquet 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58770562/

相关文章:

Django Rest Framework check_object_permissions 没有被调用

python-3.x - 如何在 VS Code 中正确导入 Python 模块?

python - 为什么分区的 Parquet 文件占用更大的磁盘空间?

python - pyarrow 可以将多个 Parquet 文件写入 fastparquet 的 file_scheme ='hive' 选项之类的文件夹吗?

pyspark - 无法在 pyspark 中导入 pyarrow

python - 如何获取多个JSON对象的值?

python - 查找仅在末尾可选地包含特定字符的字符串

python - 将函数结果写入 stdin

python - PyArrow:如何使用新的文件系统接口(interface)将文件从本地复制到远程?

python - 如何在没有足够 RAM 的情况下使用 Pandas 打开巨大的 Parquet 文件