Warning

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

パイプラインコードのエクスポート

Pipeline Builderで構築する際には、パイプラインコードを既存の Java トランスフォームリポジトリ にエクスポートできます。特定のJavaライブラリにアクセスする必要がある場合などにこのエクスポート機能は役立ちます。

エクスポート中に、ユーザーのパイプラインはJava トランスフォームコードに変換され、その後ターゲットリポジトリにプッシュされます。このプロセスに際して以下の点を考慮してください:

  • ターゲットリポジトリの指定されたブランチ上の既存のコードやファイルはすべて削除されます。
  • 新しい Java トランスフォームコードの出力は、常に Pipeline Builder パイプラインの出力と同一であるとは限りません。詳細は Pipeline Builder から Java トランスフォームへのエクスポート をご覧ください。
  • このプロセスは不可逆であり、Java トランスフォームコードへの変更は Pipeline Builder パイプラインに戻すことはできません。
  • 一部のパイプライン変換はコードに変換できません。

エクスポートしたいパイプラインを開き、設定 > コードのエクスポート に移動します。 ポップアップウィンドウが表示され、ここで既存のターゲット Java トランスフォームリポジトリを検索して選択できます。次に、エクスポートの元となる Pipeline Builder のブランチを選択し、必要に応じてターゲットリポジトリで使用する新しいブランチを作成します。

エクスポート先のリポジトリとエクスポートのホストとターゲットブランチを指定できる パイプラインコードのエクスポート ポップアップウィンドウ。

パイプラインのエクスポートは、ユーザーのリポジトリ内の transforms-java/src/main/java/com/PipelineLogic.javaPipelineOutputs.java ファイルとして使用できます。

Code Repositories の左側のパネルに表示されるファイルナビゲーションビュー。

Pipeline Builder から Java トランスフォームへのエクスポート

Pipeline Builder パイプラインを Java コードにエクスポートする際、新しい出力が常に元のパイプライン出力と完全に一致するわけではないことを認識することが重要です。その理由はいくつかあります:

  • コード生成の制限: ユーザー定義関数(UDF)やLLM呼び出しのような一部の機能はサポートされておらず、手動での実装が必要です。これは生成されたコード内で todo として表示されます。
  • Native Spark との違い: Pipeline Builder の一部の表現は、より高い信頼性とエラーハンドリングの改善のために最適化され、異なる方法で実装されています。私たちはこれらのカスタム最適化をエクスポートすることはできず、エッジケースで異なる振る舞いをするかもしれないネイティブ Spark の表現に戻す必要があります。

コード生成のすべての他のサポートされる表現は、Spark のテストケースに対して検証されています。 Java トランスフォームへのエクスポートは、ユーザーが完全な正確性を保証するために手動で検証できる出発点として扱うべきです。