Important
この機能は パブリック プレビュー段階です。
Lakeflow Designer には、一般的なデータ準備タスクと変換タスク用の組み込み演算子が含まれています。 左側のサイド パネルで演算子メニューを開き、カテゴリ別に演算子を参照するか、パネルの上部にある 演算子の検索 を使用します。 キャンバスに追加した後でオペレーターの構成ウィンドウを開くには、そのウィンドウをダブルクリックするか、ポインターを押したまま をクリックします (演算子の編集)。
ソースと出力
Source
デザイナーにデータをインポートします。 Source 演算子は、Unity カタログ テーブルまたはその他のサポートされているソースから読み取ります。 これには、次の 2 つのステージがあります。
- テーブルまたはファイルの選択: 名前でテーブルまたはファイルを検索するか、カタログとスキーマで参照します。 このウィンドウから新しいテーブルを作成することもできます。
- テーブルの概要: テーブルを選択すると、構成ウィンドウにテーブルの名前、所有者、最終更新時刻が表示されます。 [ 新しいデータ ソースの選択 ] をクリックしてソースを変更します。 ソースを変更すると、すべてのダウンストリーム演算子の出力キャッシュが無効になります。
さまざまなデータ インジェスト オプションについては、「 Lakeflow Designer へのデータの取り込み」を参照してください。
Output
Unity カタログのテーブルに結果を書き込むことで、デザイナーからデータをエクスポートします。
[出力構成] ウィンドウで、次のように指定します。
- テーブル名: 作成するテーブルの名前。
- 出力場所: テーブルが作成されるカタログとスキーマ。
[ 実行 ] をクリックして、ビジュアル データの準備と結果の書き込みを実行します。
AI 関数
データに対して組み込みの AI 操作を実行します。 構成ウィンドウで、[ 関数の選択] を 開き、次のいずれかの関数を選択します。 各関数は、入力 (列、プロンプト、ラベル、言語など) と出力のオプションをペインで公開します。
| 機能 | Description |
|---|---|
ai_analyze_sentiment |
入力テキストに対して感情分析を実行します。 |
ai_classify |
指定したラベルを使用して、テキストまたは解析されたドキュメントを分類します。 |
ai_extract |
定義したフィールドを使用して、テキストまたは解析されたドキュメントから構造化データを抽出します。 |
ai_fix_grammar |
テキストの文法エラーを修正します。 |
ai_gen |
入力に対してユーザー指定のプロンプトに応答します。 |
ai_mask |
指定したエンティティをテキストでマスクします (識別解除など)。 |
ai_similarity |
2 つの文字列を比較し、セマンティック類似性スコアを返します。 |
ai_summarize |
テキストの概要を生成します。 |
ai_translate |
指定したターゲット言語にテキストを変換します。 |
Transformations
次の演算子は、データに対して変換を実行します。
Aggregate
データをグループ化し、集計値を計算して行を集計します。
- 集計方法: 列を選択し、集計関数を選択し、出力列の名前を指定します。 [ + 集計の追加] をクリックして、さらに追加します。
- グループ化: グループ化する列を選択します。 [ + グループ化の追加] をクリックして、さらに追加します。
サポートされる集計関数: AVG、COUNT、MAX、MEAN、MEDIAN、MIN、PERCENTILE、STDDEV、SUM、VARIANCE。
Note
Group by で使用される列は、自動的に出力に含まれます。
Combine
スキーマが一致する 2 つのテーブルのデータを 1 つの出力にマージします。
- 操作の設定: [和集合]、[ 交差]、または [除く] を選択します。
- マージ戦略: 重複する行を出力から除外する場合は [個別] を選択し、重複を含むすべての行を保持する場合は [ すべて] を選択します。
フィルター
グラフィカル条件ビルダーを使用して、1 つ以上の条件を満たす行のみを保持して、一致する行を選択します。 条件ごとに、条件に一致する列、条件の種類、および値を選択します。
サポートされている条件の種類:
- 等しい/等しくない
- /の一つではありません
- Contains / Does not contain
- で始まる/で始まらない
- で終わる/ で終わらない
- より大きい/より小さい
- Is null / Is not null
Join
一致する列値に基づいて 2 つの入力データセットを組み合わせることで、2 つのテーブルをキーにリンクします。
結合を構成するには:
- 結合する 2 つの入力テーブルを選択します。
- 2 つのテーブルから一致する列を選択して、少なくとも 1 つの結合条件を指定します。 [ + 結合式の追加] をクリックして、条件を追加します。
- 結合の種類として、[ 完全結合]、[ 内部結合]、[ 左結合]、または [ 右結合] を選択します。
- 省略可能: 出力に含める列を選択します。 既定では、両方のテーブルのすべての列が含まれます。 重複する列名は、テーブル名プレフィックスを受け取ります。
- 省略可能: 結合された結果に基づいてカスタム式列を追加します。
Limit
指定した行の最大数までしか渡さることによって、行数を制限します。
ピボット
表形式のデータを 2 方向に整形します。 構成ウィンドウの上部にあるタブを使用して、モードを選択します。
- 行→列 (ピボット): ある列の個別の値を新しい列ヘッダーに変換し、それらの列に別の列の集計値を入力します。
- 行→列 (ピボット解除): 1 つ以上の列を行に折りたたみます。出力キーと値列の名前を設定します。
行→列モード:
- ピボット列: 個別の値が新しいヘッダーになる列を選択します。
- 値と集計: ピボットされたセルに値を入力する列を選択し、集計関数 (SUM、AVG、COUNT、MIN、MAX など) を選択します。 ペインで欠損値を処理する方法 (null やゼロなど) を構成します。
列→行モードで、ピボット解除する列を選択し、出力キーと値の列名を構成します。
列を含める: テーブルを使用して、ピボットされた値またはピボットされていない値と共に出力に残る列を選択します (また、変換前に不要な列を削除する場合)。 デザイナーは、ピボット、値、またはピボット解除の各ロールに割り当てられていない列から固定 (グループ化) 列を推論します。
並べ替え
1 つ以上の列の行を並べ替えます。 列ごとに、 ASC (昇順) または DESC (降順) を選択します。 [ + 並べ替え式の追加] をクリックして、追加の列で並べ替えます。 並べ替えは、標準の字句の順序に従います。
SQL
他の演算子でカバーされていない変換用のカスタム SQL コードを書き込みます。
エディターに SQL SELECT ステートメントを入力します。 入力演算子の出力を参照するには、その演算子の名前をクエリのテーブル名として使用します。 例えば次が挙げられます。
SELECT COUNT(*)
FROM aggregate_2
WHERE 1 = 1
エディターの [ をクリックして完全な SQL コード ウィンドウを開き、ステートメントが完全なワークフローにどのように適合するかを確認します。
変換
入力データから列を選択、作成、または変換します。
[変換の構成] ウィンドウで、次の操作を行います。
- 列を含めるまたは除外する: チェックボックスを使用して、出力に渡す列を選択します。 ヘッダー チェックボックスをクリックしてすべての列を選択するか、選択を解除します。
- 列の名前を変更する: 任意の列の横にある [ 名前の変更 ] フィールドに新しい名前を入力します。
- 列の順序を変更する: 行の左側にあるハンドルをドラッグして、列の順序を変更します。
- カスタム列の追加: [ + カスタム列の追加] をクリックして式エディターを開きます。 以下を参照してください。
カスタム列
式エディターでは、自然言語またはコードを使用して新しい列を定義できます。 エディターには 2 つの入力ボックスがあり、双方向です。
- 説明: 列で実行する内容の自然言語の説明を入力します。 デザイナーは Genie を使用して、以下の対応するコード式を生成します。
- 式: コードを直接記述または編集する場合は、[式の編集] ボタンをクリックします。 式を編集すると、自然言語の説明が自動的に生成されます。
カスタム列を削除するには、その行の上にポインターを置き、[ をクリックします。
Python
入力データに対してカスタム Python (PySpark) を実行します。 コードはアップストリーム データセットを Spark DataFrames として受け取り、 resultに 1 つの DataFrame を割り当てる必要があります。これは、この演算子の出力になります。 構成ウィンドウを使用して入力を結び付け、エディターが提供するオプションを確認します。
inputs["data"] は、上流の順序で入力データフレームの 一覧 です。 演算子の詳細ウィンドウには、各入力の名前が順番に表示されます。 たとえば、 Available inputs: inputs["data"][0] (customers), inputs["Data"][1] (sales) です。
最小パターンは、最初の入力が存在する場合は使用し、それ以外の場合は空の DataFrame を使用します。
# inputs["data"] is a list of input DataFrames
result = inputs["data"][0] if inputs["data"] else spark.createDataFrame([], "col: string")
そこから、割り当てが終了する前に、resultで DataFrame 操作 (select、filter、withColumn、結合など) を連結したり、resultをinputs["data"]から構築された新しい DataFrame に置き換えたりすることができます。
組織
Note
後で Visual データ準備を開くすべてのユーザーの目的、想定、注意事項、ハンドオフ コンテキストなど、ワークフロー自体を文書化できるように、キャンバスにメモを追加します。 メモ コンテンツは Markdown をサポートしているため、見出し、リスト、リンク、およびプレーン テキストでは不十分な強調を使用できます。 メモは、データが演算子を通過する方法には影響しません。
Group
キャンバス上の演算子を視覚的にグループ化します。演算子間のデータ フローを変更することなく、ビジュアル データ準備が大きくなる場合や、論理ステージを反映したい場合に役立ちます。
グループを作成するには:
- 演算子をグループにドラッグする: 1 つまたは複数の演算子をグループにドラッグして追加します。
- 選択範囲からグループを作成する: 1 つまたは複数の演算子を選択し、コンテキスト メニューを開き (右クリック)、[ 新しいグループの作成 ] の順に選択して、選択範囲を新しいグループにラップします。
演算子がグループに含まれると、グループにわかりやすい名前を付け、 最小化 または 展開 して、キャンバス上の内容を表示または非表示にすることができます。