Spark Oracleデータソース
Spark Oracleデータソースは、Sparkで提供されるJDBCデータソースの拡張です。
Spark Oracleデータソースは、Spark JDBCデータソースの拡張です。SparkからOracleデータベースへの接続が簡略化されます。Spark Oracleデータベースは、SparkのJDBCデータソースに用意されているすべてのオプションに加えて、次のものを提供することで、SparkからOracleデータベースへの接続を簡素化します:
- Autonomous Database Serverlessからの自動ダウンロード・ウォレット。つまり、ウォレットをダウンロードしてObject StorageまたはVaultに保持する必要はありません。
- オブジェクト・ストレージからドライバおよびエグゼキュータにウォレット・バンドルが自動的に分散されるため、ユーザーがコードをカスタマイズする必要はありません。
- JDBCドライバのJARファイルが含まれているため、JARファイルをダウンロードして
archive.zip
ファイルに入れる必要がありません。JDBCドライバのバージョンは21.3.0.0です。
Spark Oracleデータソースの使用
このデータ・ソースは、2つの方法で使用できます。
- アプリケーションを作成、編集または実行する際、「拡張オプション」セクションに、次のキーを入力します:
値は
spark.oracle.datasource.enabled
true
です。詳細は、「アプリケーションの作成」の項を参照してください。 - Oracle Sparkデータソース形式を使用します。たとえば、Scalaでは次のようにします:他の言語の例は、「Spark Oracleデータソースの例」の項を参照してください。
val df = spark.read .format("oracle") .option("adbId","autonomous_database_ocid") .option("dbtable", "schema.tablename") .option("user", "username") .option("password", "password") .load()
Oracleデータソースでは、SparkのJDBCデータソースに用意されているプロパティに加えて、次の3つのプロパティを使用できます:
プロパティ名 | デフォルト設定 | 説明 | 範囲 |
---|---|---|---|
walletUri |
オブジェクト・ストレージまたはHDFS互換URL。これには、OracleデータベースへのmTLS接続に必要なOracle WalletのZIPファイルが含まれます。Oracle Walletの使用の詳細は、Autonomous DatabaseサーバーレスのTNS名および接続文字列の表示を参照してください | 読取り/書込み | |
connectionId |
|
Oracle Walletの一部で、tnsnames.oraファイルの接続識別子の別名。詳細は、『Oracle Database Net Servicesリファレンス』のローカル・ネーミング・パラメータの概要に関する項および用語集を参照してください。 | 読取り/書込み |
adbId |
Oracle Autonomous DatabaseのOCID。詳細は、Autonomous Databaseサーバーレスの概要を参照してください。 | 読取り/書込み |
ノート
オプションには、次の制限があります:
Spark 3.0.2以降のバージョンでは、データ・フローでSpark Oracleデータソースを使用できます。オプションには、次の制限があります:
adbId
とwalletUri
は使用できません。connectionId
はwalletUri
と一緒に使用する必要がありますが、adbId
ではオプションです。adbId
は、scanを使用するデータベースではサポートされません。adbId
は、Autonomous Databaseサーバーレスではサポートされていません。
Spark SubmitでSpark Oracleデータソースを使用するには、次のオプションを設定します:
--conf spark.oracle.datasource.enable=true
adbIdでサポートされているのは、次のデータベースのみです:
- Autonomous Database Serverless
walletUri
オプションでは、次のデータベースを使用できます:- Autonomous Database Serverless
- Exadataインフラストラクチャを含む自律型専用インフラストラクチャ・データベース。
- Autonomous Transaction Processing Dedicated Infrastructure
- ファストコネクトまたはサイト間VPNを介して、データ・フローのネットワークからアクセスできるオンプレミスのOracleデータベース。