Lakeflow Designer の組み込み演算子

Lakeflow Designer には、一般的なデータ準備タスクと変換タスク用の組み込み演算子が含まれています。 左側のサイド ペインで演算子メニューを開き、カテゴリ別に演算子を参照するか、ペインの上部にある [演算子の検索 ] を使用します。 演算子検索では、意図に基づいて演算子が提案されます。 たとえば、「 average by month 」と入力すると 、Aggregate 演算子が返されます。 キャンバスに追加した後にオペレーターを構成するには、その演算子をダブルクリックするか、その上にマウス ポインターを合わせて [鉛筆] アイコン をクリックします 。(演算子の編集) をクリックして、構成ウィンドウを開きます。

演算子の検索ボックスと演算子がカテゴリ別にグループ化されていることを示す LFD 演算子メニュー。

各オペレーターは、AI によって生成された処理の説明を表示します。 説明は、オペレーターのエディターとしても機能します。説明を編集すると、説明に合わせて演算子が再構成されます。

独自のユーザー定義演算子を作成する方法については、 Lakeflow Designer でユーザー定義演算子を参照してください。

ソースと出力

Source

Unity カタログ テーブルまたはその他のサポートされているソースからデザイナーにデータをインポートします。 ソースを選択するには、名前でテーブルまたはファイルを検索するか、カタログとスキーマで参照します。 このウィンドウから新しいテーブルを作成することもできます。

テーブルを選択すると、ペインにテーブルの名前、所有者、最終更新時刻が表示されます。 [ 新しいデータ ソースの選択 ] をクリックしてソースを変更します。 ソースを変更すると、すべてのダウンストリーム演算子の出力キャッシュが無効になります。

Unity カタログ メトリック ビューをソースとして使用することもできます。 メトリック ビューを選択すると、含めるディメンションとメジャーが選択され、Designer によって集計クエリが生成されます。

Unity カタログのボリュームまたはフォルダー全体をターゲットにするなど、さまざまなデータ インジェスト オプションについては、「 Lakeflow Designer へのデータの取り込み」を参照してください。

データの入力

スプレッドシート スタイルのエディターに値を入力してテーブルを作成します。 この演算子を使用して、参照値やテスト データなどの少量の参照データを追加します。別のソース テーブルは作成しません。

フィールド Description
テーブル データ テーブルとしてデータを入力します。 最初の行は列ヘッダーを定義し、残りの行はデータです。 デザイナーは、各列のデータ型をその値から推論します。

Output

デザイナーからデータをエクスポートします。 Output 演算子は、結果を Unity カタログ テーブルに書き込んだり、具体化されたビューとして発行したり、Unity カタログ ボリューム内のファイルに書き込んだりすることができます。 出力の種類を持つ宛先を選択します。

出力の種類 Description
Table 結果をマネージド Unity カタログ テーブルに書き込みます。 テーブル名出力場所 (カタログとスキーマ) を設定し、書き込みモードを選択します。
マテリアライズド・ビュー 結果を Unity カタログの具体化されたビューとして発行します。このビューは、ビジュアル データ準備の実行時に更新されます。
File Unity カタログ ボリューム内のファイルに結果を書き込みます。 CSV、Excel、または JSON のファイルの種類を選択し、ターゲット ボリュームとファイル名を設定します。

テーブルまたはファイルの出力では、各実行が書き込みモードで宛先に書き込む方法を選択します。

書き込みモード Description
上書き 既存の内容を現在の実行の結果に置き換えます。 これが既定値です。
[追加] 現在の実行の結果を既存の行に追加します。
Merge 指定したマージ キーを照合して、行をターゲット テーブルにアップサートします。 テーブル出力に使用できます。

[ 実行 ] をクリックしてビジュアル データの準備を実行し、結果を書き込みます。 テーブル出力の場合、テーブルが存在しない場合は、演算子によって作成されます。 スケジュールされた実行は、同じ書き込みモードを使用して宛先に書き込みます。

AI 関数

データに対して組み込みの AI 操作を実行します。 構成ウィンドウで、[ 関数の選択 ] を開き、次の表のいずれかの関数を選択します。 各関数は、入力 (列、プロンプト、ラベル、言語など) と出力のオプションをペインで公開します。

機能 Description
ai_analyze_sentiment 入力テキストに対して感情分析を実行します。
ai_classify 指定したラベルを使用して、テキストまたは解析されたドキュメントを分類します。
ai_extract 定義したフィールドを使用して、テキストまたは解析されたドキュメントから構造化データを抽出します。
ai_fix_grammar テキストの文法エラーを修正します。
ai_forecast 指定した期間までの時系列データを予測します。 ai_forecast は、入力テーブル全体を処理するテーブル値関数です。
ai_gen 入力に対してユーザー指定のプロンプトに応答します。
ai_mask 指定したエンティティをテキストでマスクします (識別解除など)。
ai_parse_document 非構造化ドキュメントからテキスト、テーブル、レイアウトを抽出します。
ai_prep_search 解析されたドキュメント出力を、ベクター検索および取得拡張生成 (RAG) パイプライン用の検索対応チャンクに変換します。
ai_query 汎用タスクとモデルの柔軟性のために、サポートされている任意の基礎モデルを使用してプロンプトに回答します。
ai_similarity 2 つの文字列を比較し、セマンティック類似性スコアを返します。
ai_summarize テキストの概要を生成します。
ai_translate 指定したターゲット言語にテキストを変換します。

各関数の詳細については、「 AI 関数を使用してデータをエンリッチする」を参照してください。

Transformations

次の演算子は、データに対して変換を実行します。

Aggregate

データをグループ化し、集計値を計算して行を集計します。

フィールド Description
集計方法 列を選択し、集計関数を選択し、出力列の名前を指定します。 [ + 集計の追加] をクリックして、さらに追加します。 対応機能: AVGCOUNTCOUNT DISTINCTMAXMEANMEDIANMINPERCENTILESTDDEVSUMVARIANCE
グループ化基準 グループ化する列を選択します。 [ + グループ化の追加] をクリックして、さらに追加します。 Group by で使用される列は、自動的に出力に含まれます。

Combine

スキーマが一致する複数のテーブルのデータを 1 つの出力にマージします。

フィールド Description
セット操作 [ 和集合]、[ 交差]、または [除く] を選択します。
マージ戦略 重複する行を出力から除外する場合は [個別]選択し、 重複を含むすべての行を保持する場合は [すべて] を選択します。

Unique

入力データから重複する行を削除します。 デフォルトでは、演算子はすべての列で重複を解消します。 代わりに、列のサブセットをキーとして選び、行の順序を並べてどの重複を保持するかを制御できます。

フィールド Description
独自性 すべての列で同じ行を削除するには「 すべての列 」を選択し、「 選択済み列 」はキーとして選んだ列だけに重複する行を削除します。
並べ替え オプション:重複セットごとに1つ以上の列とソート方向を選択して、どの行を保持するかを制御できます。 注文を設定しなければ、オペレーターは最初に遭遇した行を保持します。

フィルター

グラフィカル条件ビルダーを使用して、1 つ以上の条件を満たしているかどうかに基づいて行を分割します。

フィールド Description
状態 条件ごとに、条件に一致する列、条件の種類および値を選択します。 サポートされている条件の種類:
  • 等しい/等しくない
  • /の一つではありません
  • 含まれている/含まれない
  • で始まる/で始まらない
  • で終わる/ で終わらない
  • より大きい/より小さい
  • はnullである/nullでない

日付列の条件の場合、日付ピッカーは年と月の間の移動をサポートします。
条件が列の値と一致する場合(例えば、 Is one one) 値リストは入力に基づく列の異なる値のサンプルを表示します。 必要に応じて追加値を取得するには 「Load more 」を選択します。

Filter 演算子には 2 つの出力があるため、条件を満たしているかどうかに基づいてデータを分岐できます。

Output Description
Included フィルター条件を満たす行。
除外 条件が null に評価される行を含め、フィルター条件を満たしていない行。

Join

一致する列値に基づいて 2 つの入力データセットを組み合わせることで、2 つのテーブルをキーにリンクします。

フィールド Description
入力テーブル 結合する 2 つの入力テーブルを選択します。
結合条件 2 つのテーブルから一致する列を選択して、少なくとも 1 つの結合条件を指定します。 [ + 結合式の追加] をクリックして、条件を追加します。 省略可能: 左右のテーブルの間の矢印をクリックしてカスタム結合条件を追加し、AI によって生成された説明を編集するか、SQL を記述します。
(No changes needed, original translation retained) オフ (既定値) の場合、文字列結合キーは大文字と小文字を区別せずに一致します (先頭と末尾の空白は無視します)。 文字列キーを正確に照合するには、 大文字 と小文字の区別をオンにします。 このオプションは、カスタム結合条件ではなく、結合キーに適用されます。
結合の種類 結合の種類を選択します。 既定では、Join 演算子は結果を 3 つの出力に分割します (次のセクションを参照)。 代わりに、 完全結合内部結合左結合、または 右結合 を選択して、1 つの結合された出力を生成します。
出力列 省略可能: 含める列を選択します。 既定では、両方のテーブルのすべての列が含まれます。 重複する列名は、テーブル名プレフィックスを受け取ります。
カスタム式の列 省略可能: 結合された結果に基づいてカスタム式列を追加します。

既定では、結合演算子には 3 つの出力があるため、結合結果に基づいてワークフローを分岐できます。

Output Description
一致しない 右側の入力に一致しない左入力の行。
マッチング 両方の入力で一致する行。
右不一致 左側の入力に一致しない右入力の行。

特定の 結合の種類 (完全、内側、左、または右) を選択すると、演算子は 3 つの分割出力の代わりに 1 つの結合された出力を生成します。

Limit

指定した行の最大数までしか渡さることによって、行数を制限します。

フィールド Description
最大行数 パススルーする行の最大数を指定します。

ピボット

表形式のデータを 2 方向に整形します。 構成ウィンドウの上部にあるタブを使用して、モードを選択します。

列→行 (ピボット)

ある列の個別の値を新しい列ヘッダーに変換し、別の列の集計値でいっぱいにします。

フィールド Description
列をピボットする 個別の値が新しいヘッダーになる列を選択します。
値と集計 ピボットセルに値を入力する列を選択し、集計関数 ( SUMAVGCOUNTMINMAXなど) を選択します。 ペインで欠損値を処理する方法 (null やゼロなど) を構成します。

行→列 (ピボット解除)

1 つ以上の列を行に折りたたみます。

フィールド Description
列をピボット解除する ピボット解除する列を選択します。
キー列と値列 出力キーと値の列の名前を設定します。

列を含める

どちらのモードでも、ピボットされた値またはピボット解除された値と共に出力に残っている列を選択し、変換の前に不要な列を削除します。 デザイナーは、ピボット、値、ピボット解除の各ロールに割り当てられていない列から固定 (グループ化) 列を推論します。

並べ替え

1 つ以上の列の行を並べ替えます。

フィールド Description
並べ替え順序 各列 の ASC (昇順) または DESC (降順) を選択します。 [ + 並べ替え式の追加] をクリックして、追加の列で並べ替えます。 並べ替えは、標準の字句の順序に従います。

SQL

他の演算子でカバーされていない変換用のカスタム SQL コードを書き込みます。

フィールド Description
SQL エディター SQL SELECT ステートメントを入力します。 入力演算子の出力を参照するには、その演算子の名前をクエリのテーブル名として使用します。 例えば次が挙げられます。
SELECT COUNT(*)
FROM aggregate_2
WHERE 1 = 1
[ コード] アイコン をクリックして、完全な SQL コード ウィンドウを開き、ステートメントが完全なワークフローにどのように適合するかを確認します。
Parameters ビジュアル データ準備パラメーターを参照するには、 :environmentなどの名前付きパラメーター マーカー構文を使用します。 エディターの上に、演算子を編集用に開くと、デザイナーに例が表示されます。 「パラメーター」を参照してください。

Select

入力データから列を選択、名前変更、並べ替えます。

フィールド Description
列を含めるまたは除外する [ すべての列で開始] または [列なしで開始] を選択し、チェック ボックスを使用して個々の列を含めるか除外します。 列をドラッグして並べ替えます。
列の名前変更 任意の列の横にある [名前の変更 ] フィールドに新しい名前を入力します。
カラムを動的に選択 列を個別に選ぶのではなく、ルールに従って列を選択することで、入力スキーマの変化に応じて出力が適応します。 一致する列を保持するか、一致する列を削除するかを選択し、次に以下の方法で列を一致させます:
  • 列データタイプ:ブール、整数、フロート/ダブル、十進数、文字列、日付、タイムスタンプ、バイナリなど、1つ以上のタイプを選択できます。
  • 列名:正則表現で始まる名前、終わり、含む名前、または一致する名前を一致させます。 大 文字を正確に一致させるために「大文字を区別 」をオンにしてください。
  • :各列に対してメタデータに対して評価されるブール式を書きます。これは NameTypeIsNumericなどのフィールドを用います。 例えば、 IsNumeric AND Name LIKE '%_id' は名前が _idで終わる数値列と一致します。

Prepare

入力データに対して 1 つ以上のアクションを連結することで、列をクリーンアップして派生させます。 [ + アクションの追加] をクリックし、アクションを選択します。 必要な数のアクションを追加します。 順番に適用されます。

アクション Description
自然言語または SQL 式を使用して、新しい列を作成するか、既存の列を上書きします。
変更の種類 列を別のデータ型に変換します。
値の置換 列内の値を検索して置換します。
null を塗りつぶす null 値を定数に置き換えます。
テキスト の大文字と小文字 大文字と小文字を下、上、またはタイトルに変更します。
Trim 一方または両方の端から空白を削除します。
正則表現の置き換え 正規表現パターンに一致するテキストを置き換えます。
抽出 正規表現グループに一致する部分文字列を抽出します。
解析日 文字列を日付またはタイムスタンプに解析します。

アクションを削除するには、その行にカーソルを合わせ、[ ダッシュ] アイコンをクリックします。

カスタム列

数式アクションによって式エディターが開き、自然言語または SQL コードを使用して新しい列を作成したり、既存の列を上書きしたりできます。 エディターには 2 つの入力ボックスがあり、双方向です。

  • 説明: 列で実行する内容の自然言語の説明を入力します。 デザイナーは Genie を使用して、以下の対応するコード式を生成します。
  • : コードを直接記述または編集する場合は、[式の編集] ボタンをクリックします。 式を編集すると、自然言語の説明が自動的に生成されます。

式式エディタで @ と入力すると、演算子の入力列と組み込みの SQL 関数のメニューを開きます。 @ 後にタイプしてリストをフィルタし、挿入するエントリを選択します。列は名前を挿入し、関数はカーソルを括弧内に置いた状態で呼び出しを挿入します。 同じ @ メニューは、カスタムフィルターや結合条件など他の演算子の式エディタでも利用可能です。

Python

入力データに対してカスタム Python (PySpark) を実行します。

フィールド Description
result resultに単一の DataFrame を割り当てると、演算子の出力になります。
inputs["data"] 入力データフレームの一覧 (アップストリーム順)。 演算子の詳細ウィンドウには、各入力の名前が順番に表示されます。 たとえば、 Available inputs: inputs["data"][0] (customers), inputs["data"][1] (sales) です。
Parameters dbutils.widgets.get()などのdbutils.widgets.get("environment")を呼び出して、ビジュアル データ準備パラメーターを参照します。 エディターの上に、演算子を編集用に開くと、デザイナーに例が表示されます。 「パラメーター」を参照してください。

最小パターンは、最初の入力が存在する場合は使用し、それ以外の場合は空の DataFrame を使用します。

# inputs["data"] is a list of input DataFrames

result = inputs["data"][0] if inputs["data"] else spark.createDataFrame([], "col: string")

そこから、割り当てが終了する前に、selectで DataFrame 操作 (filterwithColumnresult、結合など) を連結したり、resultinputs["data"]から構築された新しい DataFrame に置き換えたりすることができます。

プレビュー中は、オペレーターの出力が出力ペインに流れ込み、レンダリングしたものや display() を印刷したテキストも含まれます。これにより、実行が終わる前に結果を確認できます。

Pythonプレビューモード

ビジュアルデータ準備を作成すると、Designerは各オペレーターの出力をデータのサンプルに対して継続的にプレビューします。 これらのプレビューは、フル実行と同じようにPythonコードを実行させます。 これは、コードが外部APIを呼び出したり、通知を送信したり、Unity Catalog以外のシステムに書き込みをしたりと副作用が出る場合に問題となります。 通常、これらの副作用が毎回プレビューで発生するのは望ましくありません。

コードを区別するために、デザイナーが設定するブール値を config["is_preview"]してください。

  • True プレビュープレイ中に副作用を避けられるようにしましょう。
  • False フルラン中、例えば 「走る」 時や予定されたラン中などです。

例えば、副作用を回避してプレビュー以外でのみ動作するようにします:

result = inputs["data"][0] if inputs["data"] else spark.createDataFrame([], "col: string")

# Side effects run only on a full run or scheduled job, not during previews.
if not config["is_preview"]:
    write_results_to_external_system(result)

組織

Note

キャンバスにメモを追加して、後でビジュアル データ準備を開くすべてのユーザーの目的、想定、注意事項、ハンドオフ コンテキストなど、ワークフロー自体を文書化できるようにします。

フィールド Description
Content リッチ テキスト エディターを使用して、キャンバス上のノート コンテンツをインラインで編集します。 プレーンテキストでは不十分な見出し、テキストスタイル、リンク、画像、テーブルを追加できます。 メモは、データが演算子を通過する方法には影響しません。

Group

キャンバス上の演算子を視覚的にグループ化します。演算子間のデータ フローは変更されません。これは、視覚的なデータ準備が大きくなる場合や、論理ステージを反映したい場合に役立ちます。

フィールド Description
グループに追加 1 つまたは複数の演算子をグループにドラッグして、その演算子をグループに追加します。
選択範囲から作成 1 つまたは複数の演算子を選択し、ショートカット メニューを開き (右クリック)、[ 新しいグループの作成 ] の順に選択して、選択範囲を新しいグループにラップします。
Name グループにわかりやすい名前を付けます。
最小化/展開 最小化または展開をクリックして、キャンバス上のグループの内容を表示または非表示にします。
有効化/無効化 グループのヘッダーを右クリックして「 無効 」を選んで、グループ内のすべてのオペレーターを実行から除外するか、再度「 有効 にして」再度含めてください。 無効化された演算子は出力行を生み出さないため、下流演算子は有効化するまで空の結果を受け取ります。 また、個別のオペレーターを有効化・無効化することも可能です。 「 オペレーターの有効化または無効化」を参照してください。

Visualization

入力データから視覚化を作成し、キャンバスに直接レンダリングします。 視覚化演算子を表形式のデータを生成する任意の演算子に接続し、デザイナーを終了せずに結果をグラフ化します。

視覚エフェクトを構成するには、演算子を開き、[ 視覚化 ] の種類を選択し、列をグラフにマップします。

フィールド Description
Visualization 表示するグラフの種類 ( バーエリアカウンターなど)。

追加リソース