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 zum automatischen Herunterladen von Autonomous AI Database Serverless. Das heißt, dass das Wallet nicht heruntergeladen und in Object Storage oder Vault aufbewahrt werden muss.
- 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 im Abschnitt "Erweiterte Optionen" beim Erstellen, Bearbeiten oder Ausführen einer Anwendung den folgenden Schlüssel auf:
mit dem Wert:
spark.oracle.datasource.enabledtrue. 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 eine serverlose autonome KI-Datenbank 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 Überblick über Autonomous AI Database Serverless. | 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:
-
adbIdundwalletUrikönnen nicht zusammen verwendet werden. -
connectionIdmuss beiwalletUriangegeben werden, ist beiadbIdjedoch optional. -
adbIdwird 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: trueDie folgenden Datenbanken werden nur mit adbId unterstützt:
-
autonome KI-Datenbank serverlos
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:- autonome KI-Datenbank serverlos
- Datenbank der autonomen dedizierten Infrastruktur, einschließlich Exadata-Infrastruktur.
- Dedizierte Infrastruktur für die Verarbeitung von Transaktionen durch autonome KI
- On-Premises-Oracle-Datenbank, auf die über das Netzwerk von Data Flow zugegriffen werden kann, entweder über Fastconnect oder Site-to-Site-VPN.