Odczytywanie tabel usługi Delta Lake (usługa Synapse lub lokalizacja zewnętrzna)
Uwaga
Wycofamy usługę Azure HDInsight w usłudze AKS 31 stycznia 2025 r. Przed 31 stycznia 2025 r. należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure, aby uniknąć nagłego zakończenia obciążeń. Pozostałe klastry w ramach subskrypcji zostaną zatrzymane i usunięte z hosta.
Tylko podstawowa pomoc techniczna będzie dostępna do daty wycofania.
Ważne
Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure obejmują więcej warunków prawnych, które dotyczą funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje o tej konkretnej wersji zapoznawczej, zobacz Informacje o wersji zapoznawczej usługi Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie w usłudze AskHDInsight , aby uzyskać szczegółowe informacje i postępuj zgodnie z nami, aby uzyskać więcej aktualizacji w społeczności usługi Azure HDInsight.
Ten artykuł zawiera omówienie sposobu odczytywania tabeli usługi Delta Lake bez dostępu publicznego do magazynu metadanych (Synapse lub innych magazynów metadanych).
Następujące operacje można wykonać w tabelach przy użyciu rozwiązania Trino z usługą HDInsight w usłudze AKS.
- DELETE
- UPDATE
- INSERT
- POŁĄCZYĆ
Wymagania wstępne
- Konfigurowanie wykazu usługi Delta Lake.
Tworzenie schematów i tabel usługi Delta Lake
W tej sekcji pokazano, jak utworzyć tabelę delty w istniejącej lokalizacji, jeśli masz już skonfigurowany wykaz usługi Delta Lake.
Przeglądaj konto magazynu przy użyciu witryny
Storage browser
Azure Portal, w której znajduje się katalog podstawowy tabeli. Jeśli ta tabela pochodzi z usługi Synapse, prawdopodobnie znajduje się ona wsynapse/workspaces/.../warehouse/
ścieżce i będzie mieć nazwę po tabeli i zawiera_delta_log
katalog. WybierzCopy URL
z trzech kropek znajdujących się obok folderu.Musisz przekonwertować tę ścieżkę http na ścieżkę ABFS (system plików obiektów blob platformy Azure):
Ścieżka http magazynu ma następującą strukturę:
https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/
Ścieżki ABFS muszą wyglądać następująco:
abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/
Przykład:
abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/
Utwórz schemat usługi Delta Lake w trino.
CREATE SCHEMA delta.default;
Alternatywnie można również utworzyć schemat na określonym koncie magazynu:
CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
register_table
Użyj procedury , aby utworzyć tabelę.CALL delta.system.register_table(schema_name => 'default', table_name => 'table_name', table_location => 'abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/');
Wykonaj zapytanie względem tabeli, aby zweryfikować.
SELECT * FROM delta.default.table_name
Pisanie tabel usługi Delta Lake na platformie Synapse Spark
Służy format("delta")
do zapisywania ramki danych jako tabeli delty, a następnie możesz użyć ścieżki, w której zapisano ramkę danych jako format różnicowy, aby zarejestrować tabelę w Trino.
my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")