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

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