问题标签 [python-s3fs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1949 浏览

python - 如何获取 S3 存储桶中所有不同前缀的列表?

如果我有如下目录结构并且前缀是/folder1,

我想动态循环遍历这些目录,以便分别读取每个叶子文件夹中的文件,即我需要一个列表

除了递归遍历每个前缀、获取下一级前缀、连接、获取下一级等,直到到达最后一个(叶)文件夹,还有更好的方法来获取它吗?

0 投票
1 回答
447 浏览

amazon-s3 - 通过 s3fs 从 S3 读取文件时可以使用 xr.open_mfdataset 吗?

我正在尝试使用 s3fsxr.open_mfdataset从 S3 存储桶一次读取多个 netcdf 文件。这可能吗?

尝试了以下,它适用于xr.open_dataset单个文件,但不适用于多个文件:

0 投票
2 回答
1161 浏览

python - 如何从 s3 流式传输大型 gzip 压缩 .tsv 文件,对其进行处理,然后写回 s3 上的新文件?

我有一个s3://my-bucket/in.tsv.gz要加载和处理的大文件,将其处理后的版本写回 s3 输出文件s3://my-bucket/out.tsv.gz

  1. 如何在in.tsv.gz不将所有文件加载到内存的情况下直接从 s3 简化(它不适合内存)
  2. 如何将处理后的 gzipped 流直接写入 s3?

在下面的代码中,我展示了我是如何考虑从 s3 加载输入 gzipped 数据帧的,以及.tsv如果它位于本地,我将如何编写它bucket_dir_local = ./

编辑smart_open看起来像是要走的路。

0 投票
0 回答
312 浏览

amazon-s3 - 使用 pyspark 以编程方式从 S3 存储桶中删除镶木地板分区

我有一个在 S3 文件系统 (s3fs) 中分区的镶木地板文件,如下所示:

每天都有新数据附加到 parquet 文件并相应地进行分区。

我想只保留最后 90 天的数据并删除其余数据。所以当第 91 条数据进来时,它会追加然后删除DATE分区中的第 1 天。当第 92 天到来时,它会删除第 2 天,依此类推。

这可以通过pyspark实现吗?

0 投票
1 回答
613 浏览

python - 为什么在使用 smart_open 从 s3 读取和写入 s3 时出现 ConnectionResetError?

以下代码可以在此处讨论之后即时读取和写入 s3 :

问题是,在处理了数千行(几分钟)后,我收到“对等方重置连接”错误:

我能做些什么?我尝试过fout.flush()每一次fout.write(string.encode()),但效果不佳。是否有更好的解决方案来处理大约 2 亿行的 .tsv 文件?

0 投票
0 回答
1401 浏览

python - 大 S3 文件的 s3fs 超时

这类似于Amazon s3 with big files 上的 dask read_csv timeout,但这实际上并没有解决我的问题。

然后我得到的错误是

这很奇怪,因为我认为我在类的工作副本上设置了适当的超时。这完全是因为我的互联网连接不好,但是我需要在我的 s3 端做些什么来帮助这里吗?

0 投票
0 回答
509 浏览

python-3.x - 从 S3 读取 JSON 文件的 Dask 列表索引超出范围

我正在尝试读取存储在 S3 上的一堆 JSON 文件,但list index out of range在计算 DataFrame 时会引发

我打开 JSON 文件的调用是这样的:

并且在我调用时失败to_csv(到 S3 或本地,两者都失败)

堆栈跟踪:

注意:这仅在我尝试从 S3 打开文件时发生,当我从本地存储打开文件时一切顺利

0 投票
2 回答
4429 浏览

python-3.x - aiobotocore - ImportError:无法导入名称“InvalidIMDSEndpointError”

下面的代码引发了导入异常

例外

更多详细信息:
操作系统:Ubuntu 18.04
Python 版本 3.6

名称:s3fs
版本:0.5.1
摘要:S3 上方便
的文件系统接口主页:http
://github.com/dask/s3fs/ 位置:/home/ubuntu/.local/lib/python3.6/site-packages
要求:fsspec、aiobotocore

名称:botocore
版本:1.19.24
摘要:boto 3 底层数据驱动核心。
主页:https
://github.com/boto/botocore 位置:/home/ubuntu/.local/lib/python3 .6/site-packages 需要:jmespath、urllib3、python-dateutil

名称:aiobotocore
版本:1.2.0
摘要:使用 botocore 和 aiohttp 的 aws 服务异步客户端
主页:https
://github.com/aio-libs/aiobotocore 位置:/home/ubuntu/.local/lib/python3。 6/site-packages
需要:botocore、wrapt、aioitertools、aiohttp

名称:boto3
版本:1.16.52
摘要:AWS SDK for Python
主页:https
://github.com/boto/boto3 位置:/home/ubuntu/.local/lib/python3.6/site-packages
需要: botocore, s3transfer, jmespath


有什么想法有什么问题吗?

谢谢

0 投票
1 回答
615 浏览

python - s3fs/botocore 导入错误:InvalidIMDSEndpointError

我试图在 docker 中运行一些 python 代码并将 .csv 文件导出到 S3,但得到了与 aiobotocore 中相同的错误- ImportError: cannot import name 'InvalidIMDSEndpointError'(在这里询问是因为我没有足够的声誉来评论那个线程..)

我尝试使用评论中的库版本: botocore==1.19.52 s3fs==0.5.1 boto3==1.16.52 aiobotocore==1.2.0 但是,这些并不能解决问题,我仍然遇到同样的错误。

这里有人可以给我一些提示如何解决这个问题吗?谢谢!

0 投票
1 回答
668 浏览

python - 使用 chunksize 从 s3 将 CSV 文件加载到 Pandas

我正在尝试使用...从 s3 读取一个非常大的文件

但即使在给出块大小之后,它也会永远占用。chunksize从 s3 获取文件时该选项是否有效?如果没有,有没有更好的方法从 s3 加载大文件?