WEB問題集
あなたの小売企業は、BigQuery に保存されている過去の購買データを使用して 顧客の離脱(churn)を予測 したいと考えています。 データセットには、顧客の属性情報、購買履歴、およびその顧客が離脱したかどうかを示すラベル列が含まれています。 このデータを使って、離脱する可能性が高い顧客を特定するための機械学習モデルを構築したいとします。
customer_data テーブルを使用し、churned 列をターゲットラベルとして、ロジスティック回帰モデルを作成・学習する必要があります。
どの BigQuery ML クエリを使用すべきでしょうか? 正解:B
BigQuery ML における CREATE MODEL の基本構文
CREATE MODEL 構文を使って直接SQLから機械学習モデルを作成・学習できます。
ロジスティック回帰モデルを作る場合の基本形は次の通りです:
CREATE OR REPLACE MODEL dataset.model_name OPTIONS(model_type='logistic_reg') AS SELECT feature_columns, label_column AS label FROM dataset.table;ここで:
model_type='logistic_reg':分類タスク(Yes/Noなど)に使用。label列名:予測したいターゲット変数(目的変数)として指定する必要があります。- その他の列:特徴量(説明変数)として利用されます。
churned を label として明示的に指定し、その他の列を特徴量として利用しています。
SELECT * EXCEPT(churned),
churned AS label
BigQuery MLの推奨構文どおり。 あなたの会社には複数の小売店舗があります。各店舗で毎日の総売上件数(total_sales)を記録しています。各店舗ごとの傾向を把握するために、SQLで週次(7日)の移動平均を計算したいと考えています。どのクエリを使用すべきですか?
正解:C
- 週次(7日)移動平均=「現在行を含む直近7行」の平均が妥当。
- 店舗ごとに独立して計算したいので
PARTITION BY store_id。 - 時系列順に窓を進めるので
ORDER BY date。 ROWS BETWEEN 6 PRECEDING AND CURRENT ROWで「現在行+前6行=7行」の平均を取れる。
あなたの会社は、小型機器から送信される JSON形式のテレメトリーデータ を処理する、ほぼリアルタイムのストリーミングパイプラインを構築しています。 Pub/Sub トピックに届くメッセージを処理し、その中の serial number(シリアル番号)フィールドを大文字に変換 し、結果を BigQuery に書き込みたいと考えています。
できるだけ コード量を最小限にし, かつ マネージドサービスを利用 したい場合、どの方法を選ぶべきでしょうか?正解:C
- Dataflow には「Pub/Sub → BigQuery」というマネージドテンプレートが用意されており、ほぼノーコードで実行可能。
- 軽微なデータ変換は UDF(JavaScript User-Defined Function) を指定するだけで実装できる。
- フルマネージドでスケーラブルなストリーミング処理が可能。
あなたは、Cloud Storage に保存されている 日次売上データ(CSVファイル) を処理して BigQuery にロードし、後続のレポートで利用できるようにしたいと考えています。 このデータを 変換処理しながら 取り込み、さらに データ品質(Data Quality)の問題を可視化できるような スケーラブルなデータパイプラインを、迅速に構築 する必要があります。
どうすべきでしょうか?正解:A
- GUIベースでデータパイプラインをノーコードまたはローコードで構築可能。
- Cloud Storage → BigQuery などの典型的なETLジョブをテンプレート的に構築できる。
- データプロファイリングやデータ品質の可視化(Data Quality Insights) 機能を提供。
- バッチ処理にもストリーミング処理にも対応。
あなたは、データ処理中に作成される 一時ファイル(temporary files) を保存する Cloud Storage バケット を管理しています。 これらの一時ファイルは 7日間だけ必要 で、それ以降は不要になります。
ストレージコストを削減し、バケット内を整理するために、7日より古いファイルを自動的に削除 したいと考えています。 どの方法を取るべきでしょうか?正解:B
🔹 ライフサイクル管理(Object Lifecycle Management)とは
Cloud Storage には「オブジェクト ライフサイクル管理(Object Lifecycle Management)」という機能があります。 これは、バケット内のオブジェクトに対して 自動で削除・アーカイブ・クラス変更 などのルールを設定できる機能です。 目的:不要なデータを自動削除して、コストと管理手間を削減する。 ✅ ライフサイクルルール設定例 以下のようなルールを設定すれば、 アップロードから7日経過したファイルを自動削除できます。{
"rule": [
{
"action": {"type": "Delete"},
"condition": {"age": 7}
}
]
}
この設定を適用すると:
- オブジェクトの「作成日(creation time)」から7日後に自動削除されます。
- Cloud FunctionやSchedulerなどを自分で実装する必要はありません。
