Jupyterから、AWS Athenaへ接続し、データを取得させる(mac OS)


Jupyterを用いて、Athenaへ接続させる。

ここではpythonライブラリの、
「PyAthenaJDBC」を使用して、Athenaへ接続し、
クエリ結果を取得するまでを目指します。(macOS 10.13.6)

*前提として、PyAthenaJDBCはjavaのjdkを動かすので、
jdkがない方は以下手順1から。
既に所持されている方は手順2から進めてください。

*2019年2月時点で
私の接続環境の、それぞれのバージョンは、
python3.7
jdk11
macOS 10.13.6
です。

*以下リンクは、PyAthenaJDBCの公式ページです。
こちらを参照すると、jdkのバージョンは8以上が必要です。
https://pypi.org/project/PyAthenaJDBC/

手順1
・ターミナルを開いて、JDKをインストールさせる

brew cask install java

手順2
・Jupyter(Labまたはnotebook)を開き、以下ライブラリをインストールさせる


!pip install PyAthenaJDBC
!pip install psycopg2
!pip install ipython-sql

・以下おまじないを個人の環境に当てはめる
- アクセスキー
- シークレットキー
- リージョン
- データベース名
- s3のcsvなど収めているディレクトリ


%load_ext sql
%config SqlMagic.autocommit = False
conn = 'awsathena+jdbc://アクセスキー:シークレットキー@athena.リージョン.amazonaws.com:443/データベース名?s3_staging_dir=s3://s3のcsvなど収めているディレクトリ'

・SQLを書いて、実行


%%sql $conn
SELECT * FROM "データベース名"."テーブル名" LIMIT 1; #←ここにお好みのSQLを記載してください。

また、
%や%%ってなんじゃらほい?という方は、
マジックコマンドで調べてみると幸せになると思います。

EOF