jupyter notebookからトレジャーデータに接続する

最近まで pandas-td を使っていましたが、 トレジャーデータのかたから pytd というライブラリを教えていただきましたのでその紹介です。
pytdのリポジトリ

インストールは pipできます。


pip install pytd

また、準備として環境変数の TD_API_KEY に APIキーをセットしておきましょう。
(write onlyではなく マスターKeyを。)

README.md には connect を使って接続して、queryを発行するサンプルコードが乗っていますが、
個人的にはマジックファンクションを使う方が断然お勧めです。


%load_ext pytd.pandas_td.ipython

とすると、 pandas_td と互換のマジックファンクションが使えるようになります。
(README に %%load_ext pytd.pandas_td.ipython って乗ってますが、これだと%が多くてエラーになります)


%%td_presto {データベース名} -o {結果の格納先変数名}
{ここにSQLを書く}

と言う構文で、jupyterでSQLを実行でき、しかも結果が pandas のデータフレームに格納されるので非常にスムーズに
以降の分析に入ることができます。

pandas-td から移行したばかりなのですが、心なしかpandas-tdより動作が速いのもいいですね。