我創(chuàng)建了一個(gè) Parquet 數(shù)據(jù)集,分區(qū)如下:2019-taxi-trips/
- month=1/
- data.parquet
- month=2/
- data.parquet
...
- month=12/
- data.parquet該組織遵循Hive Metastore 使用的Parquet 數(shù)據(jù)集分區(qū)約定。_metadata該分區(qū)方案是手動(dòng)生成的,因此目錄樹(shù)中的任何位置都沒(méi)有文件。我現(xiàn)在想將該數(shù)據(jù)集讀入 Dask。對(duì)于本地磁盤(pán)上的數(shù)據(jù),以下代碼有效:import dask.dataframe as dddd.read_parquet( "/Users/alekseybilogur/Desktop/2019-taxi-trips/*/data.parquet", engine="fastparquet")我將這些文件復(fù)制到 S3 存儲(chǔ)桶(通過(guò)s3 sync; 分區(qū)文件夾是存儲(chǔ)桶中的頂級(jí)鍵,如下所示),并嘗試使用相同的基本功能從云存儲(chǔ)中讀取它們:import dask.dataframe as dd; dd.read_parquet( "s3://2019-nyc-taxi-trips/*/data.parquet", storage_options={ "key": "...", "secret": "..." }, engine="fastparquet")這引發(fā)了IndexError: list index out of range. 完整的堆棧跟蹤在這里。目前是否可以直接從 AWS S3 讀取這樣的數(shù)據(jù)集?
1 回答

Cats萌萌
TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
目前存在一個(gè)錯(cuò)誤fastparquet
,導(dǎo)致此代碼無(wú)法工作。
與此同時(shí),在這個(gè)錯(cuò)誤得到解決之前,解決這個(gè)問(wèn)題的一個(gè)簡(jiǎn)單方法是使用后端pyarrow
。
dd.read_parquet(
? ? "s3://2019-nyc-taxi-trips/*/data.parquet",
? ? storage_options={
? ? ? ? "key": "...",
? ? ? ? "secret": "..."
? ? },
? ? engine="pyarrow"
)
添加回答
舉報(bào)
0/150
提交
取消