fsspec integration fails to read Azure directory dataset
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
調査の方向性
obstore.fsspec.FsspecStore を使って abfs://items/landsat-c2-l2.parquet ディレクトリで失敗を再現し、その後、ネイティブの fsspec および adlfs と動作を比較します。確認には fs.info() と pyarrow.dataset.dataset() を使用します。obstore ファイルシステムがパスをディレクトリとして認識し、パーティション分割された Dataset を開ければ完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem:
Attempts to read the dataset using pyarrow.dataset.dataset(path, filesystem=obstore_fs) consistently fail. Debugging revealed that the underlying obstore.fsspec.FsspecStore instance (obstore_fs) fails to access the target path, even for simple operations like obstore_fs.info(path), typically raising a FileNotFoundError.
Context:
- STAC Collection:
landsat-c2-l2on Planetary Computer STAC (https://planetarycomputer.microsoft.com/api/stac/v1/) - STAC Asset:
geoparquet-items - Asset Details:
href:abfs://items/landsat-c2-l2.parquettable:storage_options:{'account_name': 'pcstacitems'}
- Target Path Type: The path
abfs://items/landsat-c2-l2.parquetpoints to a directory containing the partitioned Parquet dataset, not a single file.
Steps Taken & Findings:
- Retrieved STAC asset using
pystac-client. - Initialized
obstore.auth.planetary_computer.PlanetaryComputerCredentialProvidercorrectly usingurl=asset.hrefandaccount_name='pcstacitems'. - Attempted to initialize
obstore.fsspec.FsspecStorewith various configurations:- Using
protocol='abfs'and the credential provider. - Using
protocol='https'(with a constructed HTTPS URL) and the provider. - Explicitly passing
config={'account_name': 'pcstacitems', 'container_name': 'items'}along with the provider for bothabfsandhttpsprotocols.
- Using
- In all
obstore.fsspecconfigurations, attempts to access the path (e.g.,abfs://items/landsat-c2-l2.parquet) viafs.info()failed withFileNotFoundError(referencing eitherlandsat-c2-l2.parquetoritems/landsat-c2-l2.parquet).fs.info()works for files but seems to fail for directories in this setup. - Consequently,
pyarrow.dataset.dataset(path, filesystem=obstore_fs)also failed, presumably because it couldn't access/list the directory contents via theobstorefsspec layer. - Successful Native
fsspecTest: A separate test using nativefsspecandadlfswas performed:- Obtained the SAS token directly by calling the initialized
PlanetaryComputerCredentialProviderinstance. - Created a native filesystem:
native_fs = fsspec.filesystem("abfs", account_name='pcstacitems', sas_token=...). - Accessed the directory info using the relative path:
native_fs.info('items/landsat-c2-l2.parquet'). This succeeded and correctly identified the path as a directory. - Opened the dataset using
pyarrow.dataset.dataset('items/landsat-c2-l2.parquet', filesystem=native_fs). This also succeeded.
- Obtained the SAS token directly by calling the initialized
- 主要言語
- Python
- スター
- 830
- フォーク
- 45
- 平均マージ
- 7時間 53分
- マージ済み PR(30日)
- 13
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
developmentseed/obstore のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
developmentseed/obstore#809 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 75/100
developmentseed/obstore#779 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 67/100
developmentseed/obstore#778 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 50/100
developmentseed/obstore#772 ·
メンテナーはふだん 1 日以内に返信
-
LocalStore fsspec adding extra path stuff in Windows対応中かも @dajiaohuang が 14 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
developmentseed/obstore#763 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
developmentseed/obstore の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 2 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
developmentseed/titiler-cmr#278 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 2 日以内に返信