All Your Bugs Are Belong To Ass

BigQueryでクエリを発行して他のデータストアに丸投げするには

答え:「bq query を使え」

さすがにこれだけだと味気のないエントリになるので、大まかに補足しますと、例えばElasticsearchなどのデータストアは、APIにJSONを食わせることでデータを格納することが可能だったりします。

そう、JSONを食わせればいいのであれば、BigQueryのリザルトセットをJSONで受け取ればいいのです!!!!

例えばこういうコマンドを発行してやると・・・

bq query -q --format json 'SELECT path, count(*) FROM blog.access_log WHERE time >= "2015-03-19 00:00:00" AND time < "2015-03-20 00:00:00" AND path like "%.html" GROUP BY path;'

このようなレスポンスを得られます。(整形してあります。実際には1行です。)

[
    {"path":"/entry/2014-07-22-17-20-29.html","cnt":"1"},
    {"path":"/entry/2014-12-01-23-49-57.html","cnt":"18"},
    {"path":"/entry/2014-10-23-18-58-39.html","cnt":"5"},
    {"path":"/entry/2014-12-21-12-25-25.html","cnt":"8"},
    {"path":"/entry/2014-04-28-18-50-48.html","cnt":"19"},
    {"path":"/entry/2014-06-16-18-14-18.html","cnt":"20"},
    {"path":"/entry/2014-03-11-15-56-10.html","cnt":"1"},
    {"path":"/entry/2014-09-17-12-10-31.html","cnt":"1"},
    {"path":"/entry/2014-06-25-16-11-35_3.html","cnt":"1"},
    {"path":"/entry/2014-11-07-18-07-44.html","cnt":"5"},
    {"path":"/tag/openvz.html","cnt":"1"},
    {"path":"/entry/2014-03-11-11-44-05.html","cnt":"6"},
    {"path":"/entry/2015-01-12-15-14-00.html","cnt":"6"},
    {"path":"/entry/2015-01-18-11-04.html","cnt":"2"},
    {"path":"/entry/2014-11-06-18-42-10.html","cnt":"1"},
    {"path":"/entry/2014-05-26-12-11-49.html","cnt":"2"},
    {"path":"/entry/2013-11-18-15-35-29.html","cnt":"1"},
    {"path":"/entry/2013-09-09-18-49-25.html","cnt":"1"},
    {"path":"/entry/2014-05-28-16-09-44.html","cnt":"2"},
    {"path":"/entry/2013-09-06-16-31-29.html","cnt":"1"},
    {"path":"/entry/2014-08-23-22-47-25.html","cnt":"1"},
    {"path":"/entry/2014-04-28-14-14-55.html","cnt":"1"},
    {"path":"/entry/2014-06-06-13-07-29.html","cnt":"1"},
    {"path":"/tag/yapc.html","cnt":"1"},
    {"path":"/entry/2014-09-05-16-14-43.html","cnt":"1"},
    {"path":"/entry/2015-02-10-16-49-34.html","cnt":"1"},
    {"path":"/entry/2014-11-09-09-25-05.html","cnt":"1"}
]

ちなみに↑のデータは、昨日の当ブログのアクセスログを解析して、どのページがどのくらいリクエストされているのかをトレースしたものです(TOPページ除く) 。全然読まれていないですね!!!!まーそんなもんです!w

Created at
by
ytnobody
Last modified at
2015-03-20 19:01
by
ytnobody