名古屋Ruby会議03 発表資料。
BdashというアプリケーションをElectronで作りました。 bdash-app/bdash: A simple business intelligence application. 以下からダウンロードしてインストールできます(現状まだMac版だけ)。 https://github.com/bdash-app/bdash/releases ざっくりとこんな感じのことができる。 SQLを書いて保存&実行できる 結果を元にグラフを書ける gistで共有できる 現状で対応しているデータソースはMySQL、PostgreSQL(Redshift含む)、BigQuery 仕事でRedshiftを使って分析SQLを書くことが増えて、手元ではJupyter Notebookを使ってたんだけど、SQL書いてグラフを書くだけの用途には若干オーバースペックでもうちょっと簡単にできるといいなと思ったのがき
Embulkを利用してMySQLのデータをBigQueryにロードする際に便利なツールを開発したので紹介です。 「Samidareっていいます! よろしくお願いします。Embulkの設定作成はお任せください!」 開発経緯 業務でログデータの解析基盤としてBigQueryを使用することになったのですが、本番環境のMySQLのデータもBigQueryで参照できるようにすると色々と夢が膨らむという事に気付きました。 Embulkを利用すると簡単にMySQLのデータをBigQueryにロードできるという情報を入手したので検証したところ、確かにこれは楽チンだという結論に至りました。ただ、問題点としてテーブルの数だけEmbulkの設定ファイルを作成し、テーブル毎にEmbulkを実行しなければならないという点です。 当初でもBigQueryにロードしたいテーブル数は20以上あり、今後対象のテーブルが増え
embulk-output-bigquery の Partitioned Table 対応で調べてたので、その時に調べたものを雑にまとめておく。APIを直接叩いて実装しているので、bq コマンドでの使い方については調べていない。 EDIT: 現在は DATE もしくは TIMESTAMP カラムを指定した partitioning が可能ですが、本ドキュメント記載時にはまだ BigQuery がサポートしていなかったため、その記述が抜けています。 TL; DR 基本的に tableId に partition decorator ($YYYYMMDD) を指定して操作する DAYパーティションしか(今のところ)切れない。 特定パーティションのデータを置き換えたい場合は、パーティションを指定して、writeDisposition: 'WRITE_TRUNCATE'として load (または
こんにちは。 インフラエンジニアの村上です。 マネーフォワードのインフラチームは、サービスに関わるインフラから、自社の作業環境、開発環境、さらにはサービスのインフラの中でも物理的なものからOS・ミドルウェア・アプリケーションのメンテナンス・ビルド・リリース・運用まで幅広く関与しています。 今回はGoogle Cloud PlatformのBigQueryを活用してアクセスログの分析環境を構築した時の話を紹介します。 この記事に書かれる事 データ分析基盤としてBigQueryを使用した話と データ量を例示しながら使用を開始した時のトラブルシュートとパフォーマンスについて紹介する。 データ移行のコツもうまく含めながら書いていく。 BigQueryを採用した訳 マネーフォワードの家計簿は350万人以上のお客様に利用いただき、 アクセスログは日々2.500万件程度増えております。 サービス開始から
このページは、2015 年 3 月 1日現在の https://cloud.google.com/bigquery/query-reference の翻訳です。最新の情報は、こちらの英語のページもご確認ください。 修正等のフィードバックがあれば、こちらからお寄せください。 BigQuery のクエリーは、標準 SQL の SELECT 文にアレンジを加えたものを使って書きます。BigQuery は、COUNT、算術演算、文字列操作など、さまざまな関数をサポートしています。このドキュメントでは、BigQuery クエリーの構文と関数の詳細を説明します。 目次 クエリーの構文 BigQuery のすべてのクエリーは、次の形式の SELECT 文です。 SELECT [[AS] ] [, [[AS] ], ...] [() WITHIN ] [FROM [(FLATTEN(|()] [, |()
BigQuery には Table wildcard functions という関数があって、テーブルを日次、月次とかに分割している場合に重宝します。 例えば、 TABLE_DATE_RANGE(mydata.people, TIMESTAMP('2014-03-25'), TIMESTAMP('2014-03-27')) こう書くと、 mydata.people20140325 mydata.people20140326 mydata.people20140327 というテーブルが一気に取得できます。 しかし、これ日次でテーブルを分割している場合にしか使えなくて、そこまで行数が多くない場合、月次で分割しているテーブルがあって、その今月分のデータだけを引っ張ってきたい、という場合に使えないのです。 ということで、擬似的に TABLE_MONTH_RANGE 的なことができないか試しいたとこ
2015年02月16日15:55 カテゴリ BigQueryで使えるクエリをまとめてみた こんにちは。Zucks Ad Networkの開発に携わっている@smileeeenです。 最近では所謂ビッグデータを活用している事例も珍しくなくなってきました。 ビッグデータを用いて分析などを行う時に、便利なツールの1つとしてGoogleが提供しているBigQueryがあげられると思います。 弊社内でもBigQueryの活用例が増えてきているので、この機会にどのようなクエリが発行できるのか、お勉強を兼ねてまとめてみました。 ちなみに私は普段MySQLに慣れ親しんでいるので、MySQLではできないような事を中心にまとめてみたいと思います。 それでは、公式サイトのリファレンスに倣って確認していきたいと思います。 Query Reference - Google BigQuery — Google Clo
このエントリは MySQL Casual Advent Calendar 2014 の1日目として書かれた記事であり、同時に Google Cloud Platform Advent Calendar 2014 の17日目として書かれた記事でもあります。 このエントリは MySQL と BigQuery を組み合わせて使う際に誰しも思うであろうことをどう解決するかという一手について書いたものです。 MySQL について もはや説明不要の RDBMS ですね。これを読まれている方の中でも多くの人が使っているのではないでしょうか。 MySQL Casual Advent Calendar 2014 はまだまだ執筆者を募集しておりますので、ふるってご参加ください。 MySQL Casual Advent Calendar 2014 - Qiita BigQuery について こちらも説明は要らな
※注意:2015年5月末くらいに試した内容なので今後も使い続けられる方法かどうかはわかりません。 BigQueryにデータをインポートしたけど間違いがあったのでインポートし直したい、ということありますよね。 普通のDBみたいにtruncateやdeleteができれば楽なのですがBigQueryにはそのような機能は用意されていないようです。 しかし、クエリ実行のオプションを使うことで擬似truncateすることができたのでメモしておきます。 まず、WebUIを開き、truncateしたいテーブルのselect文を書きます。この時、LIMIT 0を付けておきます。 そして右下のShow Optionsボタンをクリックします。 Destination Tableに同じテーブルを指定し、Write PreferenceをOverwrite tableにします。 データ量が多い場合はAllow La
まだ入門もしてないので「ことはじめ」じゃないです。 大体触ってみたのを載せます。 Wikipedia 集計 サンプルデータのwikipediaを集計してみました。 データは3億行ほどあり、サイズは36GBほどあります。 今回は、contributor_usernameを集計し、wikipediaに貢献している人ランキングをつくりました。 上位陣はbotさん達ですね。 結果としては、3億行のデータを、 何も考えずに書いて 16.2秒で集計することが出来ました。 3億行を16秒。 countしなければ3秒くらいで終わります。 MapReduceみたいなのを一切書いてないのにこの速度。 ちなみにテーブルはインデックスしているわけではなく毎回フルスキャンしているらしい。 わお。 データ保管: \$0.026/GB/mo クエリ: $5/TB (スキャンしたデータのサイズで課金) 今回のwikipe
はじめまして、エンジニアの古堀です。 Aimingではログの分析ツールとしてGoogleのBigQueryを利用しています。 ゲームプレイのログを集計、分析して機能開発、改善の指針として活用しています。 実際に運用に乗せてみるとログだけでは情報が足りず、ユーザー情報やマスターデータなども必要であると気付きました。そこでMySQLのデータをBigQueryに反映させる試みに取り組んだので紹介したいと思います。 BigQueryの特長と言えば以下の2点ですが、実際に使用してみるとGoogleアカウントでの認証や権限設定なども便利だと感じますね。 * クエリーの処理速度が速い(数十億件のテーブルでも数十秒で結果が返ってくる) * 費用が安い h2. Embulkの採用 MySQLのデータをBigQueryに反映するツールとして “Embulk”:https://github.com/embulk
This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur
ネストされたJSONデータ(https://cloud.google.com/bigquery/docs/personsData.json)を、fluentdを使ってGoogle BigQueryに投入します。 BigQueryは、こういった構造化されたデータに対応する WITHIN、FLATTEN といったSQL関数が準備されています。 これらを利用したSQLクエリを構築してデータを取り出してみます。 プロジェクトを作成 https://console.developers.google.com/project Google Developers Consoleを開き、プロジェクトを作成して、『プロジェクト ID』『メールアドレス』をメモしておいてください。 また、P12キーファイルを保存しておいてください。 認証で必要になります。 サーバ AMI: CentOS 6 (x86_64)
経緯 ちょうどログ解析基盤を移行しようとしていたところに、下記の記事が。 Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja BigQueryは、社内の利用者も多いGoogle Apps Script用のAPIも用意されているので、これは検証せねばと思っていました。 検証には、こちらの記事がたいへん参考になりましたm(__)m FluentdでGoogle BigQueryにログを挿入してクエリを実行する そして、課題も。。 fluent-plugin-bigquery単体では、BigQueryの格納先tableを動的に変更することができません。 BigQueryのPricingをみると、クエリ毎にtableのデータ量で課金されます。また、recordの削除はできないので、定期的にtableを変更してクエリ対象のtableが肥大化し
結論 fluent-plugin-bigquery を GCE 以外で使う場合、認証情報が必要だが、 p12キーファイルはディスコンなので、JSON key の利用を推奨する JSON key 形式なら、fluentd の設定ファイルに秘密鍵を埋め込めて便利 設定サンプル <match dummy> type bigquery auth_method json_key json_key { "private_key": "-----BEGIN PRIVATE KEY-----\n...", "client_email": "xxx@developer.gserviceaccount.com" } </match> 解説 先日、fluent-plugin-bigquery に以下の Pull Request を出してマージしてもらった。 Support JSON key file and a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く