Delen via


Gegevenskubussen in Microsoft Planetary Computer Pro

Zoals vermeld in ondersteunde gegevenstypen, biedt Microsoft Planetary Computer Pro ondersteuning voor opname, cloudoptimalisatie en visualisatie van gegevensbestanden in NetCDF-, HDF5-, Zarr- en GRIB2-indelingen. Hoewel dit complex en historisch omslachtig is voor lokale opslag, zijn deze assets geoptimaliseerd voor cloudomgevingen met Planetary Computer Pro, waardoor ze verder kunnen worden gebruikt als efficiënte hulpprogramma's voor het structureren en opslaan van multidimensionale gegevens, zoals satellietbeelden en klimaatmodellen.

Opname van gegevenskubussen

Gegevenskubusbestanden kunnen op dezelfde manier worden opgenomen in Planetary Computer Pro als andere rastergegevenstypen. Net als bij andere datumnotaties moeten assets en gekoppelde STAC-items (Tijdelijke activacatalogus) van Spatio eerst worden opgeslagen in Azure Blob Storage. In tegenstelling tot andere tweedimensionale rasterassets treden er echter meer cloudoptimalisatiestappen op bij het opnemen van bepaalde gegevenskubusindelingen (NetCDF en HDF5).

Opmerking

GRIB2-gegevens worden op dezelfde manier opgenomen als andere tweedimensionale rastergegevens (zonder andere cloudoptimalisatiestappen), omdat ze in wezen een verzameling 2D-rasters zijn met een gekoppeld indexbestand dat verwijst naar de gegevens efficiënt in cloudomgevingen. Zarr is al een cloud-native formaat, dus er vindt geen optimalisatie plaats bij gegevensinvoer.

Cloudoptimalisatie van gegevenskubussen

Wanneer een STAC-item met NetCDF- of HDF5-assets wordt opgenomen, worden de assets geoptimaliseerd voor de cloud, niet door de gegevens zelf te transformeren, maar door referentiebestanden te genereren die efficiëntere toegang tot gegevens mogelijk maken.

Cloudoptimalisatie via Kerchunk-manifesten

In tegenstelling tot 2D-rastergegevens die worden getransformeerd in Cloud Optimized Geotiffs (COG's) bij opname in Planetary Computer Pro, worden gegevenskubusassets geoptimaliseerd door het genereren van referentiebestanden of Kerchunk-manifesten. Kerchunk is een opensource Python-bibliotheek waarmee deze segmentmanifesten worden gemaakt, of JSON-bestanden die de structuur van de gegevenskubus en de bijbehorende segmenten beschrijven met behulp van segmentsleutels in Zarr-stijl die worden toegewezen aan de bytebereiken in het oorspronkelijke bestand waarin deze segmenten zich bevinden. Zodra ze zijn gegenereerd, worden de Kerchunk-bestanden samen met de assets opgeslagen in blobopslag en worden de STAC-items verrijkt met verwijzingen naar deze manifesten, waardoor de toegang tot gegevens voor cloudomgevingen wordt geoptimaliseerd.

STAC-itemeigenschappen die cloudoptimalisatie activeren

Binnen de STAC-items van de verzameling moeten de volgende voorwaarden gelden voor een gegevenskubusasset die is geoptimaliseerd voor de cloud:

  • De bestandsindeling is een van de volgende typen:
    • application/netcdf
    • application/x-netcdf
    • application/x-hdf5
  • De asset heeft een roles veld dat in de lijst van rollen ofwel data of visual bevat.

Als aan deze voorwaarden wordt voldaan, wordt er naast de asset een Kerchunk-manifest (assetid-kerchunk.json) gegenereerd in blobopslag.

Opmerking

Het assetformattypeapplication/x-hdf komt vaak overeen met HDF4-assets. GeoCatalog-invoer ondersteunt momenteel niet het maken van virtuele kerchunk-manifesten voor HDF4 door de bijkomende complexiteit en meerdere varianten.

verrijking van STAC-items

Voor elke geoptimaliseerde asset binnen het STAC-item worden de volgende velden toegevoegd:

  • msft:datacube_converted: true – Geeft aan dat verrijking is toegepast.
  • cube:dimensions – Een woordenlijst met gegevenssetdimensies en de bijbehorende eigenschappen.
  • cube:variables – Een woordenlijst waarin gegevenssetvariabelen en de bijbehorende eigenschappen worden beschreven.

Deze variabelen moeten worden gebruikt voor het renderen van configuraties om ervoor te zorgen dat uw visualisatie van gegevenskubusassets in Explorer uw gegevens het meest efficiënt leest en weergeeft.

Voordelen van gegevenskubussen die zijn geoptimaliseerd voor de cloud

Optimalisatie van de gegevenskubuscloud verbetert de prestaties van gegevenstoegang, met name voor visualisatiewerkstromen. Wanneer er een Kerchunk-manifest aanwezig is, is het sneller toegankelijk in vergelijking met het laden van het hele gegevenssetbestand.

De Microsoft Planetary Computer Pro Explorer en tiling-API's gebruiken het Kerchunk-manifest voor gegevensleesbewerkingen als er een bestaat in dezelfde blobopslagmap als de oorspronkelijke asset.

Het lezen van gegevens met behulp van een gesegmenteerde benadering op basis van verwijzingen verloopt sneller omdat het hele bestand niet in het geheugen wordt gelezen.

Cloudoptimalisatie voor gegevenskubussen uitschakelen

Als u besluit dat u niet wilt werken met gegevenskubusassets die zijn geoptimaliseerd voor de cloud, schakelt u cloudoptimalisatie uit door data en visual uit de lijst van assets te verwijderen in de JSON van het STAC-item voordat u deze opneemt.

Zarr-invoer en gegevensupdates

Zoals eerder vermeld, is Zarr van nature een cloud-native formaat, dus er vindt geen extra optimalisatie plaats bij het verwerken en er is geen wijziging van de STAC-items nodig. Als u echter van plan bent om uw Zarr-assets dynamisch bij te werken en STAC-items opnieuw op te nemen voor gebruik met de nieuwste versie, moet u rekening houden met twee updatemethoden: Toevoegen en Synchroniseren.

Append

Als u nieuwe gegevens toevoegt aan een lokaal opgeslagen Zarr-archief, maar de versie wilt bijwerken die is opgeslagen in Planetary Computer Pro, moet u het STAC-item opnieuw opnemen. Wanneer dat item opnieuw wordt opgenomen, is het standaardgedrag om de assets voor nieuwe gegevens te controleren en toe te voegen aan de gegevens die zijn opgeslagen in de cloud. Er is geen wijziging van het STAC-item nodig voordat het opnieuw wordt opgenomen.

Synchronisatie

Als u gegevens verwijdert uit een lokaal opgeslagen Zarr-archief, staat het opnieuw opnemen van hetzelfde STAC-item niet toe dat de cloudversie overeenkomt met de versie op uw computer, omdat de toevoegfunctionaliteit zoekt naar nieuwe gegevens, maar niet wordt aangepast op basis van ontbrekende gegevens. Daar komt synchronisatie aan bod. Door het STAC-item te wijzigen zodat het een parameter bevat die aangeeft dat u bestaande gegevens wilt synchroniseren met de nieuwe, en dat gewijzigde STAC-item opnieuw te verwerken, zijn alleen de meest actuele gegevens uit de Zarr-opslag beschikbaar in Planetary Computer Pro. De wijziging van het STAC-item moet er als volgt uitzien:

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