google-bigquerygoogle-bigqueryを使い始める


備考

このセクションでは、google-bigqueryの概要と、なぜ開発者がそれを使いたいのかを説明します。

また、google-bigquery内の大きなテーマについても言及し、関連するトピックにリンクする必要があります。 google-bigqueryのドキュメントは新しいので、これらの関連トピックの初期バージョンを作成する必要があります。

500億のWikipediaのページビューを5秒で分析する(BigQuery初心者チュートリアル)

皆さんこんにちは!これは、BigQueryを使い始める人々のために走ることを愛するデモです。では、簡単なクエリを実行し始めましょ

セットアップ

Google Cloudプロジェクトが必要です:

  1. http://bigquery.cloud.google.com/にアクセスしてください
  2. プロジェクトを作成するよう指示された場合は、そのリンクに従ってプロジェクトを作成し、プロジェクトを作成します。
  3. http://bigquery.cloud.google.com/に戻ってください。

ノート:

  • クレジットカードは必要ありません。毎月、誰もが無料の1TBの分析を受け取ります。
  • BigQueryはクエリごとに料金を請求します。クエリを実行する前に、各クエリの費用がどれくらいかを確認することができます。

質問しましょう

  1. 2015年5月のページビューは、 https: //bigquery.cloud.google.com/table/fh-bigquery:wikipedia.pagecounts_201505で検索してください。

:Googleは最高のセキュリティ基準(PCI、ISO、HIPAA、SOCなど)でデータを保護しますが、ここで行ったようにデータを共有することも簡単です。 https://cloud.google.com/security/

  1. この表には5つの列があります: datehour言語のタイトル要求content_size 。彼らは基本的に "この言語でのこのウィキペディアのページには、この時間に多くのリクエストがありました"と言います。

  2. この表には、約60億行(379 GBのデータ)があります。

  3. ウィキペディアの5月のページビュー数を調べるには、60億行のリクエストをすべて追加できます。

     SELECT SUM(requests) 
     FROM [fh-bigquery:wikipedia.pagecounts_201505]
     
  4. それがどれくらい速いか気づいたか? (経過した1.8秒、私のために処理された43.1 GB)

  5. もっと複雑なことをしよう。これらの60億行以上の正規表現を実行しましょう。どのくらい速くこのことができますか?

     SELECT SUM(requests) req, title
     FROM [fh-bigquery:wikipedia.pagecounts_201505] 
     WHERE REGEXP_MATCH(title, 'Red.*t')
     GROUP BY title
     ORDER BY req DESC
     LIMIT 100     
     
  6. あなたのためにどれくらい速かったのですか?結果でRedditを見つけましたか?

コスト分析

  1. この最後のクエリでは269 GBが処理されました。無料月間テラバイトの4分の1以上。どうして?

  2. BigQueryでは、クエリで処理する列が表示されます。 'title'は大きな列です。テキストを含んでいます。 「要求」列はわずか43.1 GBです。

  3. フリーテラバイトを最後にするには、小さなテーブルにデータを抽出します。たとえば、 上位65,000語のWikipediaページのページビューしかない表があります。同じクエリではわずか1.18 GBしか処理されません.1か月間無料でほぼ1000件を実行できます。

     SELECT SUM(requests) req, title
     FROM [fh-bigquery:wikipedia.pagecounts_201408_en_top65k] 
     WHERE REGEXP_MATCH(title, 'Red.*t')
     GROUP BY title
     ORDER BY req DESC
     LIMIT 100 
     
  4. 無料の月間テラバイトのテーブルを作成することはできません。これは分析のためだけのものです。新しいGoogle Cloud Platformアカウントを無料で300ドルで有効にするか、ここで私にあなたのための抽出を依頼してください。私はそうすることを喜んでします。

BigQueryへのデータの読み込み

BigQueryにデータを読み込むには、プロジェクトの請求を有効にする必要があります。新しいアカウントを無料で300ドルで試してみてください。

  1. プロジェクトにデータセットを作成して、データをhttps://i.imgur.com/FRClJ3K.jpgにロードします

  2. Wikipediaによって共有される生ログをhttps://dumps.wikimedia.org/other/pagecounts-raw/で検索します。

  3. これらのファイルの1つをコンピュータにダウンロードします( https://dumps.wikimedia.org/other/pagecounts-raw/2015/2015-06/pagecounts-20150616-160000.gz)。

  4. 'bq'ツールをインストールします。 https://cloud.google.com/bigquery/bq-command-line-tool

  5. BigQueryにロードする:

     bq load -F" " --quote "" YourProjectName:DatasetName.pagecounts_20150616_16 pagecounts-20150616-160000.gz language,title,requests:integer,content_size:integer
     
  6. 数分待ってください。待っている間、私はその行を説明しましょう:これはCSVファイルではなく、引用符( - quot "")を使用しないスペース区切りファイル(-F "")であり、データセット(最初にデータセットを作成することを忘れないでください)、ロードするファイルを選択し、このファイルが持つ4つの列を定義します。

  7. BigQueryは、特定のサイズまで、うれしく.gzファイルを取り込みます。非常に大きなファイルの場合は、まず圧縮解除してGoogle Cloud Storageに保存することをおすすめします。これ 、/ u / Stuck_In_The_Matrixがコンパイルしたredditコメントで行ったことです。それらのファイルは大きかったが、BigQueryは2分ほどでそれを摂取した。

もっと詳しく知る

より高度な例を用意していますか? Reddit を照会する方法と、すべてのNYCタクシーの旅行を照会する方法を参照してください。

さらに多くのことに従ってください!

インストールまたはセットアップ

google-bigqueryを入手するための詳しい手順は、セットアップまたはインストールしてください。