小编Eth*_*han的帖子

将 DuckDB 与 s3 一起使用?

我试图在 jupyter 笔记本中使用 DuckDB 来访问和查询 s3 中保存的一些镶木地板文件,但似乎无法让它工作。根据过去的经验,我觉得我需要分配适当的文件系统,但我不确定如何/在哪里执行此操作。

下面的代码会引发错误:RuntimeError: IO Error: No files found that match the pattern "s3://<bucket>/<file>.parquet"

import boto3
import duckdb

s3 = boto3.resource('s3')
client=boto3.client("s3")
con = duckdb.connect(database=':memory:', read_only=False)

con.execute("""
SET s3_region='-----';
SET s3_access_key_id='-----';
SET s3_secret_access_key='-----';
""")
out = con.execute(f"select * from parquet_scan('s3://<bucket>/<file>.parquet') limit 10;").fetchall()
Run Code Online (Sandbox Code Playgroud)

如果可以的话,我想使用 pandasread_sql功能,但放置此代码以避免增加问题的复杂性。

我很困惑,因为这段代码有效:

import pandas as pd
import boto3

s3 = boto3.resource('s3')
client=boto3.client("s3")

df = pd.read_parquet("s3://<bucket>/<file>.parquet")
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 pandas duckdb

8
推荐指数
2
解决办法
8058
查看次数

标签 统计

amazon-s3 ×1

duckdb ×1

pandas ×1

python ×1