Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie bevindt zich in openbare preview-versie.
Op deze pagina wordt beschreven hoe u Lakehouse Federation instelt voor het uitvoeren van federatieve query's op Oracle-gegevens die niet worden beheerd door Azure Databricks. Zie Wat is Lakehouse Federation voor meer informatie over Lakehouse Federation?
Als u verbinding wilt maken met uw Oracle-database met behulp van Lakehouse Federation, moet u het volgende maken in uw Azure Databricks Unity Catalog-metastore:
- Een verbinding met uw Oracle-database.
- Een externe catalogus die uw Oracle-database in Unity Catalog weerspiegelt, zodat u de syntaxis van Unity Catalog-query's en hulpprogramma's voor gegevensbeheer kunt gebruiken om Azure Databricks-gebruikertoegang tot de database te beheren.
Licentie
Het Oracle-stuurprogramma, samen met eventuele andere benodigde Oracle-JAR-bestanden, vallen onder de FDHUT-licentie zonder doorklikvereiste.
Voordat u begint
Voordat u begint, moet u ervoor zorgen dat u voldoet aan de vereisten in deze sectie.
Vereisten voor Databricks
Vereisten voor werkruimte:
- Werkruimte geactiveerd voor Unity Catalog.
Rekenvereisten:
- Netwerkconnectiviteit van uw rekenresource naar de doeldatabasesystemen. Zie Netwerkaanbevelingen voor Lakehouse Federation.
- Azure Databricks Compute moet gebruikmaken van Databricks Runtime 16.1 of hoger en de standaard - of toegewezen toegangsmodus.
- SQL-warehouses moeten pro of serverloos zijn en moeten 2024.50 of hoger gebruiken.
Vereiste toestemmingen:
- Als u een verbinding wilt maken, moet u een metastore-beheerder of een gebruiker zijn met de
CREATE CONNECTION
bevoegdheid voor de Unity Catalog-metastore die is gekoppeld aan de werkruimte. - Als u een buitenlandse catalogus wilt maken, moet u de machtiging
CREATE CATALOG
hebben voor de metastore en ofwel de eigenaar van de verbinding zijn of het privilegeCREATE FOREIGN CATALOG
voor de verbinding hebben.
Aanvullende machtigingsvereisten worden opgegeven in elke sectie op basis van taken die volgt.
Oracle-vereisten
- Systeemeigen netwerkversleuteling aan de serverzijde ingeschakeld (
ACCEPTED
niveau ten minste). Zie Het configureren van Network Data Encryption in de Oracle-documentatie.
Een Azure Databricks-verbinding maken
Een verbinding geeft een pad en referenties op voor toegang tot een extern databasesysteem. Als u een verbinding wilt maken, kunt u Catalog Explorer of de CREATE CONNECTION
SQL-opdracht gebruiken in een Azure Databricks-notebook of de Databricks SQL-queryeditor.
Notitie
U kunt ook de Databricks REST API of de Databricks CLI gebruiken om een verbinding te maken. Zie POST /api/2.1/unity-catalog/connections en Unity Catalog-opdrachten.
vereiste machtigingen: Metastore-beheerder of gebruiker met de CREATE CONNECTION
-bevoegdheid.
Catalogusverkenner
- Klik in de Azure Databricks-werkruimte op
Catalogus.
- Vouw in het linkerdeelvenster het menu Externe gegevens uit en selecteer Verbindingen.
- Klik op Verbinding maken.
- Voer op de pagina Verbindingsbeginselen van de wizard Verbinding instellen een gebruiksvriendelijke verbindingsnaam in.
- Selecteer een verbindingstype van Oracle.
- (Optioneel) Voeg een opmerking toe.
- Klik op Volgende.
- Voer op de pagina Authentication het volgende in voor het Oracle-exemplaar:
-
Host: bijvoorbeeld
oracle-demo.123456.rds.amazonaws.com
-
poort: bijvoorbeeld
1521
-
Gebruiker: bijvoorbeeld
oracle_user
-
wachtwoord: bijvoorbeeld
password123
-
Host: bijvoorbeeld
- Klik op Verbinding maken.
- Voer op de basics catalogus pagina een naam in voor de buitenlandse catalogus. Een refererende catalogus spiegelt een database in een extern gegevenssysteem, zodat u de toegang tot gegevens in die database kunt opvragen en beheren met behulp van Azure Databricks en Unity Catalog.
- (Optioneel) Klik op Verbinding testen om te bevestigen dat deze werkt.
- Klik op Catalogus maken.
- Selecteer op de pagina Access de werkruimten waarin gebruikers toegang hebben tot de catalogus die u hebt gemaakt. U kunt Alle werkruimten hebben toegang of klik op Toewijzen aan werkruimten, de werkruimten selecteren en vervolgens op Toewijzen klikken.
- Wijzig de Eigenaar die de toegang tot alle objecten in de catalogus kan beheren. Begin met het typen van een principe in het tekstvak en klik vervolgens op het principe in de weergegeven resultaten.
- Verleent rechten aan de catalogus. Klik op Verlenen:
- Geef de Principals op die toegang hebben tot objecten in de catalogus. Begin met het typen van een principe in het tekstvak en klik vervolgens op het principe in de weergegeven resultaten.
- Selecteer de vooraf ingestelde Bevoegdheden om aan elke principal toe te kennen. Alle accountgebruikers krijgen standaard
BROWSE
toegekend.- Selecteer Gegevenslezer in de vervolgkeuzelijst om
read
bevoegdheden te verlenen voor objecten in de catalogus. - Selecteer Gegevenseditor in de vervolgkeuzelijst om
read
enmodify
bevoegdheden voor objecten in de catalogus toe te kennen. - Selecteer handmatig de bevoegdheden die u wilt verlenen.
- Selecteer Gegevenslezer in de vervolgkeuzelijst om
- Klik op Toestaan.
- Klik op Volgende.
- Op de pagina Metagegevens, geef sleutel-waardeparen voor tags op. Zie Tags toepassen op beveiligbare objecten van Unity Catalogvoor meer informatie.
- (Optioneel) Voeg een opmerking toe.
- Klik op Opslaan.
SQL
Voer de volgende opdracht uit in een notebook of de Sql-queryeditor van Databricks:
CREATE CONNECTION <connection-name> TYPE oracle
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
Databricks raadt u aan Azure Databricks geheimen te gebruiken in plaats van tekenreeksen zonder opmaak voor gevoelige waarden, zoals referenties. Bijvoorbeeld:
CREATE CONNECTION <connection-name> TYPE oracle
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
Als u tekenreeksen zonder opmaak moet gebruiken in SQL-opdrachten in notebooks, vermijd het afkappen van de tekenreeks door speciale tekens zoals $
te escapen met \
. Bijvoorbeeld: \$
.
Zie Geheimbeheervoor informatie over het instellen van geheimen.
Een buitenlandse catalogus maken
Notitie
Als u de gebruikersinterface gebruikt om een verbinding met de gegevensbron te maken, is de creatie van een vreemde catalogus inbegrepen en kunt u deze stap overslaan.
Een refererende catalogus spiegelt een database in een extern gegevenssysteem, zodat u de toegang tot gegevens in die database kunt opvragen en beheren met behulp van Azure Databricks en Unity Catalog. Om een buitenlandse catalogus te maken, gebruikt u een verbinding met de gegevensbron die al is gedefinieerd.
Als u een externe catalogus wilt maken, kunt u de Catalog Explorer of de CREATE FOREIGN CATALOG
SQL-opdracht gebruiken in een Azure Databricks-notebook of in de SQL-queryeditor. U kunt ook de Databricks REST API of de Databricks CLI gebruiken om een catalogus te maken. Zie POST /api/2.1/unity-catalog/catalogs en Unity Catalog-opdrachten.
Vereiste machtigingen:CREATE CATALOG
machtiging voor de metastore en eigendom van de verbinding of de CREATE FOREIGN CATALOG
bevoegdheid op de verbinding.
Catalogusverkenner
Klik in de Azure Databricks-werkruimte op
Catalogus om Catalog Explorer te openen.
Klik boven aan het deelvenster Catalogus op het pictogram
pictogram Toevoegen en selecteer Een catalogus toevoegen in het menu.
U kunt ook op de pagina Snelle toegang op de knop Catalogi klikken en vervolgens op de knop Catalogus maken klikken.
Volg de instructies voor het maken van buitenlandse catalogi in Catalogi maken.
SQL
Voer de volgende SQL-opdracht uit in een notebook of SQL-queryeditor. Items tussen haakjes zijn optioneel. Vervang de waarden van de tijdelijke aanduidingen:
-
<catalog-name>
: naam voor de catalogus in Azure Databricks. -
<connection-name>
: het verbindingsobject waarmee de gegevensbron, het pad en de toegangsreferenties worden opgegeven. -
<service-name>
: servicenaam dat u wilt spiegelen in een catalogus in Azure Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (service_name '<service-name>');
Ondersteunde pushdowns
De volgende pushdowns worden ondersteund:
- Filteren
- Prognoses
- Grens
- Aggregaten
- Compensatie
- Rolbezetting
- Bevat, Begint met, Eindigt met
Toewijzingen van gegevenstypen
Wanneer u gegevens leest van Oracle naar Spark, worden gegevenstypen als volgt toegewezen:
Orakeltype | Sparktype |
---|---|
Tijdstempel met TIMEZONE, Tijdstempel met lokaal TIMEZONE | Tijdstempeltype |
DATUM, TIJDSTEMPEL | TimestampType/TimestampNTZType* |
GETAL, KOMMAGETAL | DecimaalType |
Binaire Float | Drijftype |
BINAIR DUBBEL | DoubleType |
CHAR, NCHAR, VARCHAR2, NVARCHAR2 | Stringtype |
- DATE en TIMESTAMP worden toegewezen aan Spark TimestampType wanneer
spark.sql.timestampType = TIMESTAMP_LTZ
(standaardinstelling) is gebruikt. Ze worden toegewezen aan TimestampNTZType alsspark.sql.timestampType = TIMESTAMP_NTZ
.