Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jak wspomniano w temacie Obsługiwane typy danych, firma Microsoft Planetary Computer Pro obsługuje pozyskiwanie, optymalizację chmury i wizualizację plików modułów danych w formatach NetCDF, HDF5, Zarr i GRIB2. Chociaż złożone i historycznie kłopotliwe w magazynie lokalnym, te zasoby są zoptymalizowane pod kątem środowisk chmurowych za pomocą Planetary Computer Pro, co dodatkowo zwiększa ich możliwości jako wydajne narzędzia do tworzenia struktury i przechowywania danych wielowymiarowych, takich jak obrazy satelitarne i modele klimatyczne.
Pozyskiwanie kostek danych
Pliki kostki danych można importować do Planetary Computer Pro w taki sam sposób, jak inne typy danych rastrowych. Podobnie jak w przypadku innych formatów dat, zasoby i powiązane elementy Katalogu Zasobów Czasowo-Przestrzennych (STAC) muszą być najpierw przechowywane w usłudze Azure Blob Storage. W przeciwieństwie do innych dwuwymiarowych zasobów rastrowych, przy pozyskiwaniu niektórych formatów przestrzeni danych (NetCDF i HDF5) występuje więcej kroków związanych z optymalizacją dla chmury.
Uwaga / Notatka
Dane GRIB2 są pozyskiwane w taki sam sposób, jak inne dwuwymiarowe dane rastrowe (bez innych kroków optymalizacji chmury), ponieważ są one zasadniczo kolekcją rasterów 2D ze skojarzonym plikiem indeksu, który odwołuje się do danych wydajnie w środowiskach chmury. Podobnie Zarr jest już formatem natywnym dostosowanym do chmury, więc podczas pozyskiwania nie zachodzi żadna optymalizacja.
Optymalizacja chmury modułów danych
Gdy element STAC zawierający zasoby NetCDF lub HDF5 jest pozyskiwany, zasoby są zoptymalizowane pod kątem chmury, a nie przez przekształcenie samych danych, ale raczej przez generowanie plików referencyjnych, które umożliwiają bardziej wydajny dostęp do danych.
Optymalizacja chmury za pośrednictwem manifestów protokołu Kerchunk
W przeciwieństwie do danych rastrowych 2D, które są przekształcane w Cloud Optimized Geotiffs (COGs) podczas wprowadzania do Planetary Computer Pro, zasoby kostki danych są optymalizowane poprzez generowanie plików referencyjnych lub manifestów Kerchunk. Kerchunk to biblioteka języka Python typu open source, która tworzy te manifesty fragmentów lub pliki JSON opisujące strukturę modułu danych i jego fragmentów przy użyciu kluczy fragmentów w stylu Zarr, które są mapowane na zakresy bajtów w oryginalnym pliku, w którym znajdują się te fragmenty. Po wygenerowaniu pliki Kerchunk są przechowywane w magazynie obiektów blob wraz z zasobami, a elementy STAC są wzbogacone o odwołania do tych manifestów, co optymalizuje dostęp do danych w środowiskach chmurowych.
Właściwości elementu STAC wyzwalające optymalizację chmury
W ramach elementów STAC kolekcji następujące warunki muszą być spełnione, aby zasób modułu danych był zoptymalizowany pod kątem chmury:
- Format zasobu jest jednym z następujących typów:
application/netcdfapplication/x-netcdfapplication/x-hdf5
- Zasób ma pole
roles, które zawieradatalubvisualw swojej liście ról.
Jeśli te warunki zostaną spełnione, manifest Kerchunk (assetid-kerchunk.json) jest generowany w magazynie obiektów blob wraz z zasobem.
Uwaga / Notatka
Typapplication/x-hdf formatu zasobu często odpowiada zasobom HDF4. Pozyskiwanie danych przez GeoCatalog nie obsługuje obecnie tworzenia wirtualnych manifestów kerchunk dla HDF4 ze względu na dodatkową złożoność oraz liczne warianty.
Wzbogacanie elementów STAC
Dla każdego zoptymalizowanego zasobu w elemencie STAC dodawane są następujące pola:
-
msft:datacube_converted: true— wskazuje, że zastosowano wzbogacanie. -
cube:dimensions— słownik zawierający listę wymiarów zestawu danych i ich właściwości. -
cube:variables— słownik opisujący zmienne zestawu danych i ich właściwości.
Te zmienne powinny być używane do konfiguracji renderowania, aby zapewnić, że wizualizacja zasobów kostki danych w Eksploratorze odczytuje i renderuje twoje dane najbardziej efektywnie.
Zalety modułów danych zoptymalizowanych pod kątem chmury
Optymalizacja chmury kostki danych zwiększa wydajność dostępu do danych, szczególnie w przypadku procesów wizualizacji. Gdy manifest kerchunk jest obecny, umożliwia szybszy dostęp w porównaniu z ładowaniem całego pliku zestawu danych.
Microsoft Planetary Computer Pro Explorer i API-e do układania preferencyjnie używają manifestu Kerchunk do operacji odczytu danych, jeśli istnieje w tym samym katalogu Blob Storage co oryginalny zasób.
Odczytywanie danych przy użyciu fragmentowanego podejścia opartego na odwołaniach jest szybsze, ponieważ pozwala uniknąć odczytywania całego pliku do pamięci.
Wyłączanie optymalizacji kostki danych w chmurze
Jeśli zdecydujesz, że nie chcesz pracować z zasobami kostek danych zoptymalizowanych pod kątem chmury, wyłącz optymalizację chmury, usuwając data i visual z listy roles w formacie JSON elementu STAC przed załadunkiem.
Zarr pozyskiwanie i aktualizacje danych
Jak wspomniano wcześniej, Zarr jest z natury formatem natywnym dla chmury, więc nie ma dodatkowej optymalizacji podczas pozyskiwania i nie jest konieczna żadna modyfikacja jego elementów STAC. Jeśli jednak planujesz dynamicznie aktualizować zasoby Zarr i ponownie pozyskiwać elementy STAC do pracy z najnowszą wersją, musisz pamiętać o dwóch metodach aktualizacji: Dołączanie i synchronizowanie.
Append
Jeśli dodasz nowe dane do lokalnie przechowywanego magazynu Zarr, ale chcesz zaktualizować wersję przechowywaną w Planetary Computer Pro, musisz ponownie zaimportować element STAC. Po ponownym wczytaniu tego elementu domyślne zachowanie polega na przeglądzie zasobów w poszukiwaniu nowych danych i dodaniu ich do danych przechowywanych w chmurze. Przed ponownym wczytywaniem nie jest konieczna żadna modyfikacja elementu STAC.
Synchronizacja
Jeśli usuniesz dane z lokalnie przechowywanego repozytorium Zarr, ponowne pozyskiwanie tego samego elementu STAC nie pozwoli wersji opartej na chmurze na dopasowanie się do wersji na twojej maszynie. Funkcja dołączania wyszukuje nowe dane, ale nie dostosowuje się do brakujących danych. W tym miejscu następuje synchronizacja . Modyfikując element STAC, aby zawierał parametr wskazujący, że chcesz zsynchronizować istniejące dane z nowymi, i ponownie wczytując ten zmodyfikowany element STAC, w Planetary Computer Pro dostępne są tylko najbardziej aktualne dane z magazynu Zarr. Modyfikacja elementu STAC powinna wyglądać następująco:
{
...
"assets": {
"pr": {
"href": "https://managedstorage.azure.com/collection-container/somestuff/pr.zarr",
"msft:ingestion": {
"directory": "sync"
}
}
}
}