Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

fsspec integration fails to read Azure directory dataset

オープン
#413 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
azure, python
領域
cloud, data

調査の方向性

obstore.fsspec.FsspecStore を使って abfs://items/landsat-c2-l2.parquet ディレクトリで失敗を再現し、その後、ネイティブの fsspec および adlfs と動作を比較します。確認には fs.info() と pyarrow.dataset.dataset() を使用します。obstore ファイルシステムがパスをディレクトリとして認識し、パーティション分割された Dataset を開ければ完了です。

索引モデルが issue の本文から書いたものです。

説明

fsspec
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-l2 on Planetary Computer STAC (https://planetarycomputer.microsoft.com/api/stac/v1/)
  • STAC Asset: geoparquet-items
  • Asset Details:
    • href: abfs://items/landsat-c2-l2.parquet
    • table:storage_options: {'account_name': 'pcstacitems'}
  • Target Path Type: The path abfs://items/landsat-c2-l2.parquet points to a directory containing the partitioned Parquet dataset, not a single file.
Steps Taken & Findings:
  1. Retrieved STAC asset using pystac-client.
  2. Initialized obstore.auth.planetary_computer.PlanetaryComputerCredentialProvider correctly using url=asset.href and account_name='pcstacitems'.
  3. Attempted to initialize obstore.fsspec.FsspecStore with 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 both abfs and https protocols.
  4. In all obstore.fsspec configurations, attempts to access the path (e.g., abfs://items/landsat-c2-l2.parquet) via fs.info() failed with FileNotFoundError (referencing either landsat-c2-l2.parquet or items/landsat-c2-l2.parquet). fs.info() works for files but seems to fail for directories in this setup.
  5. Consequently, pyarrow.dataset.dataset(path, filesystem=obstore_fs) also failed, presumably because it couldn't access/list the directory contents via the obstore fsspec layer.
  6. Successful Native fsspec Test: A separate test using native fsspec and adlfs was performed:
    • Obtained the SAS token directly by calling the initialized PlanetaryComputerCredentialProvider instance.
    • 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.
主要言語
Python
スター
830
フォーク
45
平均マージ
7時間 53分
マージ済み PR(30日)
13

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

developmentseed/obstore のほかの issue

developmentseed/obstore の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。