Notebook での直接接続を使用したデータの読み取り

このオプションは、テーブルを読み取り、さまざまな操作を実行し、出力をテーブルに書き込むために使用されます。データは Python によってソースから直接抽出されるため、[データセットを Notebook にインポート] オプションよりも効率的です。データ全体がメモリにロードされるため、これは小規模なデータセットでのみ使用できます。

このオプションを使用すると、ファイルの読み取りまたは書き込みを行い、ダウンストリーム オペレーターがワークフローで使用できる Python 実行オペレーターとしてそれらのノートブックを公開できます。これにより、Chorus REST API を使用するデフォルト モードよりもはるかに効率的にデータを読み取ることができます。このモードを使用して読み取ることができるデータセットのサイズに制限はありません。これは、ノートブックのプロセスまたはコンテナーで使用可能なメモリにのみ依存します。

直接接続を使用してノートブック内のデータを読み取るには、次の手順を実行します。

    手順
  1. データセットをワークスペースに関連付けます。
  2. メニューから [データ] を選択し、[直接接続を使用したデータセットの読み取り] を選択します。
  3. 直接接続を使用したデータセットの読み取り

  4. ノートブックにインポートするデータセットを選択ダイアログが表示されます。インポートするデータセットを選択し、[インポート] をクリックします。

    ノートブックにインポートするデータセットを選択してください

  5. ちょっとしたコードがノートブックに挿入されます。これにより、データ ソースとノートブック間の通信が容易になります。さらに多くのデータセットを読み込む場合は、ステップ 1 からステップ 3 を繰り返します (Python 実行オペレーターへの入力の最大制限は 3 です)。このコードを実行するには、shift+enter を押すか、[実行] をクリックします。コマンドは、メソッドが正しく動作するために必要なパラメーターを備えたクラス ChorusCommander のインスタンス化されたオブジェクトであるオブジェクト cc を使用します。

    インポートデータ_購入

  6. Python ノートブックで ds79_purchase (ds79_ノートブックにインポートされたデータセットの名前) を実行すると、インポートされたデータのプレビューが表示されます。

    インポートされたデータ_購入出力

    これで、挿入されたコード内のコメントを参照して他のコマンドを実行できるようになります。

  7. 生成されたコードは、直接接続モードを有効にする cc.read_input_table メソッド呼び出し内の適切な jdbc_driver 引数を検出して設定します。Chorus が認識しない一部のデータ ソースの場合、jdbc_driver に設定されている JDBC ドライバーのクラス名が正しく検出されない場合があるため、データ ソースが期待するものと異なる場合は変更してください。 jdbc_url 引数を渡して、JDBC URL を明示的にオーバーライドすることもできます。

  8. ノートブックを python の実行演算子として使うには、use_input_substitution パラメーターを False から True に変更し、読み込むデータセットの execution_label パラメーターを追加します。execution_label の値は文字列 '1' から始まり、'2''3' と続きます。詳細については、help(cc.read_input_table) を参照ください。

  9. 生成された cc.read_input_table メソッド呼び出しは Pandas データ フレームを返します。必要に応じて、データ フレームに対して変更、コピー、またはその他の操作を実行できます。

  10. 必要な出力 Pandas データ フレームが作成されたら、cc.write_output_table を使用してターゲット テーブルに書き込みます。ダウンストリーム オペレーターでの出力の使用を有効にするには、use_output_substitution=True を設定します。書き込みに直接接続モードを使用するには、read_input_table と同じ引数を使用します。ターゲットと同じ名前を持つ既存のテーブルを削除するには、drop_if_exists パラメーターを [True] に追加します。詳細については、help(cc.write_output_table) を参照してください。

    ノート: ワークフロー内の他のオペレーターとの互換性を保つために、write_output_file の区切り文字引数としてカンマ「,」を使用することも、区切り文字引数を使用しないこともできます。
  11. ノートブックをレガシー ワークフローで Python 実行 オペレーターとして使用できるように、ノートブックを手動で実行してメタデータを決定します。