【AWS】AWS Data Wrangler ~ 入門編 ~

■ はじめに

AWS Data Wrangler ってのがあるようなので調べてみた。

目次

【1】AWS Data Wrangler
 0)公式ドキュメント
 1)AWS Data Wranglerとは?
【2】環境設定
 1)pip / conda
 2)AWS Glue
 3)その他AWSサービス

【1】AWS Data Wrangler

0)公式ドキュメント

https://aws.amazon.com/jp/blogs/news/how-to-use-aws-data-wrangler/
Github
https://github.com/awslabs/aws-data-wrangler
APIリファレンス
https://aws-data-wrangler.readthedocs.io/en/2.7.0/api.html

1)AWS Data Wranglerとは?

https://aws.amazon.com/jp/blogs/news/launch-aws-data-wrangler-v1-0/

より抜粋
~~~~~~~~~~~~~~~
Data Wranglerは
Pandasライブラリの機能をAWSに拡張するオープンソースの
Pythonライブラリです。
~~~~~~~~~~~~~~~
 => 便利Pythonツールみたいな感じ?
 => 内容をみるとboto3 API をラップしたようなメソッド(※)もあるので
  ETL以外のAWS処理全般で使えそう。

※ 例えば、以下のAPI仕様にある「awswrangler.s3.delete_objects」など

https://aws-data-wrangler.readthedocs.io/en/2.7.0/stubs/awswrangler.s3.delete_objects.html#awswrangler.s3.delete_objects

import awswrangler as wr

# Delete both objects
wr.s3.delete_objects(['s3://bucket/key0', 's3://bucket/key1'])

# Delete all objects under the received prefix
wr.s3.delete_objects('s3://bucket/prefix')

Data Wrangler って名前について

cf. Wrangler (ラングラー) = 口論者、乗用馬の世話係、カウボーイ etc...

 => 馬や牛を集めて操るカウボーイ(wrangler)のように、
  データを自在に操る「Data Wrangler」っていう言葉があるらしい

https://www.oreilly.co.jp/books/9784873117942/

【2】環境設定

1)pip / conda

https://aws-data-wrangler.readthedocs.io/en/2.7.0/install.html

# pip
pip install awswrangler

# conda
conda install -c conda-forge awswrangler

2)AWS Glue

PySpark Jobs(Ver2.0) の場合
https://aws-data-wrangler.readthedocs.io/en/2.7.0/install.html#aws-glue-pyspark-jobs

より意訳

[1] 対象のGlue PySpark jobのJobパラメータを以下のように指定する

 * Key: --additional-python-modules
 * Value: pyarrow==2,awswrangler

 ※ Versionを特定したい場合、pyarrow==2,awswrangler==2.7.0

それ以外のJob(Python shell)の場合
https://aws-data-wrangler.readthedocs.io/en/2.7.0/install.html#aws-glue-python-shell-jobs

より意訳

[1] 以下からwheel ファイル(.whl)をダウンロードする

https://github.com/awslabs/aws-data-wrangler/releases

[2] S3上にwheel ファイルを置く
[3] 対象のGlue Jobの Python library path に[2]のファイルパスを指定する.

3)その他AWSサービス

* 以下に記載されているので、こちらを参照。

https://aws-data-wrangler.readthedocs.io/en/2.7.0/install.html

参考文献

https://ayemos.hatenablog.jp/entry/2019/10/04/111753
https://blog.serverworks.co.jp/tech/2019/10/08/aws-data-wrangler-tutorial/
https://sadayoshi-tada.hatenablog.com/entry/2020/06/12/080000

関連記事

Glue Job から パーティションを更新することを考える
https://dk521123.hatenablog.com/entry/2021/05/15/130604