Machine Learning

Amazon SageMaker Data Wrangler

表形式データの取り込み・変換・品質確認をほぼコードなしで組み立てる GUI。SageMaker Canvas 側へ統合され、Studio Classic 時代とは入口が変わっています。

  • A|GenAIの核
  • D1 FM統合・データ・コンプラ

ひとことで言うと

データの取り込み・結合・変換・品質確認を、画面の上で順番に積み上げていく前処理エディタです。積み上げた手順は「データフロー」として保存され、S3・Feature Store・SageMaker Pipelines・Python スクリプトのいずれかに書き出せます。

要するに、前処理の作業手順書を GUI で書くツールです。Data Wrangler が返す最終成果物は、変換後のデータそのものより「この順番でこう変換する」というフロー定義のほうです。だから出口が Pipelines や Python スクリプトになる——画面で作った手順を、後で無人で回すための道具として設計されています。

なぜ生まれたか

前処理は「試行錯誤の量は多いが、確定した手順は単純」という性質があります。ノートブックで探索すると分析と手順が混ざり、そのままでは本番のパイプラインに移せません。かといって最初からパイプラインを書くと、分布を見ながら決める作業ができません。Data Wrangler はこの2つを分け、探索は画面で・出力は再実行可能な形でという順序を固定しました。

前処理でやりたいことData Wrangler が持っている機能
どこからでも読むS3・Athena・Amazon Redshift・Snowflake・Databricks からのインポート
手順として積むデータフロー(複数ソースの結合、変換の種類と数、パイプラインに組み込める前処理ワークフローの定義)
機械的に変換する文字列・ベクトル・数値の標準変換、テキストや日付時刻の埋め込み、カテゴリ変数のエンコーディング
中身を疑うData Quality and Insights Report(データ品質の自動検証と異常検知)
目で見て確かめる散布図・ヒストグラム、ターゲットリーケージ分析、クイックモデリングによる特徴量の相関把握
手順を持ち出すS3 / SageMaker Feature Store / SageMaker Pipelines / 直列推論パイプライン / Python スクリプト

入口が2つあります。公式は「Data Wrangler は Amazon SageMaker Canvas に統合された」と明記しており、新しい Studio 体験に移行した場合は Canvas 経由でしかアクセスできず、最新機能もそちら側に入ります。一方、既存ドキュメントの本体は「Studio Classic の機能」として書かれたまま。「Data Wrangler は Studio の機能」と丸暗記すると、実機で画面が見つかりません。Canvas 側の新体験には、視覚的な操作に加えて自然言語でデータを探索・変換するインターフェースが付いています。

何に使うか

用途使い方関連する試験ドメイン
データ品質の確認Data Quality and Insights Report で欠損・異常を自動検出するD1
特徴量エンジニアリングカテゴリエンコーディング、日付時刻・テキストの埋め込みなどの組み込み変換D1
複数ソースの結合S3・Athena・Redshift・Snowflake・Databricks を1つのフローで束ねるD1
独自ロジックの追加自前の Python スクリプトと変換をフローに差し込むD1
特徴量の一元管理へ渡すSageMaker Feature Store にエクスポートするD1
自動実行に載せるSageMaker Pipelines にエクスポートして、以後は無人で回すD1
推論時にも同じ変換を効かせる直列推論パイプライン(serial inference pipeline)としてフローを出すD1

試験でどう問われるか

**主役では出ません。**D1 の 1.3(データ検証と処理パイプライン)で、Glue Data Quality・Lambda・CloudWatch・SageMaker Processing と並べられ、どれを選ぶかを問われる形が本線です。分岐の軸は3つ——GUI か コードか/表形式か 非構造化か/単発の探索か 常時のパイプラインか。

問われ方正解に寄る条件引っかけの選択肢
前処理の実装手段ML の前処理を、ほぼコードを書かずに画面で組み立てたい → Data Wrangler「Spark で分散処理したい」「独自コンテナで回したい」に Data Wrangler(正解は SageMaker Processing)
データ品質チェックの置き場所フローの中で分布・欠損・異常を見て判断したい → Data Wrangler の Data Quality and Insights ReportGlue Data Quality(あちらは Glue のデータカタログ/ETL 側で品質ルールを宣言的に回す仕組み。使う場所が違う)
探索結果の本番化画面で決めた手順を無人で再実行したい → Pipelines / Python スクリプトへエクスポート「フローをそのまま毎日クリックして実行する」運用案
特徴量の再利用学習と推論で同じ特徴量を使い回したい → Feature Store へエクスポートS3 に CSV で置き直す案(版と定義が持てない)
FM 向けデータの整形生成AIの文脈で問われても、Data Wrangler の守備範囲は表形式の ML 前処理。PDF・音声・画像の変換や大規模なテキスト整形は Processing・Transcribe・Bedrock Data Automation 側「非構造化ドキュメントを Data Wrangler で chunk 化する」
どの画面から入るか新しい Studio 体験なら Canvas 経由(統合済み・最新機能はこちら)「Studio Classic を使い続ければ同じ機能が使える」

実務でどう使うか

  • 移行には権限の追加が要ります。 Studio Classic の Data Wrangler から Canvas 側へ移るとき、Canvas アプリケーションを作成・利用するための権限を別途付与しないと入口に到達しません。データフローの移行手順も Classic 側とは別の手順書になっています
  • Studio Classic 側にはバージョン制約が残っています。 JupyterLab Version 1 はサポート終了で Version 3 への更新が必要、Snowflake 接続には Studio Classic 1.3.0 以上が必要、と公式に明記されています。古い環境を引き継いだ現場ではここで止まります
  • 明示的にシャットダウンする対象です。 公式の目次に「Shut Down Data Wrangler」が独立した項目として立っている種類のツールで、開いたまま放置すると裏でインスタンスが動き続けます。EC2 のインスタンス上限を上げる手順まで用意されているのは、そういうリソースの使い方をするからです
  • エクスポート先の選び方が、そのまま運用の分かれ目になります。 S3 は「1回きりの結果」、Feature Store は「定義の共有」、Pipelines は「毎回の再実行」、Python スクリプトは「自前のワークフローへの取り込み」。画面で作った時点では、まだ何も自動化されていません

ターゲットリーケージ分析は、GUI の中で唯一「試験でも実務でも刺さる」種類の機能です。学習時にだけ使える情報が特徴量に混ざっていると、評価スコアだけが良くなって本番で崩れます。Data Wrangler はこれをフローの任意の地点で検査できます。スコアが良すぎるときに疑う道具として覚えておくと、D5 のトラブルシュート系でも使えます。

取り違えやすいもの

迷う相手切り分けの一言
SageMaker Processing人が画面を見ているかどうか。 Data Wrangler は対話的な GUI、Processing はスクリプトとコンテナで走るバッチジョブ。Data Wrangler の出口の1つが Processing 側のパイプラインになる
AWS Glue Data QualityGlue 側はデータカタログ/ETL の品質ルールを宣言して回す仕組み。Data Wrangler はML の前処理フローの中で分布を見る。データ基盤の話か、モデルの手前の話か
SageMaker Feature StoreData Wrangler は作る側、Feature Store は貯めて配る側。エクスポート先の関係であって競合しない
SageMaker Ground TruthGround Truth は人間にラベルを作らせる。Data Wrangler は既にある列を機械的に変換する。人手が要るかどうか
SageMaker Canvas別サービスではなく、現在の入口。Canvas はノーコードの ML 環境で、その中のデータ準備機能が Data Wrangler

想起チェック

Q1. 「数TBのログを Spark で分散前処理して、毎晩バッチで回したい」。Data Wrangler ですか。

いいえ、SageMaker Processing です。 Data Wrangler は対話的に前処理フローを組む GUI で、分散バッチの実行基盤ではありません。ただし Data Wrangler で作ったフローを Pipelines に出して自動実行する経路はあります。

Q2. データ品質の検査で Data Wrangler と Glue Data Quality を分ける基準は?

どの層の話かです。Glue Data Quality はデータカタログ/ETL 側で品質ルールを宣言的に回すもの、Data Wrangler は ML の前処理フローの中で分布や異常を見るもの。シナリオがデータ基盤の運用なら Glue、モデル手前の特徴量なら Data Wrangler です。

Q3. Data Wrangler で作ったフローを、学習と推論の両方で同じ変換として効かせたい。エクスポート先は?

直列推論パイプライン(serial inference pipeline)、または特徴量そのものを共有するなら Feature Store です。S3 に変換後データを出すだけでは推論時に同じ変換がかかりません。

Q4. 「新しい Studio 体験を使っています」。Data Wrangler にはどこから入りますか。

SageMaker Canvas です。Data Wrangler は Canvas に統合されており、新しい Studio 体験では Canvas 経由でアクセスし、最新の機能更新もそちらに入ります。

出典(AWS公式)