続 カッコの付け方

AWSを始めとしたクラウドコンピューティング全般と、唯一神emacsにおける()の付け方についてだらだら書きます

Google Data Studio から AWS athena につなぐ

最近流行りのワンイシューってやつに見せかけてちょっと寄り道します。タイトルの通りですが、Data Studio の知名度や、GASについて色々気づいた点も触れます。実は応用の効く内容です。

f:id:iga-ninja:20190826010217p:plain

Google Data Studio ってなによ?

Googleが提供しているBIツールです。無料です。 正確には今は Google Data Portal というらしいですが、ググラビリティーが低いので、Data Studio で書きます。

メジャーなパブリッククラウドはたいていBIツールを持っていますが、無料ということも有りはっきり言ってかなりプアです。ただし、無料の割には結構やれるので、私の周りにもファンはいます。

中立的な評価とは言えないかもしれませんが、だいたい下記に書いてあることに賛同します。

https://www.holistics.io/blog/google-data-studio-pricing-and-in-depth-reviews/

BIツールを入れるとなったら、誰が編集可能で、誰が閲覧だけでとか、ユーザーレベルごとにライセンス料金が異なるとか、結構な面倒事がありますが、無料でそれこそGoogle Docsとかと同じ感覚で使えるので敷居は低いです。私はBI入門レベルなので、偉そうなことは言えませんが、これで感じをつかむのはいいかもしれません。

今回やること

  1. Data Studio のデータコネクタを自作する
  2. GASのソースをCLIで更新する
  3. Data Studio でAthenaのデータを参照する(ようは作ったコネクタを使う)

その前に種明かし
今回のネタはGitHubでたまたま見つけたものを使うだけです。他人の褌で遊ぶだけです。わかってらっしゃる人は下のリンクを辿って貰えばOKで、このエントリの内容を読むのは時間の無駄です。神に感謝しましょう!

github.com

データコネクタの自作

随分と敷居の高いことのように見えますが、結構かんたんです。 すごく丁寧に書いてくれているので、下記を読みましょう。

https://codelabs.developers.google.com/codelabs/community-connectors

GASの組み方(仕様、インターフェース)と、参照のしかたが書いてあります。

GASのソースをCLIで更新する

clasp という謹製ツールができています!やったぜ! 使い方はググってください。勘で使えるレベルだと思いますが、Web上のコードとローカルのコードが上書きされるだとかディレクトリの配置だとかは調べたほうがいいかも。ローカル上のファイル拡張子は.js で問題なし、このツールがPush時にgsに変換されます。

とりあえず手順だけ書きます。意味とかは自分で考えてください。

# とりあえず git clone とかで上記 datastudio-aws-athena-connector のコードを取ってくる
clasp login #初回ログイン
clasp create # standalone えらぶ エラーでコケたらメッセージ読む
vim .clasp.json

{"scriptId":"xxxxxxxxxxxxxx",
"rootDir": "src"}

clasp push
clasp deploy #出てくるIDぽいのメモっとく

Data Studio でAthenaのデータを参照

自作のコネクタを指すときに、clasp deploy の結果のIDを貼り付けます。 f:id:iga-ninja:20190826005906p:plain

あとはよくご存知のCredentialsとかを入れて、データ参照できれば完了 f:id:iga-ninja:20190826005929p:plain

脇道

aws.js(gs) について

今回の収穫の一番大きいのはこれです。できるのはわかっていたけど、こんなに小さくaws-api叩くのに最低限だけのセットを実装されていてこれはナイス。以前aws-sdk for javascriptを動かそうとしていたけど、XHRの実装がGASには無いので、これのラッパーかぁ、きついなと思って諦めた記憶がある。
まあ、そうだよね、これだけあれば動くよね。あとはテメエで aws api をググってなんとかしろやってことで。

clasp便利

これはいい!早いうちに決定版が出ないものかと思っていたけどようやくですな。helpとかも見てほしいけど、logs とか使えそう。
サーバーレスはデプロイ方法がまだ定まってないとずっとずっと言われているけど、少なくとも私には 大体こんな感じ で通用し、違和感なくコマンドが打てる。書いててただのポエム感もするが、世の中の大体こんな感じから大きく乖離していないと思うし、世の中の求めるものが少しずつ定まってきたと感じる。

data studio の進化

進化してると思います。出始めの印象はパブリッククラウド各社がBI出したんでとりあえずウチもってところだろぐらいでしたが、ちゃんと進化しててびっくりした。2テーブルをデータソースでくっつけたりとか昔はできなかった記憶。機能もバリバリではないものの、少しずつ追加されていて、有料版も見据えているのかもしれない。ちゃんとそだてる気、あるんだ。。と実感。