
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Run Cloud Dataprep jobs to BigQuery
/ 100
このラボは Google のパートナーである Alteryx と共同開発されました。アカウント プロフィールでサービスの最新情報、お知らせ、特典の受け取りをご希望になった場合、お客様の個人情報がラボのスポンサーである Alteryx と共有される場合があります。
Dataprep by Trifacta は、分析を目的としてデータの視覚的な探索、クリーニング、準備を行うためのインテリジェント データ サービスで、構造化データと非構造化データの両方に対応しています。このラボでは、Dataprep のユーザー インターフェース(UI)を使用して、結果を BigQuery に出力するデータ変換パイプラインを作成します。
このラボで使用するデータセットは、Google Merchandise Store に関する数百万件の Google アナリティクス セッション レコードが格納された e コマース データセットで、BigQuery に読み込まれています。このラボでは、利用可能なフィールドや行を探索し、データを分析に使用できるよう準備します。
このラボでは、次のタスクの実行方法について学びます。
このラボを始める前に、Google Cloud での Cloud Dataprep の操作ラボを受講することをおすすめします。
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] パネルでも [ユーザー名] を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] パネルでも [パスワード] を確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
サービス ID が作成されたというメッセージが表示されます。
Cloud コンソールでナビゲーション メニューに移動し、[分析] 下の [Dataprep] を選択します。
Dataprep を使用するには、チェックボックスをオンにして Google Dataprep の利用規約に同意し、[同意する] をクリックします。
Alteryx へのアカウント情報の共有に関するプロンプトが表示されたら、チェックボックスをオンにし、[同意して続行] をクリックします。
[許可] をクリックして、Alteryx がプロジェクトにアクセスできるようにします。
Qwiklabs の認証情報を選択してログインし、[許可] をクリックします。
チェックボックスをオンにし、[同意する] をクリックして Alteryx の利用規約に同意します。
ストレージ バケットのデフォルトの場所を使用するように求められたら [Continue] をクリックします。
このラボでは主に Cloud Dataprep を扱いますが、BigQuery も必要です。BigQuery は、パイプラインへのデータセット取り込み用のエンドポイント、およびパイプラインの最終的な出力先として使用します。
Cloud コンソールで、ナビゲーション メニューから [BigQuery] を選択します。
[Cloud コンソールの BigQuery へようこそ] メッセージ ボックスが開きます。このメッセージ ボックスにはクイックスタート ガイドへのリンクと、UI の更新情報が表示されます。
[完了] をクリックします。
[エクスプローラ] ペインでプロジェクト名を選択します。
ecommerce
」と入力します。[データセットを作成] をクリックします。左側のペインのプロジェクトの下にデータセットが表示されます。
次の SQL クエリをコピーして、クエリエディタに貼り付けます。
[実行] をクリックします。このクエリは、一般公開されている元データセット「ecommerce」の一部(1 日分のセッション データに相当する約 56,000 件のレコード)を all_sessions_raw_dataprep
という名前の新しいテーブルにコピーします。このテーブルはラボで扱う ecommerce データセットに追加されており、Cloud Dataprep を使用してデータの探索やクリーニングを行うことができます。
ecommerce
データセットにこの新しいテーブルが存在することを確認します。
このタスクでは、Cloud Dataprep を BigQuery データソースに接続します。Cloud Dataprep のページで次の操作を行います。
右隅にある [Create a flow] をクリックします。
[Untitled Flow] の名前を変更し、以下の詳細を指定します。
Ecommerce Analytics Pipeline
」と入力します。Revenue reporting table
」と入力します。[OK] をクリックします。
[What's a flow?
] というポップアップが表示された場合は、[Don't show me any helpers] を選択します。
Dataset ボックスで [Add] アイコンをクリックします。
[Add Datasets to Flow] ダイアログ ボックスで、[Import Datasets] を選択します。
左側のペインで [BigQuery] をクリックします。
ecommerce データセットが読み込まれたら、それをクリックします。
all_sessions_raw_dataprep テーブルの左側にある [Create dataset
] アイコン(+ 記号)をクリックします。
右下にある [Import & Add to Flow] をクリックします。
データソースが自動的に更新され、次のタスクに進む準備が整いました。
このタスクでは、Cloud Dataprep で ecommerce データセットのサンプルを読み込んで探索します。
[Transformer] ビューにデータセットのサンプルが読み込まれます。この処理には数秒かかる場合があります。これで、データを探索するための準備が整いました。
次の質問に答えてください。
答え: 32 列。
答え: 約 12,000 行。
channelGrouping
列で最も頻繁に出現する値は何ですか。channelGrouping
列のタイトルの下にあるヒストグラムにカーソルを合わせるとわかります。
答え: Referral。Referral(参照元サイト)は通常、該当するコンテンツへのリンクを含む他のウェブサイトです。たとえば、この e コマースサイトの商品をレビューしてリンクを掲載している別のウェブサイトがこれにあたります。これは、検索エンジンからアクセスがあった場合とは異なる集客チャネルと見なされます。
答え: 米国、インド、英国
答え: totalTransactionRevenue
フィールドの値がないデータ。ここから、このサンプルの多くのセッションで収益が得られなかったことがわかります。後ほどこれらの値を除外して、収益の発生した顧客トランザクションのみが最終的なテーブルに含まれるようにします。
timeOnSite
(秒)、pageviews
、sessionQualityDim
の最大値はそれぞれいくつですか(ヒント: timeOnSite
列の右側にあるメニューを開き(詳細ウィンドウを閉じるには、右上にある [Close Column Details](X)ボタンをクリックします。同じ手順で pageviews
列と sessionQualityDim
列の詳細も確認します。
答え:
timeOnSite
のようなフィールドはセッションにつき 1 回しかカウントされないことを理解する必要があります。訪問者とセッションのデータの一意性については後のラボで学びます。
sessionQualityDim
の値は均等に分布していますか(この列のヒストグラムを確認します)。答え: いいえ。低い値(低品質のセッション)に偏っています。これは予想どおりです。
答え: 2017 年 8 月 1 日(1 日のデータ)
productSKU
列の下に赤いバーが表示されることがあります。これは何を表していますか。答え: 赤いバーは不適切な値を示しています。Cloud Dataprep では、データのサンプリング時に各列の型が自動的に識別されます。productSKU
列に赤いバーが表示されていない場合は、この列の型が正しく(String 型として)識別されています。赤いバーが表示されている場合は、サンプルで数値が多く見つかったために Integer 型として(誤って)識別されています。ここでは、整数以外の値も検出され、それらが不適切な値として報告されています。productSKU
は整数であるとは限りません(たとえば、「GGOEGOCD078399」が正しい値である場合もあります)。そのため、この場合は Cloud Dataprep が列の型を誤って識別したことになります(Integer ではなく String でなければなりません)。この修正は後ほどこのラボで行います。
v2ProductName
列を確認します)。正解: Google Nest 製品
v2ProductCategory
列を確認します)。いくつか例を挙げてください。答え:
最も人気の高い商品カテゴリは次のとおりです。
Nest
Bags
(not set)(カテゴリが関連付けられていないセッションを示しています)
次の説明は正しいですか。productVariant
の最頻値は COLOR
である。
答え: 正しくありません。最頻値は (not set) で、ほとんどの商品(80% 以上)にはバリエーションがありません。
正解: PAGE
と EVENT
ウェブサイトを閲覧するユーザーのインタラクションにはさまざまなタイプがあります。たとえば、ページを表示したときにセッション データが記録される PAGE や、「商品のクリック」のような特殊なイベントに対応する EVENT などがこれにあたります。複数のヒットタイプが同時にトリガーされる可能性があるため、二重にカウントされるのを防ぐためにタイプでフィルタするのが一般的です。これについては後の分析ラボで詳しく学びます。
productQuantity
の最大値はいくつですか。答え: 100(この答えは異なる場合があります)
productQuantity
は、カートに追加された商品の個数を示します。値が 100 の場合、1 つの商品が 100 個追加されたことになります。
currencyCode
の大半を占めている値は何ですか。答え: USD(米ドル)
itemQuantity
または itemRevenue
に有効な値はありますか。答え: いいえ。すべての値が NULL
値(欠損値)です。
transactionId
列で値が有効なのは全体の何パーセントですか。この比率は ecommerce
データセットの何を表していますか。eCommerceAction_type
には値がいくつありますか。また、最頻値は何ですか。答え: このサンプルで見つかった値は 7 個です。最頻値はゼロ(0
)で、タイプが不明であることを表しています。このウェブサイトのウェブ セッションは大半が閲覧のみで、e コマース アクションは行われないため、この結果は理にかなっています。
スキーマ
を使用して答えてください)。eCommerceAction
を検索してマッピングの説明を読みます。
答え: 6 は「Completed purchase」(購入完了)にマッピングされています。このラボで後ほど、このマッピングをデータ パイプラインの一部として取り込みます。
このタスクでは、データをクリーニングするために、使用しない列の削除、重複の除去、計算フィールドの作成、不要な行の除外を行います。
前述のように、itemQuantity 列と itemRevenue 列を削除します。これらの列には NULL 値しか含まれていないため、このラボでは必要ありません。
ソース データセットに重複したセッション値が含まれている可能性があるという報告を受けたため、重複除去の手順に沿ってそれらを削除します。
右側のパネルで [Add] をクリックします。
これまでに作成したレシピを確認します。次のようになっているはずです。
このウェブサイトで商品を 1 つ以上購入したすべてのユーザー セッションを含むテーブルを作成するように依頼されました。収益が NULL のユーザー セッションを除外します。
これにより、データセットがフィルタされて、収益のある(totalTransactionRevenue が NULL ではない)トランザクションのみが表示されるようになります。
このデータセットには、さまざまなタイプのセッションが含まれています(例: PAGE - ページビュー、EVENT - 「商品カテゴリの表示」、「カートへの追加」などのトリガーされたイベント)。セッションのページビューが二重にカウントされないように、フィルタを追加して、ページビュー関連のヒットのみが含まれるようにします。
type 列の下にあるヒストグラムで PAGE のバーをクリックします。type が PAGE のすべての行が緑色でハイライト表示されます。
[Suggestions] パネルの [Keep rows] で [Add] をクリックします。
スキーマのドキュメントで visitId を検索してその説明を読み、この値がすべてのユーザー セッションに対して一意なのか、そのユーザーに対してのみ一意なのかを確認します。
visitId
: このセッションの識別子。通常は utmb
Cookie として保存される値の一部で、そのユーザーに対してのみ一意です。完全に一意の ID の場合は、「fullVisitorId」と「visitId」を併用してください。この説明から、visitId
がすべてのユーザーに対して一意ではないことがわかります。そのため、固有識別子を作成する必要があります。
すでに確認したように、このデータセットには一意のユーザー セッションを表す単一の列がありません。fullVisitorId フィールドと visitId フィールドを連結して各セッションの一意の ID を作成します。
[Columns] で、[fullVisitorId
] と [visitId
] を選択します。
[Separator] にハイフン(「-
」)を 1 つ入力します。
[New column name] に「unique_session_id
」と入力します。
fullVisitorId
と visitId
を組み合わせた unique_session_id
が新たに作成されます。このラボで後ほど、このデータセットの各行が一意のセッション単位なのか(ユーザー セッションごとに 1 行)、それより細かい単位のデータなのかを調べます。
すでに確認したとおり、eCommerceAction_type
列の値は整数で、そのセッションで実行された実際の e コマース アクションにマッピングされています。たとえば、3 は「カートへの商品の追加」、5 は「決済」を表します。このマッピングはエンドユーザーにとってわかりにくいため、値の名前を取り込む計算フィールドを作成します。
[Column to evaluate] で [eCommerceAction_type
] を指定します。
[Cases (1)] の横にある [Add] を 8 回クリックして、かっこ内の数が 9 になるようにします。
Comparison |
New value |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[New column name] に「eCommerceAction_label
」と入力します。他のフィールドはデフォルト値のままにします。
[Add] をクリックします。
スキーマで説明されているように、totalTransactionRevenue 列には、アナリティクスに渡される値に 10 の 6 乗を掛けた数値が含まれています(例: 2.40 は 2400000 になります)。ここでは、この列の値を 10 の 6 乗で割って元の値を取得します。
DIVIDE(totalTransactionRevenue,1000000)
」と入力し、[New column name] に「totalTransactionRevenue1
」と入力します。変換のプレビューが表示されます。totalTransactionRevenue1
列の下に赤いバーが表示されることがあります。totalTransactionRevenue1
列の右側にあるメニューを開き([Run Job] ページで、[Running Environment] に [Dataflow + BigQuery] を選択します。
[Publishing Actions] で、[Create-CSV] の右にある [Edit] をクリックします。
次のページで、左側のメニューから [BigQuery] を選択します。
[ecommerce] データセットを選択します。
右側のパネルで [Create a New Table] をクリックします。
テーブルに [revenue_reporting] という名前を付けます。
[Drop the Table every run] を選択します。
[Update] をクリックします。
[RUN] をクリックします。
Cloud Dataprep ジョブが完了したら、BigQuery のページを更新して、出力テーブルの revenue_reporting が存在することを確認します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ここでは Cloud Dataprep を使用して e コマース データセットを探索し、データ変換パイプラインを作成しました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 2 月 11 日
ラボの最終テスト日: 2023 年 9 月 20 日
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
One lab at a time
Confirm to end all existing labs and start this one