Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Comme mentionné dans les types de données pris en charge, Microsoft Planetary Computer Pro prend en charge l’ingestion, l’optimisation cloud et la visualisation des fichiers de cube de données dans NetCDF, HDF5, Zarr et GRIB2 formats. Bien qu’elles soient complexes et historiquement fastidieuses sur le stockage local, ces ressources sont optimisées pour les environnements cloud avec Planetary Computer Pro, ce qui leur permet de mieux structurer et stocker des données multidimensionnelles telles que des images satellites et des modèles climatiques.
Ingestion de cubes de données
Les fichiers de cube de données peuvent être ingérés dans Planetary Computer Pro de la même façon que d’autres types de données raster. Comme pour les autres formats de date, les ressources et les éléments associés du Spatio Temporal Asset Catalog (STAC) doivent être tout d'abord stockés dans Azure Blob Storage. Contrairement aux autres ressources raster bidimensionnelles, toutefois, d’autres étapes d’optimisation cloud se produisent lors de l’ingestion de certains formats de cube de données (NetCDF et HDF5).
Remarque
Les données GRIB2 sont ingérées de la même façon que les autres données raster bidimensionnelles (sans aucune autre étape d’optimisation cloud), car elles sont essentiellement une collection de rasters 2D avec un fichier d’index associé qui référence les données efficacement dans les environnements cloud. De même, Zarr est déjà un format natif cloud, donc aucune optimisation n’a lieu lors de l’ingestion.
Optimisation cloud des cubes de données
Lorsqu’un élément STAC contenant des ressources NetCDF ou HDF5 est ingéré, les ressources sont optimisées dans le cloud, pas en transformant les données elles-mêmes, mais plutôt en mettant en production des fichiers de référence qui permettent un accès plus efficace aux données.
Optimisation du cloud via des manifestes Kerchunk
Contrairement aux données raster 2D transformées en Cloud Optimized Geotiffs (COG, fichiers GeoTIFF optimisés pour le cloud) lors de l’ingestion dans Planetary Computer Pro, les ressources de cube de données sont optimisées par génération de fichiers de référence ou de manifestes Kerchunk. Kerchunk est une bibliothèque Python open source qui crée ces manifestes de blocs, ou des fichiers JSON qui décrivent la structure du cube de données et ses blocs à l’aide de clés de bloc de style Zarr qui mappent aux plages d’octets dans le fichier d’origine où résident ces blocs. Une fois générés, les fichiers Kerchunk sont stockés dans le stockage d’objets blob en même temps que les ressources, et les éléments STAC sont enrichis pour inclure des références à ces manifestes, en optimisant l’accès aux données pour les environnements cloud.
Propriétés d’élément STAC qui déclenchent l’optimisation cloud
Dans les éléments STAC de la collection, les conditions suivantes doivent être remplies pour qu’une ressource de cube de données soit optimisée dans le cloud :
- Le format de ressource est l’un des types suivants :
application/netcdfapplication/x-netcdfapplication/x-hdf5
- La ressource a un
roleschamp qui inclut soitdatasoitvisualdans sa liste de rôles.
Si ces conditions sont remplies, un manifeste Kerchunk (assetid-kerchunk.json) est généré dans le stockage Blob en même temps que l'actif.
Remarque
Le type de format de ressourceapplication/x-hdf correspond souvent à des ressources HDF4. L’ingestion GeoCatalog ne prend actuellement pas en charge la création de manifestes kerchunk virtuels pour HDF4 en raison de sa complexité supplémentaire et de plusieurs variantes.
Enrichissement d’éléments STAC
Pour chaque ressource optimisée dans l’élément STAC, les champs suivants sont ajoutés :
-
msft:datacube_converted: true: indique que l’enrichissement a été appliqué. -
cube:dimensions: dictionnaire répertoriant les dimensions du jeu de données et leurs propriétés. -
cube:variables: dictionnaire décrivant les variables de jeu de données et leurs propriétés.
Ces variables doivent être utilisées pour les configurations de rendu pour vous assurer que votre visualisation des ressources de cube de données dans l’Explorateur lit et affiche vos données le plus efficacement.
Avantages des cubes de données optimisés dans le cloud
L’optimisation du cloud de cube de données améliore les performances d’accès aux données, en particulier pour les workflows de visualisation. Lorsqu’un manifeste Kerchunk est présent, il permet un accès plus rapide par rapport au chargement de l’intégralité du fichier de jeu de données.
Microsoft Planetary Computer Pro Explorer et les API de mosaïque utilisent de préférence le manifeste Kerchunk pour les opérations de lecture de données s’il existe dans le même répertoire de stockage d’objets blob que la ressource d’origine.
La lecture de données à l’aide d’une approche basée sur des références est plus rapide, car elle évite de lire l’intégralité du fichier en mémoire.
Désactivation de l’optimisation cloud du cube de données
Si vous décidez de ne pas utiliser les ressources de cube de données optimisées dans le cloud, désactivez l’optimisation cloud en supprimant data et visual de la liste roles dans le JSON de l'élément STAC avant ingestion.
Ingestion de Zarr et mises à jour des données
Comme mentionné précédemment, Zarr est intrinsèquement un format natif cloud, donc aucune optimisation supplémentaire ne se produit lors de l’ingestion et aucune modification de ses éléments STAC n’est nécessaire. Toutefois, si vous envisagez de mettre à jour dynamiquement vos ressources Zarr et de reingester les éléments STAC pour fonctionner avec la dernière version, vous devez connaître deux méthodes de mise à jour : Append et Sync.
Append
Si vous ajoutez de nouvelles données à un magasin Zarr stocké localement, mais que vous souhaitez mettre à jour la version stockée dans Planetary Computer Pro, vous devez reingestir l’élément STAC. Lorsque cet élément est réinitéré, le comportement par défaut consiste à passer en revue les ressources des nouvelles données et à l’ajouter aux données stockées dans le cloud. Aucune modification de l’élément STAC n’est nécessaire avant la réingestion.
Synchronisation
Si vous supprimez des données d’un magasin Zarr stocké localement, la réutilisation du même élément STAC n’autorise pas la version basée sur le cloud à correspondre à la version sur votre ordinateur, car la fonctionnalité d’ajout recherche de nouvelles données, mais ne s’ajuste pas en fonction des données manquantes. C’est là que la synchronisation entre en jeu. En modifiant l'élément STAC pour inclure un paramètre indiquant que vous souhaitez synchroniser les données existantes avec les nouvelles, puis en réimportant cet élément STAC modifié, seules les données les plus récentes du magasin Zarr sont disponibles dans Planetary Computer Pro. La modification de l’élément STAC doit apparaître comme suit :
{
...
"assets": {
"pr": {
"href": "https://managedstorage.azure.com/collection-container/somestuff/pr.zarr",
"msft:ingestion": {
"directory": "sync"
}
}
}
}