チェックポイント
Run a query (dataset: samples, table: shakespeare, substring: raisin)
/ 10
Run a query (dataset: samples, table: shakespeare, substring: huzzah)
/ 10
Create a new dataset (name: babynames)
/ 20
Load the data into a new table
/ 20
Run queries against your dataset table
/ 20
Remove the babynames dataset
/ 20
BigQuery: Qwik Start - コマンドライン
GSP071
概要
適切なハードウェアとインフラストラクチャを用意することなく大規模なデータセットを保存してクエリを実行すると、多大な時間と費用がかかってしまう可能性があります。BigQuery は、Google のインフラストラクチャが持つ処理能力を駆使した超高速 SQL クエリの実現によりこの問題を解決する、サーバーレスでスケーラビリティの高いクラウド データ ウェアハウスです。ユーザーがデータを BigQuery に読み込んだら、後の処理は Google 側で行われます。他のユーザーにデータの表示やクエリを許可するなど、ビジネスニーズに基づいてプロジェクトとデータへのアクセスを制御できます。
BigQuery には、コンソール、Web UI、またはコマンドライン ツールでアクセスできます。コマンドライン ツールでは、Java、.NET、Python などの各種クライアント ライブラリを使用できます。BigQuery の操作には、さまざまなソリューション プロバイダを利用することもできます。
このハンズオンラボでは、Python ベースの BigQuery 用コマンドライン ツールである bq
を使用して一般公開テーブルにクエリを実行し、サンプルデータを BigQuery に読み込む方法を説明します。
演習内容
- 一般公開データセットに対してクエリを実行する
- 新しいデータセットを作成する
- 新しいテーブルにデータを読み込む
- カスタム テーブルに対してクエリを実行する
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}} [ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}} [ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
タスク 1. テーブルを確認する
BigQuery には、クエリを実行できるサンプル テーブルがいくつかあります。このラボでクエリを実行する Shakespeare
テーブルには、シェイクスピアの全戯曲のすべての単語のエントリが含まれます。
サンプル データセットの Shakespeare テーブルのスキーマを調べるには、次のコマンドを実行します。
このコマンドでは、次の操作を行っています。
-
bq
で BigQuery コマンドライン ツールを起動 -
show
を実行されるアクションとして指定 - 表示したい BigQuery 内の
project:public dataset.table
の名称を一覧として記載
出力:
タスク 2. help コマンドを実行する
help コマンドにコマンド名を指定すると、そのコマンドに関する情報が得られます。
- たとえば、次の
bq help
の呼び出しでは、query
コマンドについての情報が表示されます。
-
bq
で使用される全コマンドの一覧を表示するには、bq help
だけを実行します。
タスク 3. クエリを実行する
クエリを実行し、シェイクスピアの作品に「raisin」という部分文字列が出現する回数を調べます。
- クエリを実行するには、コマンド
bq query "[SQL_STATEMENT]"
を実行します。
-
[SQL_STATEMENT] 内で引用符を使用する場合は \ 記号でエスケープします。
-
または、全体を囲んでいる記号とは異なる種類の引用符を使用します(例: 全体を囲んでいる「'」に対して「"」を使用)。
- Cloud Shell で以下の標準 SQL クエリを実行して、シェイクスピアの全作品に「raisin」という部分文字列が出現する回数を調べます。
コマンドの内容:
-
--use_legacy_sql=false
は、標準 SQL をデフォルトのクエリ構文に設定します。
出力:
このテーブルは、「raisin」という単語そのものは出現していないものの、いくつかのシェイクスピアの作品にこの文字の並びが出現することを示しています。
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。一般公開データセットに対するクエリが正常に実行された場合、評価スコアが表示されます。
シェイクスピアの作品に出現しない単語を検索すると、結果は返されません。
- 次のように「huzzah」を検索しても、一致するものは返りません。
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。一般公開データセットに対するクエリが正常に実行された場合、評価スコアが表示されます。
タスク 4. 新しいテーブルを作成する
次に、新しいテーブルを作成します。すべてのテーブルはデータセットに格納されます。データセットは、テーブルやビューなどのリソースをまとめたグループです。
新しいデータセットを作成する
- 次のように
bq ls
コマンドを使用してプロジェクト内の既存のデータセットを一覧表示します。
デフォルトのプロジェクト内にはまだデータセットがないため、自動的にコマンドラインに戻ります。
- 次のように
bq ls
とbigquery-public-data
プロジェクト ID の最後にコロン(:)を追加して実行します。該当するプロジェクトに存在するデータセットが一覧表示されます。
出力:
今度は、データセットを作成します。データセット名は最大 1,024 文字で、A~Z、a~z、0~9、アンダースコアで構成できます。ただし、先頭に数字またはアンダースコアを使用したり、スペースを含めたりすることはできません。
- プロジェクトに
babynames
という名前の新しいデータセットを作成するには、次のようにbq mk
コマンドを使用します。
出力例:
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。babynames という名前の BigQuery データベースが正常に作成された場合は、評価スコアが表示されます。
- 次のように
bq ls
を実行して、データセットがプロジェクトの一部として表示されることを確認します。
出力例:
データセットをアップロードする
テーブルを作成するには、その前にデータセットをプロジェクトに追加しておく必要があります。ここで使用するカスタムデータ ファイルには、米国社会保障局から提供された、人気のある赤ちゃんの名前に関する約 7 MB のデータが含まれています。
- このコマンドを実行し、データファイルの URL を使用して、赤ちゃんの名前の zip ファイルをプロジェクトに追加します。
- ファイルの一覧を表示します。
プロジェクトに追加されたファイルの名前を確認できます。
- ファイルを展開します。
- 多数のテキスト ファイルが含まれています。再びファイルの一覧を表示します。
bq load
コマンドは、テーブルの作成または更新とデータの読み込みを 1 回のステップで実行します。
bq load
コマンドを使用して、今作成した babynames データセット内の names2010 という名前の新しいテーブルにソースファイルを読み込みます。デフォルトでは、これは同期的に実行され、完了するまでに数秒かかります。
実行する bq load
コマンドの引数は以下のとおりです。
- テーブルを作成します。
出力例:
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。データセット テーブルへのデータの読み込みが正常に完了すると、評価スコアが表示されます。
- 次のように
bq ls
とbabynames
を組み合わせて実行し、テーブルがデータセットに表示されることを確認します。
出力:
-
bq show
とdataset.table
を組み合わせて実行し、スキーマを表示します。
出力:
-E
フラグを使用して、Latin-1 としてデータを処理するように BigQuery に対して明示的に指定できます。文字エンコードの詳細については、データの読み込みの概要をご覧ください。タスク 5. クエリを実行する
ここまでで、データに対してクエリを実行し、興味深い結果を得るための準備が整いました。
- 次のコマンドを実行すると、人気がある女の子の名前上位 5 つが返されます。
出力:
- 次のコマンドを実行すると、男の子の名前で少数派の上位 5 つが返されます。
出力:
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。カスタム データセットに対するクエリが正常に実行された場合は、評価スコアが表示されます。
タスク 6. 理解度を確認する
今回のラボで学習した内容の理解を深めていただくために、以下の多肢選択式問題を用意しました。正解を目指して頑張ってください。
タスク 7. クリーンアップ
- 次のように
-r
フラグ付きでbq rm
コマンドを実行してbabynames
データセットを削除することで、同データセット内の全テーブルを削除します。
- 「
y
」と入力して、削除コマンドを確認します。
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。babynames データセットの削除が正常に完了した場合は、評価スコアが表示されます。
お疲れさまでした
コマンドラインを使用して一般公開テーブルに対してクエリを実行し、サンプルデータを BigQuery に読み込めるようになりました。
次のステップと詳細情報
このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Start」と呼ばれるラボシリーズの一部でもあります。ラボカタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 1 月 26 日
ラボの最終テスト日: 2023 年 8 月 24 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。