问题标签 [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 投票
2 回答
1568 浏览

python - NotImplementedError:不支持文本模式,使用 mode='wb' 并在 s3fs 中管理字节

我知道有一个类似的问题,但它更笼统,而不是这个包的具体问题。我将 Sagemaker Jupyter 笔记本中的熊猫数据框保存到 S3 中的 csv 中,如下所示:

但是我收到以下错误:

代码或多或少是我从 S3 读取一个 csv,对其进行一些预处理,然后将其保存到 S3。我可以通过以下方式成功地从 S3 读取 csv:

我试图保存到 S3 的对象确实是pandas.core.frame.DataFrame

在笔记本中,我可以看到!pip show package我有 pandas 0.24.2 和 s3fs 0.1.5。

可能是什么问题呢?

0 投票
3 回答
23937 浏览

python-3.x - ImportError:缺少可选依赖项“S3Fs”。处理 S3 文件需要 S3Fs 包。使用 pip 或 conda 安装 S3Fs

我使用 AWS Cloud9 作为我的 IDE。

虽然我能够在 Pycharm 中获取输出 CSV 文件,但当我在 AWS 上的 Cloud9 IDE 中使用相同的代码时,我得到了标题中提到的错误。

我已经使用 pip install S3Fs 安装了 S3F,当我执行“pip list”时,它确实为我提供了包含 S3F 的已安装列表,所以我很困惑,为什么当模块已经安装并且它显示在pip 列表,我也尝试取消注释 import S3Fs 并且仍然存在相同的错误。

请帮我。

0 投票
2 回答
1011 浏览

python - 是否有任何 python 模块可以通过它将 S3 存储桶安装到文件系统中?

s3fs-FUSE 是一个可以执行此操作的 CLI 工具 但是 s3fs 库实际上并没有将其挂载到文件系统,而是为我们提供了将 S3 存储桶作为文件系统访问的 API

我正在寻找一些 python 库,我可以在我的 python 脚本中使用它来将 s3 存储桶安装到文件系统中。

0 投票
0 回答
226 浏览

python - 我可以在 aiobotocore 上使用 python s3fs 库吗?

s3fs是一个方便的 Python 文件系统接口,用于 S3,建立在botocore 之上。要使用 asyncio 访问 S3,aiobotocorebotocore的替代方案。是否可以将 s3fs 与 asyncio/ aiobotocore而不是 vanilla botocore 一起使用?

我的用例是我需要收集三个项目:一个来自磁带存档,一个来自 S3,一个是用 CPU 计算的。它们都需要 10-30 分钟,但这里应该可以并发。

0 投票
2 回答
1126 浏览

amazon-s3 - VPN 中 AWS Lambda 函数的 s3fs 超时问题

在 VPN 中使用 AWS Lambda 函数从 S3 存储桶读取数据时, s3fs似乎不时出现故障。我正在使用s3fs==0.4.0pandas==1.0.1

堆栈跟踪如下:

有人遇到过同样的问题吗?为什么它只是有时会失败?是否有s3fs配置可以帮助解决这个特定问题?

0 投票
1 回答
95 浏览

boto - 使用 s3fs 将 sklearn 模型上传到 S3 存储桶时出现问题

我正在尝试使用 s3fs 将 SVR 模型(使用 sklearn 创建)上传到 S3 存储桶,但我收到一条错误消息,提示“TypeError:需要类似字节的对象,而不是 'SVR'”。谁能建议如何将 SVR 转换为正确的格式?

我的代码是

0 投票
1 回答
1412 浏览

python-3.x - 在 Google Colab 中下载 S3 文件

我正在做一个项目,碰巧有些数据是以 S3fileSystem 的形式提供的。我可以使用S3FileSystem.open(path)读取该数据。但是有360多个文件,读取一个文件至少需要3分钟。我想知道,有没有办法在我的系统中下载这些文件并从那里读取它们,而不是直接从 S3fileSystem 读取。还有另一个原因,虽然我可以读取所有这些文件,但是一旦我在 colab 上的会话重新连接,我必须再次重新读取所有这些文件,因此需要很长时间。我正在使用以下代码读取文件

有没有办法下载这些文件?

0 投票
0 回答
97 浏览

python-3.x - 如何解决“没有名为 _bz2 的模块”错误?

我正在尝试s3fs使用 Debian 3.16.51-3 在 Python 3.6 中使用。

当我导入 s3fs 时:

好的,我尝试更新/安装libbz2-dev,如 SO 中的其他问题所述。

尝试使用--fix-missing,但遇到了同样的错误。显然这些文件不可下载(?)。

我应该如何解决这个问题?提前致谢。

0 投票
3 回答
1690 浏览

python - Pandas read_csv 指定 AWS 配置文件

Pandas (v1.0.5) 使用s3fs库连接 AWS S3 并读取数据。默认情况下,s3fs 使用~/.aws/credentials在配置文件中的文件中找到的凭据default。从 S3 读取 CSV 时,如何指定 pandas 应该使用哪个配置文件?

例如。

编辑 :

当前的黑客/工作解决方案:

上述解决方案的唯一问题是您需要导入 2 个不同的库并实例化 2 个对象。保持问题开放,看看是否有另一种更清洁/简单的方法。

0 投票
1 回答
177 浏览

python - 如何诊断不一致的 S3 权限错误

我在 AWS Lambda 函数中运行 Python 脚本。它由 SQS 消息触发,这些消息告诉脚本某些对象从 S3 存储桶加载以进行进一步处理。

权限似乎设置正确,存储桶策略允许 Lambda 的执行角色对存储桶中的任何对象执行任何操作。并且 Lambda可以在大多数时间访问所有内容。对象正在通过pandass3fs:加载pandas.read_csv(f's3://{s3_bucket}/{object_key}')

但是,当一个新对象上传到 S3 存储桶时,Lambda 一开始无法访问它。botocoreSDK在An error occurred (403) when calling the HeadObject operation: Forbidden尝试访问对象时抛出。在几分钟内(通过 SQS)重复调用 Lambda(甚至超过 50 次)会产生相同的错误。但是,当使用不同的 SQS 消息(从 S3 加载不同的对象)调用 Lambda,然后使用原始消息重新调用时,Lambda 可以突然访问 S3 对象(以前每次都失败)。随后从 Lambda 访问此对象的所有尝试都会成功。

我不知道可能导致这种情况的原因。这个可重复的 3 步过程 (1) 在新上传的对象上失败,2) 与其他对象一起运行 3) 在原始对象上成功)可以全部发生在一个 Lambda 容器上(它们都在一个 CloudWatch 日志流中,这似乎与 Lambda 容器相关联)。所以,这似乎不是因为需要一个新的 Lambda 容器/实例。

关于如何进一步调试的想法或想法?