ホーム » Google認定MLエンジニア » チーム間連携によるデータ・モデルの管理 » 【Google認定MLエンジニア】BigQueryによるデータ前処理の基礎と実践

【Google認定MLエンジニア】BigQueryによるデータ前処理の基礎と実践

BigQuery MLの前処理(Data Preprocessing)では、専用機能に頼るのではなく、SQL標準機能を駆使してデータを整えることが求められます。試験でもこの方針に沿った知識が問われます。


■ 基本的な前処理タスク

タスク 方法 補足
データ結合 SQLのJOINでトランザクション・ユーザー・商品テーブルを結合 必要な情報をまとめる
欠損値補完 IFNULL関数を用いてNULLを特定値(例:0や空文字)で埋める BigQuery MLにCLEAN関数は存在しない
カテゴリ変換 CASE文を使ってカテゴリ変数を数値化・グルーピング 柔軟な条件分岐を実装
テキスト正規化 REGEXP_REPLACE関数を使って不要な文字を除去・整形 メール、住所などのクレンジングに有効
集約・移動平均 ウィンドウ関数(例:OVER(PARTITION BY))を使う 複雑な統計処理に対応

■ 最適化タスク(パフォーマンス向上)

タスク 方法 補足
大規模データ対応 PARTITION BY句でテーブルを分割管理 クエリ速度を大幅改善
中間結果整理 WITH句で一時テーブル(Common Table Expression)を活用 サブクエリを見やすく保守性向上
複雑クエリ整理 VIEW作成で複雑な処理をカプセル化 可読性・メンテナンス性向上

■ 実務上の注意点(試験にもよく出る)

  • 外部処理(EXTERNAL_QUERY)は禁止推奨
    ➔ BigQuery外に出すとパフォーマンスとコストが悪化する
  • ローカルEXPORTしてから前処理するのは非効率
    ➔ BigQuery内で完結する設計を心がける
  • JOIN時のインデックス過信は禁物
    ➔ インデックスではなく、パーティションやクラスター設計を優先

■ 押さえるべきポイント

✅ BigQuery MLに特別な「TRANSFORM」「CLEAN」「NORMALIZE」関数はない
✅ SQL標準機能(IFNULL、CASE、WITH、PARTITION BY、REGEXP_REPLACEなど)で前処理する
✅ 外部システム・ローカルダウンロードに依存しない
✅ パフォーマンスを意識して設計する(PARTITION・WITH句・VIEW化)


✏️ まとめ

BigQuery MLの前処理とは、

  • SQLの力を最大限に活用して
  • BigQuery内部で完結し
  • クエリのパフォーマンスと保守性も両立させる

こうした実装力を問われる領域です。