Notebook での直接接続を使用したデータの読み取り
このオプションは、テーブルを読み取り、さまざまな操作を実行し、出力をテーブルに書き込むために使用されます。データは Python によってソースから直接抽出されるため、[データセットを Notebook にインポート] オプションよりも効率的です。データ全体がメモリにロードされるため、これは小規模なデータセットでのみ使用できます。
このオプションを使用すると、ファイルの読み取りまたは書き込みを行い、ダウンストリーム オペレーターがワークフローで使用できる Python 実行オペレーターとしてそれらのノートブックを公開できます。これにより、Chorus REST API を使用するデフォルト モードよりもはるかに効率的にデータを読み取ることができます。このモードを使用して読み取ることができるデータセットのサイズに制限はありません。これは、ノートブックのプロセスまたはコンテナーで使用可能なメモリにのみ依存します。
直接接続を使用してノートブック内のデータを読み取るには、次の手順を実行します。
- 手順
- データセットをワークスペースに関連付けます。
- メニューから [データ] を選択し、[直接接続を使用したデータセットの読み取り] を選択します。
- ノートブックにインポートするデータセットを選択ダイアログが表示されます。インポートするデータセットを選択し、[インポート] をクリックします。

- ちょっとしたコードがノートブックに挿入されます。これにより、データ ソースとノートブック間の通信が容易になります。さらに多くのデータセットを読み込む場合は、ステップ 1 からステップ 3 を繰り返します (Python 実行オペレーターへの入力の最大制限は 3 です)。このコードを実行するには、
shift+enterを押すか、[実行] をクリックします。コマンドは、メソッドが正しく動作するために必要なパラメーターを備えたクラスChorusCommanderのインスタンス化されたオブジェクトであるオブジェクトccを使用します。
- Python ノートブックで
ds79_purchase(ds79_ノートブックにインポートされたデータセットの名前) を実行すると、インポートされたデータのプレビューが表示されます。
これで、挿入されたコード内のコメントを参照して他のコマンドを実行できるようになります。
-
生成されたコードは、直接接続モードを有効にする
cc.read_input_tableメソッド呼び出し内の適切なjdbc_driver引数を検出して設定します。Chorus が認識しない一部のデータ ソースの場合、jdbc_driverに設定されている JDBC ドライバーのクラス名が正しく検出されない場合があるため、データ ソースが期待するものと異なる場合は変更してください。jdbc_url引数を渡して、JDBC URL を明示的にオーバーライドすることもできます。 -
ノートブックを python の実行演算子として使うには、
use_input_substitutionパラメーターをFalseからTrueに変更し、読み込むデータセットのexecution_labelパラメーターを追加します。execution_labelの値は文字列'1'から始まり、'2'、'3'と続きます。詳細については、help(cc.read_input_table)を参照ください。 -
生成された
cc.read_input_tableメソッド呼び出しは Pandas データ フレームを返します。必要に応じて、データ フレームに対して変更、コピー、またはその他の操作を実行できます。 -
必要な出力 Pandas データ フレームが作成されたら、
cc.write_output_tableを使用してターゲット テーブルに書き込みます。ダウンストリーム オペレーターでの出力の使用を有効にするには、use_output_substitution=Trueを設定します。書き込みに直接接続モードを使用するには、read_input_tableと同じ引数を使用します。ターゲットと同じ名前を持つ既存のテーブルを削除するには、drop_if_existsパラメーターを[True]に追加します。詳細については、help(cc.write_output_table)を参照してください。ノート: ワークフロー内の他のオペレーターとの互換性を保つために、write_output_fileの区切り文字引数としてカンマ「,」を使用することも、区切り文字引数を使用しないこともできます。 -
ノートブックをレガシー ワークフローで Python 実行 オペレーターとして使用できるように、ノートブックを手動で実行してメタデータを決定します。