Cloud Service
Cloud Dataprep
コードを書かずブラウザ上の操作でデータを探索・整形し、変換を提案で組み立てるノーコードのデータ準備サービス。データクレンジングを誰でも素早く行える。AWS の Glue DataBrew に相当。
- 1.ブラウザ上で対話的にデータを探索し、クレンジングと整形をノーコードで組み立てる。
- 2.操作から変換ルールを推測して提案し、確定すると裏で Dataflow ジョブとして実行される。
- 3.Trifacta 由来のパートナー製サービス。AWS の Glue DataBrew に相当。
解決する課題
- 分析や機械学習の前に必要なデータクレンジング・整形を、コードを書かずに行いたい
- 欠損値・表記ゆれ・型の不揃いなど、データの品質問題を視覚的に見つけて直したい
- アナリストなど非エンジニアでも、対話的な操作だけで前処理を組み立てられるようにしたい
- 整形手順を繰り返し再利用し、新しいデータが来るたびに同じ処理を自動で適用したい
- 大量データの前処理を、基盤の運用を意識せずスケールさせて実行したい
主要概念と用語
- Trifacta(トリファクタ): Cloud Dataprep の基盤を提供するパートナー(Alteryx 傘下)の技術。Dataprep はこの技術を Google Cloud と統合したパートナー製サービス
- フロー (Flow): データセットの取り込みからレシピ適用、出力までの一連の処理をまとめた作業単位
- データセット (Dataset): 取り込み元のデータ。GCS や BigQuery などから読み込む。元データを変更しない参照型のものと、取り込んで固定するものがある
- レシピ (Recipe): データに適用する変換ステップの並び。1ステップずつ積み重ね、いつでも編集・並べ替えできる
- トランスフォーム (Transform): 列の分割・結合、型変換、フィルタ、集計など個々の変換操作
- 予測変換 / サジェスト: 利用者の選択やパターンから、次に行いたい変換を推測して提案する機能。提案を選ぶだけでレシピが組み上がる
- データプロファイル (Profile): 列ごとの分布、欠損や異常値の割合などを可視化し、品質を一目で把握できる要約
仕様・制限・クォータ
- Dataprep は GUI でレシピを設計し、実行を確定すると内部的に Dataflow(Apache Beam)ジョブへ変換されて走る
- 入出力は Cloud Storage(GCS) と BigQuery が中心。取り込み元と出力先をフローで指定する
- 編集中のプレビューはサンプルデータに対して行われ、確定実行で全データに適用される。大きなデータほどサンプルと全量の差異に注意する
- 実体の処理は Dataflow 上で動くため、スループットや並列度は Dataflow 側のリソースに依存する
- Dataprep は Trifacta によるパートナー製サービスで、課金や契約・サポート窓口が Google ネイティブの一次サービスとは異なる扱いになる点に注意する
- 同時実行ジョブ数や扱えるデータ規模には上限があり、プロジェクト/リージョン単位のクォータが関わる。具体的な数値は変動するため公式情報で確認する
内部の仕組み
Cloud Dataprep は、Trifacta の対話的なデータ準備技術を Google Cloud と統合したサービスです。利用者はブラウザ上でデータをプレビューしながら、列を選んだりフィルタをかけたりします。Dataprep はその操作やデータのパターンから「次に行いたい変換」を推測して提案し、選ぶだけでレシピ(変換ステップの並び)が組み上がっていきます。
レシピは論理的な定義として保存され、実行を確定すると Dataflow(Apache Beam)のジョブへ変換されて実行されます。つまり Dataprep 自体は設計・探索のための層であり、重いデータ処理は Dataflow にオフロードされる二層構造です。この分離により、設計者は基盤の詳細を意識せず視覚的に前処理を組み立てられ、実行時にだけ計算資源が確保されます。
編集中は性能と応答性のためサンプルデータに対して変換が即時プレビューされ、最終的に全データへ同じレシピが適用されます。列ごとの分布や欠損率を示すデータプロファイルにより、どこに品質問題があるかを早い段階で把握できます。
Dataprep で「レシピを組む」操作と、それを「実行する」基盤は分かれています。設計は Dataprep(Trifacta)の GUI、実行は Dataflow。コストやパフォーマンスのチューニングは主に Dataflow 側で効いてくると理解しておくと、トラブル時の切り分けが速くなります。
設計パターン / ベストプラクティス
- ノーコードで素早く前処理を組みたい・非エンジニアも触るケースに向く。逆に細かいコード制御や複雑なロジックが中心なら Dataflow を直接書く方が適することが多い
- 探索フェーズはサンプルで素早く回し、プロファイルで品質問題を特定してからレシピに落とし込む
- フローとレシピを再利用可能な部品として整理し、定期的に届く新データへ同じ処理を適用する
- 出力先は BigQuery に寄せ、整形後そのまま分析・可視化につなげる構成にする
- パラメータ化やスケジュール実行を使い、手作業の前処理を自動化して属人化を避ける
- 大量・複雑な変換では、実行基盤である Dataflow のリソースを見据えてジョブの規模を設計する
運用・監視
- ジョブの実行状況(成功・失敗、所要時間、処理件数)は Dataprep のジョブ履歴画面で確認できる
- 実行基盤である Dataflow 側のジョブ・ログ・メトリクスと合わせて見ることで、性能問題の原因を切り分ける
- ログは Cloud Logging、メトリクスは Cloud Monitoring に連携して集約・アラート設定できる
- フローのスケジュール実行で、定期的なデータ準備バッチを自動化する
- パートナー製サービスのため、サポートや障害時の窓口・課金の確認経路が一次サービスと異なる点を運用ルールに含めておく
コスト
| 費用要素 | 課金の考え方 | 抑えるコツ |
|---|---|---|
| Dataprep 利用料 | パートナー(Trifacta)側の利用料・プラン | 用途に合うプランを選び、不要なフローを整理 |
| Dataflow 実行基盤 | ジョブ実行時の Dataflow 計算リソース | 増分処理や適切なジョブ規模で無駄な再処理を回避 |
| 入出力ストレージ | GCS や BigQuery の読み書き・保存量 | 中間データを溜め込まず、出力先を絞る |
Dataprep は Dataprep(パートナー)側の利用料と、実行基盤である Dataflow の計算費用が別々に発生する考え方です。設計だけでなく実行のたびに Dataflow 費用がかかるため、大きなジョブを頻繁に回す場合はコストを試算しておくと安心です。
セキュリティ
- アクセス制御は IAM で行い、フローの設計者・実行者・閲覧者などの役割を最小権限で分離する(AWS の IAM 相当)
- ジョブ実行に使うサービスアカウントに必要な権限のみを付与し、認証情報のハードコードを避ける
- パートナー製サービスであるため、データのアクセス範囲や責任分界を事前に確認し、扱うデータの機密度に応じて運用設計する
- 入出力に使う GCS や BigQuery 側で保存データは暗号化され、要件に応じて CMEK(顧客管理鍵, Cloud KMS)を適用できる
- 境界防御が必要な場合は VPC Service Controls の適用可否を含めてネットワーク要件を整理する
関連サービス・比較
| 観点 | GCP(Cloud Dataprep) | GCP(Cloud Data Fusion) |
|---|---|---|
| 主目的 | 対話的なデータ準備・クレンジング | GUI 中心のデータ統合 ETL/ELT |
| 操作スタイル | 提案ベースで探索しながら整形 | ドラッグ&ドロップでパイプライン構築 |
| 基盤技術 | Trifacta(パートナー製) | オープンソースの CDAP |
| 実行基盤 | Dataflow | Dataproc 上の Spark / MapReduce |
| 主な入出力 | GCS / BigQuery | 多様なソースへのコネクタ |
| 相当する AWS | Glue DataBrew | Glue |
同じ「データを整える」でも、対話的に探索しながら前処理するなら Dataprep、多様なソースを GUI で統合するなら Data Fusion、Apache Beam でコードを書いて高度な変換やストリーミングなら Dataflow、SQL で変換を整理して BigQuery 上で回すなら Dataform が基本の軸です。
ハンズオン / CLI例
Dataprep の操作はブラウザ上の GUI が中心で、フローやレシピの作成に専用 gcloud コマンドはありません。まずは依存する API を有効化し、入出力に使うリソースを準備します。
# 1) Dataprep の実行基盤となる Dataflow API を有効化
gcloud services enable dataflow.googleapis.com
# 2) 入出力に使う GCS バケットを用意
gcloud storage buckets create gs://my-dataprep-bucket \
--location=asia-northeast1
# 3) 出力先となる BigQuery データセットを作成
bq --location=asia-northeast1 mk --dataset my_project:prepared_data
# 4) ジョブ実行に使うサービスアカウントを作成(最小権限を後付与)
gcloud iam service-accounts create dataprep-runner \
--display-name="Dataprep job runner"
# ここまで準備したら、Dataprep のブラウザ UI でフロー/レシピを作成し、
# 上記の GCS バケットや BigQuery データセットを入出力に指定して実行する
Google Cloud Service
Cloud Dataprepを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
分析
比較で見る軸
クラウド: Google Cloud / カテゴリ: 分析 / 難易度: basic
導入後に効く点
操作から変換ルールを推測して提案し、確定すると裏で Dataflow ジョブとして実行される。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Google Cloud
- カテゴリ
- 分析
- 難易度
- basic
- 関連資格
- —
- 設計柱
- operational
判断チェックリスト
- 自社の用途が「分析 / operational」に近いか確認する。
- 強みである「ブラウザ上で対話的にデータを探索し、クレンジングと整形をノーコードで組み立てる。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。