Spark-Oracle-Datenquellenbeispiele
Beispiele für die Verwendung der Spark-Oracle-Datenquelle mit Data Flow.
Hier finden Sie jeweils Beispiele für Java, Python, Scala und SQL, die eine Oracle-Bibliothek verwenden: Vollständige Anwendungsbeispiele finden Sie unter Oracle Data Flow-Beispiele auf GitHub.
Java-Beispiele
Beispielcode für die Spark-Oracle-Datenquelle mit Java.
Daten aus Autonomous Database Serverless im Root Compartment laden:
// 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();
Daten aus Autonomous Database Serverless laden und Net Service-Namen überschreiben:
// 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()
Daten aus einer Oracle-Datenbank mit einem Wallet aus Object Storage laden:
// 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()
Daten mit einem Wallet aus Object Storage aus einer Oracle-Datenbank laden und die automatische Anmeldung im Wallet aktivieren. Ein Benutzername oder Kennwort sind nicht erforderlich:
// 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()
Daten in Autonomous Database Serverless im Root Compartment speichern:
// 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()
Daten in Autonomous Database Serverless im Root Compartment speichern und den Net Service-Namen überschreiben:
// 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()
Daten mit einem Wallet aus Object Storage in einer Oracle-Datenbank speichern:
// 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()
Python-Beispiele
Beispielcode für die Spark-Oracle-Datenquelle mit Python.
Daten aus Autonomous Database Serverless im Root Compartment laden:
// 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()
Daten aus Autonomous Database Serverless laden und Net Service-Namen überschreiben:
// 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()
Daten aus einer Oracle-Datenbank mit einem Wallet aus Object Storage laden:
// 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()
Daten mit einem Wallet aus Object Storage aus einer Oracle-Datenbank laden und die automatische Anmeldung im Wallet aktivieren. Ein Benutzername oder Kennwort sind nicht erforderlich:
// 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()
Daten in Autonomous Database Serverless im Root Compartment speichern:
// 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()
Daten in Autonomous Database Serverless im Root Compartment speichern und den Net Service-Namen überschreiben:
// 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()
Daten mit einem Wallet aus Object Storage in einer Oracle-Datenbank speichern:
// 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()
Scala-Beispiele
Beispielcode für die Spark-Oracle-Datenquelle mit Scala.
Daten aus Autonomous Database Serverless im Root Compartment laden:
// 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()
Daten aus Autonomous Database Serverless laden und Net Service-Namen überschreiben:
// 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()
Daten aus einer Oracle-Datenbank mit einem Wallet aus Object Storage laden:
// 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()
Daten mit einem Wallet aus Object Storage aus einer Oracle-Datenbank laden und die automatische Anmeldung im Wallet aktivieren. Ein Benutzername oder Kennwort sind nicht erforderlich:
// 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()
Daten in Autonomous Database Serverless im Root Compartment speichern:
// 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()
Daten in Autonomous Database Serverless im Root Compartment speichern und den Net Service-Namen überschreiben:
// 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()
Daten mit einem Wallet aus Object Storage in einer Oracle-Datenbank speichern:
// 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()
SQL-Beispiele
Beispielcode für die Spark-Oracle-Datenquelle mit SQL.
Daten aus Autonomous Database Serverless im Root Compartment laden:
-- 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;
Daten aus Autonomous Database Serverless laden und Net Service-Namen überschreiben:
-- 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;
Daten aus einer Oracle-Datenbank mit einem Wallet aus Object Storage laden:
-- 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;
Daten mit einem Wallet aus Object Storage aus einer Oracle-Datenbank laden und die automatische Anmeldung im Wallet aktivieren. Ein Benutzername oder Kennwort sind nicht erforderlich:
-- 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;