Python, web, Algorithm 技術的なメモ

技術的なメモを書いていきます.pythonistaを目指しています.

pandas-rsをリリースしました

pandas-rsをリリースしました

pandasから簡単にPostgreSQLあるいはAWSのサービスであるRedsfhit^1につなげる簡単なライブラリを書きました。 適当に書いたコードなので一部臭いのです。修正のPRお待ちしています。 pandas-rsはTreasureData^2さんが開発しているpandas-tdに影響を受けて作りました。

レポジトリはここ↓ github.com

PR待ってます。

postgresが必要です

Macの場合。postgresqlが入っている必要があります。元から入っている場合は必要ありません。

brew update
brew install --force ossp-uuid
brew install postgresql

インストール方法

pip install pandas-rs

使い方

Shellで、passwordをエクスポートすることを推奨しています。

export REDSHIFT_PASSWORD='password'

shellでpasswordをエクスポートしたら、import osをし、環境変数からpasswordを取り出しましょう。 pandas-rsimport pandas_rs as rsでインポートします。

rs.create_engineで、redshfitにつなげる設定を行います。

import pandas_rs as rs
import os # use only if you will access password through environment variables

rs.create_engine(
    dbname='dev',
    user='test',
    password=os.environ['REDSHIFT_PASSWORD'],
    host='foobar.redshift.exmple',
    port='5439'
)

設定が終わったら。 あとはsqlを流すだけです

print(rs.read_sql("select 'hello redshift' greeting"))

上記の結果は以下のようになります

         greeting
0  hello redshift

もちろんpandasなので、そのままグラフの描画も(matplotlibが必要になります)

import matplotlib.pyplot as plt
# %matplotlib inline  #if you use ipython notebook

rs.read_sql("""
select
   *
from
   some_data
""").hist()

そうすると簡単に描画できます。