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:
    spark.oracle.datasource.enabled
    mit dem Wert: true. Weitere Informationen finden Sie unter Anwendungen erstellen.
  • Verwenden Sie das Oracle-Spark-Datenquellenformat. Zum Beispiel in Scala:
    val df = spark.read
      .format("oracle")
      .option("adbId","autonomous_database_ocid")
      .option("dbtable", "schema.tablename")
      .option("user", "username")
      .option("password", "password")
      .load()
    Weitere Beispiele in anderen Sprachen finden Sie im Abschnitt Beispiele für Spark-Oracle-Datenquellen.
Die folgenden drei Eigenschaften sind mit der Oracle-Datenquelle zusätzlich zu den von der Spark-JDBC-Datenquelle bereitgestellten Eigenschaften verfügbar:
Oracle-Datenquelleneigenschaften
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
  • Optional mit adbld, <database_name>_medium von tnsnames.ora.
  • Bei Option walletUri erforderlich.
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:
  • adbId und walletUri können nicht zusammen verwendet werden.
  • connectionId muss bei walletUri angegeben werden, ist bei adbId jedoch optional.
  • adbId wird für Datenbanken mit Scan nicht unterstützt.
Sie können die Spark-Oracle-Datenquelle in Data Flow mit Spark 3.0.2 und späteren Versionen verwenden.
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:
  • 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.