Adatkockák a Microsoft Planetary Computer Pro alkalmazásban

A Támogatott adattípusokban leírtaknak megfelelően a Microsoft Planetary Computer Pro támogatja az adatkockafájlok netCDF, HDF5, Zarr és GRIB2 formátumú betöltését, felhőoptimalizálását és vizualizációját. Bár a helyi tárolás összetett és történelmileg nehézkes, ezek az eszközök a Planetary Computer Pro segítségével felhőalapú környezetekhez vannak optimalizálva, így hatékony eszközként szolgálnak a többdimenziós adatok, például a műholdas képek és az éghajlatmodellek strukturálásához és tárolásához.

Adatkockák betöltése

Az adatkockafájlok ugyanúgy betölthetők a Planetary Computer Pro-ba, mint más raszteres adattípusok. A többi dátumformátumhoz hasonlóan az eszközöket és a kapcsolódó Spatio Temporal Asset Catalog (STAC) elemeket először az Azure Blob Storage-ban kell tárolni. A többi kétdimenziós rasztereszköztől eltérően azonban bizonyos adatkockaformátumok (NetCDF és HDF5) betöltésekor több felhőoptimalizálási lépés történik.

Megjegyzés:

A GRIB2-adatok ugyanúgy vannak betöltve, mint a többi kétdimenziós raszteradatok (más felhőoptimalizálási lépések nélkül), mivel lényegében 2D raszterek gyűjteménye egy társított indexfájllal, amely hatékonyan hivatkozik az adatokra a felhőkörnyezetekben. Hasonlóképpen, a Zarr már natív felhőbeli formátum, így a betöltéskor nem történik optimalizálás.

Adatkockák felhőoptimalizálása

Ha netCDF- vagy HDF5-objektumokat tartalmazó STAC-elem van betöltve, az eszközök felhőoptimalizáltak, nem az adatok átalakításával, hanem a hatékonyabb adathozzáférést lehetővé tevő referenciafájlok létrehozásával.

Felhőoptimalizálás Kerchunk-jegyzékeken keresztül

Ellentétben a 2D raszteradatokkal, amelyek a Planetary Computer Pro-ba való betöltéskor felhőoptimalizált geotiffekké (COG-kká) alakulnak át, az adatkocka-objektumok referenciafájlok vagy Kerchunk-jegyzékek létrehozása alapján vannak optimalizálva. A Kerchunk egy nyílt forráskódú Python-kódtár, amely létrehozza ezeket az adattömb-jegyzékfájlokat vagy JSON-fájlokat, amelyek az adatkocka és az adattömbök szerkezetét írják le Zarr-stílusú adattömbkulcsokkal, amelyek megfeleltetik az eredeti fájl bájttartományait, ahol az adattömbök találhatók. A létrehozás után a Kerchunk-fájlokat az eszközök mellett blobtárolóban tárolja a rendszer, és a STAC-elemek bővülnek, hogy hivatkozásokat tartalmazzon ezekre a jegyzékekre, így optimalizálva a felhőkörnyezetek adathozzáférését.

A felhőoptimalizálást kiváltó STAC-elemtulajdonságok

A gyűjtemény STAC-elemein belül az alábbi feltételeknek kell teljesülniük ahhoz, hogy egy adatkocka-objektum felhőoptimalizált legyen:

  • Az eszköz formátuma az alábbi típusok egyike:
    • application/netcdf
    • application/x-netcdf
    • application/x-hdf5
  • Az objektum rendelkezik egy roles mezővel, amely tartalmazza a szerepkörök listájában a data vagy visual értéket.

Ha ezek a feltételek teljesülnek, a rendszer létrehoz egy Kerchunk-jegyzékfájlt (assetid-kerchunk.json) az objektum mellett a Blob Storage-ban.

Megjegyzés:

Az eszközformátum típusaapplication/x-hdf gyakran a HDF4-eszközöknek felel meg. A GeoCatalog-betöltés jelenleg nem támogatja a HDF4 virtuális kerchunk-jegyzékeinek létrehozását a hozzáadott összetettsége és több változata miatt.

STAC-elemek bővítése

Ha a STAC-elemeket a STAC datacube kiterjesztéssel szeretné módosítani, engedélyezheti a bővítést úgy, hogy felvesz egy datacube_stac_enrichment: True jelzőt az eredeti STAC-elem JSON-elemében lévő objektumokra.

A STAC-elemen belül minden optimalizált objektumhoz a következő mezők lesznek hozzáadva:

  • msft:datacube_converted: true – Azt jelzi, hogy a bővítést alkalmazták.
  • cube:dimensions – Az adathalmaz dimenzióit és tulajdonságait felsoroló szótár.
  • cube:variables – Az adathalmaz változóit és tulajdonságait leíró szótár.

Ezeket a változókat a renderelési konfigurációkhoz kell használni annak érdekében, hogy az Adatkocka-objektumok vizualizációja az Explorerben a leghatékonyabban olvassa és renderelje az adatokat.

A felhőre optimalizált adatkockák előnyei

Az adatkockák felhőoptimalizálása javítja az adatelérési teljesítményt, különösen a vizualizációs munkafolyamatok esetében. Ha egy Kerchunk-jegyzék jelen van, az gyorsabb hozzáférést tesz lehetővé a teljes adathalmazfájl betöltéséhez képest.

A Microsoft Planetary Computer Pro Explorer és a csempéző API-k előnyben részesítik a Kerchunk-leíró fájl használatát adatolvasási műveletekhez, ha az eredeti objektummal azonos blobtároló könyvtárban található.

Az adatok adatbeolvasása adatrészletes, referenciaalapú megközelítéssel gyorsabb, mivel nem olvassa be a teljes fájlt a memóriába.

Adatkockák felhőoptimalizálásának letiltása

Ha úgy dönt, hogy nem szeretne felhőoptimalizált adatkocka-objektumokkal dolgozni, a betöltés előtt tiltsa le a felhőoptimalizálást úgy, hogy eltávolítja data és visual az eszköz roles STAC elem JSON listájából.

Zarr-beolvasás és adatfrissítések

Ahogy korábban említettük, a Zarr eredendően natív felhőbeli formátum, így a betöltéskor nem történik további optimalizálás, és nincs szükség a STAC-elemek módosítására. Ha azonban azt tervezi, hogy dinamikusan frissíti a Zarr-objektumokat, és a STAC-elemeket a legújabb verzióval szeretné használni, két frissítési módszert kell ismernie: a hozzáfűzést és a szinkronizálást.

Append

Ha új adatokat ad hozzá egy helyileg tárolt Zarr-tárolóhoz, de frissíteni szeretné a Planetary Computer Pro-ban tárolt verziót, vissza kell vennie a STAC-elemet. Az elem újrabetöltésekor az alapértelmezett viselkedés az, hogy áttekinti az összes új adat objektumát, és hozzáadja azokat a felhőben tárolt adatokhoz. Az újrabetöltés előtt nem szükséges módosítani a STAC-elemet.

Szinkronizálás

Ha eltávolítja az adatokat egy helyileg tárolt Zarr-tárolóból, ugyanazon STAC-elem újbóli betöltése nem teszi lehetővé, hogy a felhőalapú verzió megfeleljen a számítógépen lévő verziónak, mivel a hozzáfűző funkció új adatokat keres, de nem igazodik a hiányzó adatokhoz. Itt jön létre a szinkronizálás . Ha úgy módosítja a STAC-elemet, hogy tartalmazza a szinkronizálni kívánt paramétert, a meglévő adatokat az újval, és a módosított STAC-elemet újra betölti, csak a Zarr-tárolóból származó legtöbb up-to-date adat érhető el a Planetary Computer Pro-ban. A STAC-elem módosításának a következőképpen kell megjelennie:

{
    ...
    "assets": {
        "pr": {
            "href": "https://managedstorage.azure.com/collection-container/somestuff/pr.zarr",
            "msft:ingestion": {
              "directory": "sync"
            }
        }
    }
}