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 AI Database Serverless, ce qui signifie qu'il n'est pas nécessaire de télécharger le portefeuille et de le conserver dans le stockage d'objets ou la 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é :
Avec la valeur :
spark.oracle.datasource.enabledtrue. 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 :D'autres exemples dans d'autres langages sont disponibles dans la section Exemples de source de données Oracle pour Spark.
val df = spark.read .format("oracle") .option("adbId","autonomous_database_ocid") .option("dbtable", "schema.tablename") .option("user", "username") .option("password", "password") .load()
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 :
| 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 d'intelligence artificielle autonome sans serveur | Lecture/écriture | |
connectionId
|
|
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 de Autonomous AI Database Serverless . | Lecture/écriture |
Note
Les limitations suivantes s'appliquent aux options :
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.Les limitations suivantes s'appliquent aux options :
-
adbIdetwalletUrine peuvent pas être utilisés ensemble. -
connectionIddoit être fournie avecwalletUri, mais est facultative avecadbId. -
adbIdn'est pas prise en charge pour les bases de données avec balayage.
Pour utiliser la source de données Oracle pour Spark avec spark-submit, définissez l'option suivante :
--conf spark.oracle.datasource.enabled: trueSeules les bases de données suivantes sont prises en charge avec adbId :
-
Base de données d'IA 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 d'IA autonome sans serveur
- Base de données autonome d'infrastructure dédiée, avec infrastructure Exadata.
- Infrastructure dédiée pour le traitement des transactions par IA autonome
- 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.