ノートブックを使用したデータ・フローへの接続

データ・フローに接続し、データ・サイエンス・ノートブック・セッションからApache Sparkアプリケーションを実行できます。これらのセッションでは、Apache Livy統合を介して、長期にわたるデータ・フロー・クラスタ上で対話型のSparkワークロードを実行できます。

データ・フローでは、完全管理型のJupyterノートブックを使用して、データ・サイエンティストとデータ・エンジニアがデータ・エンジニアリングおよびデータ・サイエンス・アプリケーションを作成、ビジュアル化、コラボレーションおよびデバッグできるようにします。これらのアプリケーションは、Python、ScalaおよびPySparkで記述できます。また、データ・サイエンス・ノートブック・セッションデータ・フローに接続して、アプリケーションを実行することも可能です。データ・フロー・カーネルおよびアプリケーションは、Oracle Cloud Infrastructureデータ・フローで実行されます。データ・フローは、インフラストラクチャのデプロイまたは管理を必要とせずに、非常に大規模なデータセットに対して処理タスクを実行する完全管理型のApache Sparkサービスです。詳細は、データ・フローのドキュメントを参照してください。

Apache Sparkは、データを大規模に処理するよう設計された分散コンピューティング・システムです。大規模なSQL、バッチ、ストリーム処理および機械学習のタスクがサポートされています。Spark SQLでは、データベースのようなサポートが行われます。構造化データを問い合せるには、Spark SQLを使用します。これは、ANSI標準のSQL実装です。

データ・フローは、完全に管理されたApache Sparkサービスであり、デプロイまたは管理するインフラストラクチャなしで、非常に大規模なデータセットに対して処理タスクを実行します。Sparkストリーミングを使用して、継続的に生成されたストリーミング・データに対してクラウドETLを実行できます。インフラストラクチャ管理ではなくアプリケーション開発に集中できるため、迅速なアプリケーション配信が可能になります。

Apache Livyは、Sparkに対するRESTインタフェースです。同期および非同期で、ノートブックからフォルト・トレラントなSparkジョブを発行し、出力を取得します。

SparkMagicではLivyを使用して、Sparkとの対話型通信が可能です。JupyterLabコード・セル内で`%%spark` magicディレクティブを使用します。SparkMagicコマンドは、Spark 3.2.1およびデータ・フローのconda環境で使用できます。

データ・フロー・セッションでは、データ・フロー・クラスタの自動スケーリング機能がサポートされています。詳細は、データ・フローのドキュメントの「自動スケーリング」を参照してください。データ・フロー・セッションでは、カスタマイズ可能なSparkランタイム環境として、conda環境の使用がサポートされています。

図1. データ・フローに対するデータ・サイエンス・ノートブック
Data Sciencノートブックでは、Spark Magicを使用して、データ・フロー・サーバーでSparkコードを実行するためにNotebookSession APIを使用してデータ・フローにリクエストを送信します。
制約
  • データ・フロー・セッションの存続期間は、最大7日間または10,080分(maxDurationInMinutes)です。

  • データ・フロー・セッションのデフォルトのアイドル・タイムアウト値(idleTimeoutInMinutes)は480分(8時間)です。別の値を構成できます。
  • データ・フロー・セッションを使用できるのは、データ・サイエンス・ノートブック・セッションを介した場合のみです。
  • サポートされているのは、Sparkバージョン3.2.1のみです。
ヒント

データ・フローでのデータ・サイエンスの使用に関するチュートリアル・ビデオをご覧ください。また、データ・サイエンスデータ・フローの統合の詳細は、Oracle Accelerated Data Science SDKのドキュメントも参照してください。