Source de données Oracle pour Spark

La source de données Oracle pour Spark est une extension de la source de données JDBC fournie par Spark.

La source de données Oracle pour Spark est une extension de la source de données JDBC pour Spark. Elle simplifie la connexion aux bases de données Oracle à partir de Spark. En plus de toutes les options fournies par la source de données JDBC pour Spark, la source de données Oracle pour Spark simplifie la connexion des bases de données Oracle à partir de Spark comme suit :
  • Un portefeuille à téléchargement automatique à partir d'Autonomous Database Serverless, ce qui signifie qu'il n'est pas nécessaire de télécharger le portefeuille et de le conserver dans le service de stockage d'objets ou de chambre forte.
  • Elle distribue automatiquement l'ensemble de portefeuille du service Stockage d'objets au pilote et à l'exécuteur sans code personnalisé fourni par fom users.
  • Elle inclut les fichiers JAR du pilote JDBC, ce qui évite d'avoir à les télécharger et à les inclure dans votre fichier archive.zip. La version du pilote JDBC est 21.3.0.0.

Utiliser une source de données Oracle pour Spark

Vous pouvez utiliser cette source de données dans le service de flux de données de deux façons.

  • Dans la section Options avancées, lors de la création, de la modification ou de l'exécution d'une application, ajoutez la clé :
    spark.oracle.datasource.enabled
    Avec la valeur : true. Pour plus d'informations, voir la section Créer des applications.
  • Utilisez le format de source de données Oracle pour Spark. Par exemple, dans Scala :
    val df = spark.read
      .format("oracle")
      .option("adbId","autonomous_database_ocid")
      .option("dbtable", "schema.tablename")
      .option("user", "username")
      .option("password", "password")
      .load()
    D'autres exemples dans d'autres langages sont disponibles dans la section Exemples de source de données Oracle pour Spark.
Les trois propriétés suivantes sont disponibles avec la source de données Oracle, en plus des propriétés fournies par la source de données JDBC pour Spark :
Propriétés de la source de données Oracle
Nom de la propriété Paramètre par défaut Description Portée
walletUri URL compatible avec le service Stockage d'objets ou HDFS. Contient le fichier ZIP du portefeuille Oracle requis pour les connexions mTLS à une base de données Oracle. Pour plus d'informations sur l'utilisation d'Oracle Wallet, voir Voir les noms TNS et les chaînes de connexion pour une base de données Autonomous Database sans serveur Lecture/écriture
connectionId
  • Facultatif avec adbld, <database_name>_medium dans tnsnames.ora.
  • Obligatoire avec l'option walletUri.
Alias de l'identificateur de connexion du fichier tnsnames.ora, faisant partie du portefeuille Oracle. Pour plus d'informations, voir Aperçu des paramètres d'attribution de nom locaux et Glossaire dans les informations de référence sur Oracle Database Net Services. Lecture/écriture
adbId OCID de la base de données autonome Oracle. Pour plus d'informations, voir Aperçu d'Autonomous Database sans serveur. Lecture/écriture
Note

Les limitations suivantes s'appliquent aux options :
  • adbId et walletUri ne peuvent pas être utilisés ensemble.
  • connectionId doit être fournie avec walletUri, mais est facultative avec adbId.
  • adbId n'est pas prise en charge pour les bases de données avec balayage.
Vous pouvez utiliser la source de données Oracle pour Spark dans le service de flux de données avec Spark versions 3.0.2 et ultérieures.
Pour utiliser la source de données Oracle pour Spark avec spark-submit, définissez l'option suivante :
--conf spark.oracle.datasource.enabled: true
Seules les bases de données suivantes sont prises en charge avec adbId :
  • Base de données autonome sans serveur
    Note

    Si vous disposez de cette base de données dans un sous-réseau privé d'un VCN, utilisez un réseau privé pour ajouter le nom de domaine complet du point d'extrémité privé de la base de données autonome à une liste d'autorisation.
Les bases de données suivantes peuvent être utilisées avec l'option walletUri :
  • Base de données autonome sans serveur
  • Base de données autonome d'infrastructure dédiée, avec infrastructure Exadata.
  • Autonomous Transaction Processing - Infrastructure dédiée
  • Base de données Oracle sur place, accessible à partir du réseau du service de flux de données, au moyen d'une connexion rapide ou d'un RPV site à site.