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では次のようにします:
    val df = spark.read
      .format("oracle")
      .option("adbId","autonomous_database_ocid")
      .option("dbtable", "schema.tablename")
      .option("user", "username")
      .option("password", "password")
      .load()
    他の言語の例は、「Spark Oracleデータソースの例」の項を参照してください。
Oracleデータソースでは、SparkのJDBCデータソースに用意されているプロパティに加えて、次の3つのプロパティを使用できます:
Oracleデータソースのプロパティ
プロパティ名 デフォルト設定 説明 範囲
walletUri オブジェクト・ストレージまたはHDFS互換URL。これには、OracleデータベースへのmTLS接続に必要なOracle WalletのZIPファイルが含まれます。Oracle Walletの使用の詳細は、Autonomous DatabaseサーバーレスのTNS名および接続文字列の表示を参照してください 読取り/書込み
connectionId
  • tnsnames.oraのadbld<database_name>_mediumのオプション。
  • walletUriオプションで必要です。
Oracle Walletの一部で、tnsnames.oraファイルの接続識別子の別名。詳細は、『Oracle Database Net Servicesリファレンス』のローカル・ネーミング・パラメータの概要に関する項および用語集を参照してください。 読取り/書込み
adbId Oracle Autonomous DatabaseのOCID。詳細は、Autonomous Databaseサーバーレスの概要を参照してください。 読取り/書込み
ノート

オプションには、次の制限があります:
  • adbIdwalletUriは使用できません。
  • connectionIdwalletUriと一緒に使用する必要がありますが、adbIdではオプションです。
  • adbIdは、scanを使用するデータベースではサポートされません。
  • adbIdは、Autonomous Databaseサーバーレスではサポートされていません。
Spark 3.0.2以降のバージョンでは、データ・フローでSpark Oracleデータソースを使用できます。
Spark SubmitでSpark Oracleデータソースを使用するには、次のオプションを設定します:
--conf spark.oracle.datasource.enable=true
adbIdでサポートされているのは、次のデータベースのみです:
  • Autonomous Database Serverless
    ノート

    このデータベースがVCNプライベート・サブネット内にある場合は、プライベート・ネットワークを使用して、自律型データベースのプライベート・エンドポイントのFQDNを許可リストに登録します。
walletUriオプションでは、次のデータベースを使用できます:
  • Autonomous Database Serverless
  • Exadataインフラストラクチャを含む自律型専用インフラストラクチャ・データベース。
  • Autonomous Transaction Processing Dedicated Infrastructure
  • ファストコネクトまたはサイト間VPNを介して、データ・フローのネットワークからアクセスできるオンプレミスのOracleデータベース。