Oracle CloudへのApache Sparkアプリケーションのインポート
Sparkアプリケーションを実行するには、そのアプリケーションをOracle Cloud Infrastructure Object Storageにホストする必要があります。
アプリケーションは任意のバケットにアップロードできます。アプリケーションを実行しているユーザーは、アプリケーションが正常に起動するために、すべてのアセット(関連するすべてのコンパートメント、バケットおよびファイルなど)への読取りアクセス権を持っている必要があります。
データ・フロー互換性のあるSparkアプリケーションの開発
データ・フローは、通常のSparkアプリケーションの実行をサポートし、特別な設計時の要件はありません。
ラップトップまたは類似の環境でSparkローカル・モードを使用してSparkアプリケーションを開発することをお薦めします。開発が完了したら、アプリケーションをOracle Cloud Infrastructure オブジェクト・ストレージにアップロードし、データ・フローを使用して大規模に実行します。
アプリケーションのバンドルのベスト・プラクティス
テクノロジ | ノート |
---|---|
JavaまたはScalaアプリケーション | 最良の信頼性を得るには、オブジェクト・ストアに含まれるすべての依存性とともに、Uber JARまたはアセンブリJARとしてアプリケーションをアップロードします。Maven Assemblyプラグイン(Java)やsbt-assembly (Scala)などのツールを使用して、適切なJARを構築してください。 |
SQLアプリケーション | すべてのSQLファイル(.sql )をオブジェクト・ストアにアップロードします。 |
Pythonアプリケーション | デフォルト・ライブラリでアプリケーションを構築し、Pythonファイルをオブジェクト・ストアにアップロードします。サードパーティのライブラリまたはパッケージを使用するには、「データ・フローでのSpark-Submit機能」を参照してください。 |
.zip
や.gzip
などのzipフォーマットのアプリケーション・パッケージは指定しないでください。
oci://<bucket>@<tenancy>/<applicationfile>
たとえば、JavaまたはScalaアプリケーションを使用して、examplecorp
の開発者がlogcrunch.jar
というSparkアプリケーションを開発し、production_code
というバケットにアップロードしたとします。コンソールUIの右上にあるユーザー・プロファイル・アイコンをクリックして、いつでも正しいテナンシを確認できます。
oci://production_code@examplecorp/logcrunch.jar
Oracle Cloudへのデータのロード
データ・フローは、Oracle Cloud Infrastructureオブジェクト・ストレージ内のデータを管理するために最適化されています。オブジェクト・ストレージ内のデータを管理することで、パフォーマンスを最大化し、アプリケーションが、そのアプリケーションを実行しているユーザーにかわってデータにアクセスできるようにします。ただし、データ・フローは、SparkでサポートされているRDBMS、ADW、NoSQLストアなど、他のデータ・ソースからデータを読み取ることができます。データ・フロー は、既存のFastConnect構成とともにプライベート・エンドポイント機能を使用して、オンプレミス・システムと通信できます。