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.
Odbiorcy danych federacji Open ID Connect (OIDC) mogą korzystać z klienta Iceberg REST Catalog (IRC), takiego jak OSS Spark lub Snowflake, aby uzyskać dostęp do udostępnień OpenSharing utworzonych w Azure Databricks.
Jeśli zamiast tego używasz tokenów okaziciela do zarządzania uwierzytelnianiem, zobacz Tworzenie obiektu odbiorcy dla użytkowników spoza Databricks przy użyciu tokenów okaziciela (udostępnianie Databricks do Open).
Ta strona jest przeznaczona dla adresatów. Aby uzyskać informacje o tym, jak dostawcy mogą włączyć federację OIDC dla odbiorców w usłudze Azure Databricks, zobacz Włączanie federacji Open ID Connect (OIDC) dla odbiorców Open Sharing.
Pobierz profil Iceberg dla złączy OAuth
Przejdź do adresu URL portalu profilu OIDC udostępnionego Tobie przez dostawcę Azure Databricks.
Zażądaj adresu URL, jeśli jeszcze go nie odebrano.
Na stronie portalu wybierz udostępnienie, do którego chcesz mieć dostęp, z menu rozwijanego.
Kliknij Pobierz plik.
W pobranym pliku zastąp
clientId,clientSecretiscopewłasnymi wartościami.Użyj wybranej nazwy share jako magazynu w swojej konfiguracji.
Zaimportuj plik profilu udziału do kodu klienta.
Uzyskiwanie dostępu do udostępnionych danych
Uzyskaj dostęp do danych za pomocą dowolnego katalogu REST Iceberg.
Snowflake
W arkuszu Snowflake uruchom następujące polecenie, aby utworzyć integrację katalogową. Możesz również skopiować polecenie SQL z portalu profilu OIDC udostępnionego Ci przez dostawcę. Upewnij się, że wybrałeś udział sieciowy, do którego chcesz uzyskać dostęp.
Zastąp wartości symboli zastępczych przed uruchomieniem:
-
<catalog-integration-name>: Nazwa integracji katalogu. -
<catalog-uri>: Punkt końcowy katalogu REST Iceberg. Znajdź go w portalu profili OIDC lub w pobranym pliku profilu. -
<share-name>: Nazwa udziału, który wybrałeś w portalu profilu OIDC. -
<oauth-token-uri>: punkt końcowy tokenów OAuth Twojego dostawcy tożsamości (IdP). -
<oauth-client-id>i<oauth-client-secret>: Twoje poświadczenia OAuth. -
<oauth-scope>: Zakres protokołu OAuth.
USE ROLE ACCOUNTADMIN;
CREATE OR REPLACE CATALOG INTEGRATION <catalog-integration-name>
CATALOG_SOURCE = ICEBERG_REST
TABLE_FORMAT = ICEBERG
REST_CONFIG = (
CATALOG_URI = '<catalog-uri>'
WAREHOUSE = '<share-name>'
ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
)
REST_AUTHENTICATION = (
TYPE = OAUTH
OAUTH_TOKEN_URI = '<oauth-token-uri>'
OAUTH_CLIENT_ID = '<oauth-client-id>'
OAUTH_CLIENT_SECRET = '<oauth-client-secret>'
OAUTH_ALLOWED_SCOPES = ('<oauth-scope>')
)
REFRESH_INTERVAL_SECONDS = 30 -- Optional
ENABLED = TRUE;
Utwórz połączoną bazę danych korzystającą z integracji katalogu. Zastąp <database-name> nazwą bazy danych.
CREATE DATABASE <database-name>
LINKED_CATALOG = (
CATALOG = <catalog-integration-name>
);
OSS Spark
Poniższy przykład odczytuje współdzielone dane z katalogu REST Iceberg przy użyciu OSS Spark. Uruchom ją z poziomu instalacji platformy Spark, która obejmuje środowisko uruchomieniowe Platformy Iceberg Spark i pakiety JARS platformy AWS.
Zastąp wartości symboli zastępczych przed uruchomieniem:
-
<spark-home>: ścieżka do instalacji platformy Spark. -
<iceberg-jars-path>: Ścieżka do plików JAR Twojego Iceberg. -
<catalog-uri>: Punkt końcowy katalogu Iceberg REST. Znajdź go w portalu profilów OIDC lub w pobranym pliku profilu. -
<share-name>: Nazwa udziału, który wybrałeś w portalu profilu OIDC. -
<oauth-token-uri>: punkt końcowy tokenów OAuth Twojego dostawcy tożsamości (IdP). -
<oauth-client-id>i<oauth-client-secret>: Twoje poświadczenia OAuth. -
<oauth-scope>: Zakres protokołu OAuth. -
<spark-script>: ścieżka do skryptu Scala do uruchomienia.
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 PATH=/usr/lib/jvm/java-17-openjdk-amd64/bin:$PATH <spark-home>/bin/spark-shell \
--jars <iceberg-jars-path>/iceberg-spark-runtime-4.0_2.13-1.10.2.jar,<iceberg-jars-path>/iceberg-aws-bundle-1.10.2.jar \
--conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \
--conf spark.sql.catalog.databricks=org.apache.iceberg.spark.SparkCatalog \
--conf spark.sql.catalog.databricks.type=rest \
--conf spark.sql.catalog.databricks.uri=<catalog-uri> \
--conf spark.sql.catalog.databricks.warehouse=<share-name> \
--conf spark.sql.catalog.databricks.rest.auth.type=oauth2 \
--conf spark.sql.catalog.databricks.oauth2-server-uri=<oauth-token-uri> \
--conf spark.sql.catalog.databricks.credential=<oauth-client-id>:<oauth-client-secret> \
--conf spark.sql.catalog.databricks.scope=<oauth-scope> \
--conf spark.sql.catalog.databricks.io-impl=org.apache.iceberg.aws.s3.S3FileIO \
< <spark-script>