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;