Exemples de source de données Oracle Spark
Exemples d'utilisation d'une source de données Oracle Spark avec Data Flow.
Voici des exemples pour Java, Python, Scala et SQL, ils utilisent une bibliothèque Oracle : Pour obtenir des exemples de travail complets, reportez-vous à Exemples Oracle Data Flow sur GitHub.
Exemples Java
Exemple de code pour une source de données Oracle Spark avec Java.
Chargement de données à partir d'Autonomous Database Serverless au niveau du compartiment racine :
// Loading data from Autonomous Database Serverless at root compartment.
// Note you don't have to provide driver class name and jdbc url.
Dataset<Row> oracleDF = spark.read()
.format("oracle")
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>")
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.load();
Chargement de données à partir d'Autonomous Database Serverless et remplacement du nom de service réseau :
// Loading data from Autonomous Database Serverless overriding net service name.
// Note using map for configuration/options.Map can be mutable or immutable.
Map<String, String> options = new HashMap<String, String>();
options.put("adbId", "ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>");
options.put("connectionId", "database_high");
options.put("user", "username");
options.put("password", "password");
options.put("dbtable", "schema.tablename");
Dataset<Row> oracleDF1 = spark.read()
.format("oracle")
.options(options)
.load()
Chargement de données à partir d'une base de données Oracle à l'aide d'un portefeuille dans Object Storage :
// Loading data from oracle database with wallet from oci object storage.
Dataset<Row> oracleDF2 = spark.read()
.format("oracle")
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip")
.option("connectionId","database_medium")
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.load()
Chargement de données à partir d'une base de données Oracle à l'aide d'un portefeuille dans Object Storage et connexion automatique activée dans le portefeuille. Aucun nom utilisateur ni mot de passe n'est requis :
// Loading data from oracle database with wallet from oci object storage and auto-login enabled in wallet, no username and password required.
Dataset<Row> oracleDF2 = spark.read()
.format("oracle")
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip")
.option("connectionId","database_medium")
.option("dbtable", "schema.tablename")
.load()
Enregistrement de données dans Autonomous Database Serverless au niveau du compartiment racine :
// Saving data to Autonomous Database Serverless at root compartment.
oracleDF.write
.format("oracle")
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>")
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.save()
Enregistrement de données dans Autonomous Database Serverless au niveau du compartiment racine et remplacement du nom de service réseau :
// Saving data to Autonomous Database Serverless at root compartment overriding net service name.
oracleDF.write
.format("oracle")
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>")
.option("connectionId","database_low)
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.save()
Enregistrement de données dans une base de données Oracle à l'aide d'un portefeuille dans Object Storage :
// Saving data to oracle database with wallet from object storage.
oracleDF.write
.format("oracle")
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip"
.option("connectionId","database_low)
.option("user", "username")
.option("password", "password")
.save()
Exemples Python
Exemple de code pour une source de données Oracle Spark avec Python.
Chargement de données à partir d'Autonomous Database Serverless au niveau du compartiment racine :
// Loading data from Autonomous Database Serverless at root compartment.
// Note you don't have to provide driver class name and jdbc url.
oracle_df = spark.read \
.format("oracle") \
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>") \
.option("dbtable", "schema.tablename") \
.option("user", "username") \
.option("password", "password") \
.load()
Chargement de données à partir d'Autonomous Database Serverless et remplacement du nom de service réseau :
// Loading data from Autonomous Database Serverless overriding net service name.
// Note using map for configuration/options.Map can be mutable or immutable.
properties = {"adbId":"ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>","dbtable":"schema.tablename","connectionId":"database_high","user":"username","password":"password"}
oracle_df1 = spark.read \
.format("oracle") \
.options(**properties) \
.load()
Chargement de données à partir d'une base de données Oracle à l'aide d'un portefeuille dans Object Storage :
// Loading data from oracle database with wallet from oci object storage.
oracle_df2 = spark.read \
.format("oracle") \
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip") \
.option("connectionId","database_medium") \
.option("dbtable", "schema.tablename") \
.option("user", "username") \
.option("password", "password") \
.load()
Chargement de données à partir d'une base de données Oracle à l'aide d'un portefeuille dans Object Storage et connexion automatique activée dans le portefeuille. Aucun nom utilisateur ni mot de passe n'est requis :
// Loading data from oracle database with wallet from oci object storage and auto-login enabled in wallet, no username and password required.
oracle_df2 = spark.read \
.format("oracle") \
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip") \
.option("connectionId","database_medium") \
.option("dbtable", "schema.tablename") \
.load()
Enregistrement de données dans Autonomous Database Serverless au niveau du compartiment racine :
// Saving data to Autonomous Database Serverless at root compartment.
oracle_df.write \
.format("oracle") \
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>") \
.option("dbtable", "schema.tablename") \
.option("user", "username") \
.option("password", "password") \
.save()
Enregistrement de données dans Autonomous Database Serverless au niveau du compartiment racine et remplacement du nom de service réseau :
// Saving data to Autonomous Database Serverless at root compartment overriding net service name.
oracle_df.write \
.format("oracle") \
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>") \
.option("connectionId","database_low) \
.option("dbtable", "schema.tablename") \
.option("user", "username") \
.option("password", "password") \
.save()
Enregistrement de données dans une base de données Oracle à l'aide d'un portefeuille dans Object Storage :
// Saving data to oracle database with wallet from object storage.
oracle_df.write \
.format("oracle") \
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip") \
.option("connectionId","database_medium") \
.option("dbtable", "schema.tablename") \
.option("user", "username") \
.option("password", "password") \
.save()
Exemples Scala
Exemple de code pour une source de données Oracle Spark avec Scala.
Chargement de données à partir d'Autonomous Database Serverless au niveau du compartiment racine :
// Loading data from Autonomous Database Serverless at root compartment.
// Note you don't have to provide driver class name and jdbc url.
val oracleDF = spark.read
.format("oracle")
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>")
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.load()
Chargement de données à partir d'Autonomous Database Serverless et remplacement du nom de service réseau :
// Loading data from Autonomous Database Serverless overriding net service name.
// Note using map for configuration/options.Map can be mutable or immutable.
var options = Map[String, String]()
options += ("adbId" -> "ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>", "connectionId" -> "database_high", "dbtable" -> "schema.tablename", "user"-> "username", "password" ->"password")
val oracleDF1 = spark.read
.format("oracle")
.options(options)
.load()
Chargement de données à partir d'une base de données Oracle à l'aide d'un portefeuille dans Object Storage :
// Loading data from oracle database with wallet from oci object storage.
val oracleDF2 = spark.read
.format("oracle")
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip")
.option("connectionId","database_medium")
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.load()
Chargement de données à partir d'une base de données Oracle à l'aide d'un portefeuille dans Object Storage et connexion automatique activée dans le portefeuille. Aucun nom utilisateur ni mot de passe n'est requis :
// Loading data from oracle database with wallet from oci object storage and auto-login enabled in wallet, no username and password required.
val oracleDF2 = spark.read
.format("oracle")
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip")
.option("connectionId","database_medium")
.option("dbtable", "schema.tablename")
.load()
Enregistrement de données dans Autonomous Database Serverless au niveau du compartiment racine :
// Saving data to Autonomous Database Serverless at root compartment.
oracleDF.write
.format("oracle")
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>")
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.save()
Enregistrement de données dans Autonomous Database Serverless au niveau du compartiment racine et remplacement du nom de service réseau :
// Saving data to autonomous database at root compartment overriding net service name.
oracleDF.write
.format("oracle")
.option("adbId","ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>")
.option("connectionId","database_low)
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.save()
Enregistrement de données dans une base de données Oracle à l'aide d'un portefeuille dans Object Storage :
// Saving data to oracle database with wallet from object storage.
oracleDF.write
.format("oracle")
.option("walletUri","oci://<bucket>@<namespace>/Wallet_DATABASE.zip"
.option("connectionId","database_low)
.option("user", "username")
.option("password", "password")
.save()
Exemples SQL
Exemple de code pour une source de données Oracle Spark avec SQL.
Chargement de données à partir d'Autonomous Database Serverless au niveau du compartiment racine :
-- Loading data from Autonomous Database Serverless at root compartment.
CREATE TEMPORARY VIEW oracle_db
USING oracle
OPTIONS (
adbId "ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>",
dbtable "schema.tablename",
user "uname",
password "pwd"
);
SELECT count(*) FROM oracle_db;
DROP TABLE oracle_db;
Chargement de données à partir d'Autonomous Database Serverless et remplacement du nom de service réseau :
-- Loading data from Autonomous Database Serverless overriding net service name.
CREATE TEMPORARY VIEW oracle_db1
USING oracle
OPTIONS (
adbId "ocid1.autonomousdatabase.<REALM>.[REGION][.FUTURE USE].<UNIQUE ID>",
connectionId "database_high",
dbtable "schema.tablename",
user "uname",
password "pwd"
);
SELECT count(*) FROM oracle_db1;
DROP TABLE oracle_db1;
Chargement de données à partir d'une base de données Oracle à l'aide d'un portefeuille dans Object Storage :
-- Loading data from oracle database with wallet from object storage.
CREATE TEMPORARY VIEW oracle_db1
USING oracle
OPTIONS (
walletUri "oci://<bucket>@<namespace>/Wallet_DATABASE.zip",
connectionId "database_high",
dbtable "schema.tablename",
user "uname",
password "pwd"
);
SELECT count(*) FROM oracle_db1;
DROP TABLE oracle_db1;
Chargement de données à partir d'une base de données Oracle à l'aide d'un portefeuille dans Object Storage et connexion automatique activée dans le portefeuille. Aucun nom utilisateur ni mot de passe n'est requis :
-- Loading data from oracle database with wallet from oci object storage and auto-login enabled in wallet, no username and password required.
CREATE TEMPORARY VIEW oracle_db2
USING oracle
OPTIONS (
walletUri "oci://<bucket>@<namespace>/Wallet_DATABASE.zip",
connectionId "database_high",
dbtable "schema.tablename"
);
SELECT count(*) FROM oracle_db2;
DROP TABLE oracle_db2;