Spark-Oracle-Datenquelle
Die Spark-Oracle-Datenquelle ist die Erweiterung der von Spark bereitgestellten JDBC-Datenquelle.
Die Spark-Oracle-Datenquelle ist eine Erweiterung der Spark-JDBC-Datenquelle. Sie vereinfacht das Herstellen von Verbindungen zu Oracle-Datenbanken von Spark. Zusätzlich zu allen Optionen, die von der Spark-JDBC-Datenquelle bereitgestellt werden, vereinfacht die Spark-Oracle-Datenquelle das Herstellen von Verbindungen zu Oracle-Datenbanken von Spark, indem Folgendes bereitgestellt wird:
- Ein Wallet, das automatisch von Autonomous Database Serverless heruntergeladen wird. Das Wallet muss also nicht heruntergeladen und im Object Storage oder Vault gespeichert werden.
- Sie verteilt das Wallet Bundle aus Object Storage automatisch an den Treiber und den Executor, ohne benutzerdefinierten Code von Benutzern.
- Sie enthält JAR-Dateien des JDBC-Treibers. Daher müssen diese nicht heruntergeladen und in die
archive.zip
-Datei aufgenommen werden. Der JDBC-Treiber ist Version 21.3.0.0.
Spark-Oracle-Datenquelle verwenden
Sie können diese Datenquelle in Data Flow auf zwei Arten verwenden.
- Nehmen Sie beim Erstellen, Bearbeiten oder Ausführen einer Anwendung im Abschnitt "Erweiterte Optionen" den folgenden Schlüssel auf:
mit dem Wert:
spark.oracle.datasource.enabled
true
. Weitere Informationen finden Sie unter Anwendungen erstellen. - Verwenden Sie das Oracle-Spark-Datenquellenformat. Zum Beispiel in Scala:Weitere Beispiele in anderen Sprachen finden Sie im Abschnitt Beispiele für Spark-Oracle-Datenquellen.
val df = spark.read .format("oracle") .option("adbId","autonomous_database_ocid") .option("dbtable", "schema.tablename") .option("user", "username") .option("password", "password") .load()
Die folgenden drei Eigenschaften sind mit der Oracle-Datenquelle zusätzlich zu den von der Spark-JDBC-Datenquelle bereitgestellten Eigenschaften verfügbar:
Name der Eigenschaft | Standardeinstellung | Beschreibung | Gültigkeitsbereich |
---|---|---|---|
walletUri |
Eine Object Storage- oder HDFS-kompatible URL. Sie enthält die ZIP-Datei des Oracle-Wallets, das für mTLS-Verbindungen zu einer Oracle-Datenbank erforderlich ist. Weitere Informationen zur Verwendung von Oracle Wallet finden Sie unter TNS-Namen und Verbindungszeichenfolgen für Autonomous Database Serverless anzeigen | Lesen/Schreiben | |
connectionId |
|
Der Verbindungs-ID-Alias aus der Datei tnsnames.ora als Teil des Oracle-Wallets. Weitere Informationen finden Sie unter Überblick über lokale Benennungsparameter und Glossar in der Oracle Database Net Services-Referenz. | Lesen/Schreiben |
adbId |
Die OCID der autonomen Oracle-Datenbank. Weitere Informationen finden Sie unter Autonomous Database Serverless - Überblick. | Lesen/Schreiben |
Hinweis
Für die Optionen gelten die folgenden Einschränkungen:
Sie können die Spark-Oracle-Datenquelle in Data Flow mit Spark 3.0.2 und späteren Versionen verwenden.Für die Optionen gelten die folgenden Einschränkungen:
adbId
undwalletUri
können nicht zusammen verwendet werden.connectionId
muss beiwalletUri
angegeben werden, ist beiadbId
jedoch optional.adbId
wird für Datenbanken mit Scan nicht unterstützt.
Um die Spark-Oracle-Datenquelle mit Spark-Submit zu verwenden, legen Sie die folgende Option fest:
--conf spark.oracle.datasource.enabled: true
Die folgenden Datenbanken werden nur mit adbId unterstützt:
- Autonomous Database Serverless
Hinweis
Wenn sich diese Datenbank in einem privaten VCN-Subnetz befindet, verwenden Sie ein privates Netzwerk, um der Ausnahmeliste den vollqualifizierten Domainnamen des privaten Endpunkts der autonomen Datenbank hinzuzufügen.
Die folgenden Datenbanken können mit der Option
walletUri
verwendet werden:- Autonomous Database Serverless
- Datenbank der autonomen dedizierten Infrastruktur, einschließlich Exadata-Infrastruktur.
- Autonomous Transaction Processing - Dedizierte Infrastruktur
- On-Premises-Oracle-Datenbank, auf die über das Netzwerk von Data Flow zugegriffen werden kann, entweder über Fastconnect oder Site-to-Site-VPN.