$30 off During Our Annual Pro Sale. View Details »

AWS Glueではじめるデータレイク

marchin
December 01, 2022

AWS Glueではじめるデータレイク

marchin

December 01, 2022
Tweet

More Decks by marchin

Other Decks in Programming

Transcript

  1. AWS Glueで始める
    データレイク

    View Slide

  2. 自己紹介
    - 名前: 阿部 真之
    - 仕事: 株式会社ゆめみ でAndroidエンジニアしてます
    - 最近はサーバサイド Kotlinの仕事も始めました
    - ほぼサーバーサイドどっぷりです
    - 趣味
    - コーヒー、ビール、アニメ、ゲーム、読書、 etc…
    - Twitter: @marchin_1989

    View Slide

  3. アジェンダ
    - データレイクとは
    - AWS Glue
    - AWS Glueのデモ

    View Slide

  4. データレイクとは

    View Slide

  5. データレイクとは
    - データの貯蔵庫
    - 様々な生データを貯めておく
    - ニーズに応じて、利用することができる

    View Slide

  6. - データレイクに入れたり、出したりするときにデータ連携を行う。
    - ETL処理(抽出処理、変換処理、ロード処理)が主な処理。
    データレイクでのデータ連携
    データ連携

    View Slide

  7. - データレイクに入れたり、出したりするときにデータ連携を行う。
    - ETL処理(抽出処理、変換処理、ロード処理)が主な処理。
    データレイクでのデータ連携
    データ連携
    ETL処理以外にもやることがある。
    リトライ処理、メタデータ管理、データーソースのス
    キーマ変更への対応、ワークフロー管理、スケーリ
    ング etc…
    また、それ以前にアプリ実行環境の整備など、やる
    ことが多い。。。

    View Slide

  8. AWS Glue
    - サーバーレスなデータ統合サービス。
    - ETL Job:ETL処理の作成、実行、管理ができる。
    - Glue Data Catalog:データソースのスキーマをカタログ化して、管理することができる。
    - Crowler:データソースをクロールして、Data Catalogを作成できる。
    - GlueStudio:ETL Jobの作成、実行、モニタリングが簡単にできるGUI。

    View Slide

  9. AWS Glueのデモ

    View Slide

  10. AWS Glueのデモ
    RDS上の「購入履歴データ」をS3(データレイク)に保存してみる。

    View Slide

  11. 実行手順
    1. Crawlerの実行。Data catalogを作成
    2. Glue StudioでETL Job構築、実行
    3. 保存データの確認
    1.
    2.
    3.

    View Slide

  12. 1. Crawlerの実行。Data catalogを作成
    - すでに定義済みのクローラーの画面を確認する。
    - データソースはRDSを指定。
    1.

    View Slide

  13. Data sourceにRDSを設定したCrowlerを定義し
    て、Crowlerを実行。
    Hourly, Daily, Weeklyなどで定期実行可能。

    View Slide

  14. テーブルスキーマの変更があった
    ことがわかる。

    View Slide

  15. データカタログの画面。
    crowlerを実行することで、Data catalogの作
    成&更新ができる。
    スキーマを管理し、他のサービスから利用す
    ることが可能。

    View Slide

  16. 2. Glue StudioでETL Job構築、実行
    - Glue Studioの画面で、ETL Jobを構築する。
    2.

    View Slide

  17. AWS Glue Studioの画面から、jobを
    作成する。

    View Slide

  18. GUIベースで、ETL Jobを作成するこ
    とができる。

    View Slide

  19. Sourceから、「Relational DB」を選択
    すると、ノードが作成される。

    View Slide

  20. Data Catalogを作成済みであれば、
    DataCatalogを選択でき、抽出したい
    データーベースのテーブルを選択する。

    View Slide

  21. Actionから、変換処理などを作成しノー
    ドをつなげるように処理を作成してい
    く。

    View Slide

  22. year, month, dayのカラムを追加したり ...

    View Slide

  23. スキーマ名の変更など可能。

    View Slide

  24. いろいろな変換処理が用意されている。
    もちろんスクリプトを自分で書くことも可能。

    View Slide

  25. 最後にTargetとして、保存先にS3を指定。
    FormatはCSVやParquetといったものを選択可
    能。

    View Slide

  26. パーティショニングが可能。
    データ利用時(検索時)に効率よくクエリを実行で
    きたりする。
    ここでは、year, month, dayを指定。

    View Slide

  27. 保存し、Jobを実行。
    実行のステータスは Runsタブで確認
    できる。

    View Slide

  28. 3. 保存データの確認
    - ETL Jobを実行後の、S3データを確認する。
    3.

    View Slide

  29. 保存先のS3バケットを確認。
    パーティションが「year=2022/month=10/day=10/」という
    感じで作成されている。

    View Slide

  30. ファイルの中身。
    $ cat run-AmazonS3_node1669307667051-15-part-r-00000
    amount,user_id,price,product_id,purchased_at,order_detail_id,order_id
    1,3,7100,71,"2022-10-10 22:00:00.0",4239,848
    1,1,1100,11,"2022-10-10 11:00:00.0",4185,837
    1,1,2300,23,"2022-10-10 14:00:00.0",4199,840
    1,1,2700,27,"2022-10-10 23:00:00.0",4244,849

    View Slide

  31. まとめ
    - AWS Glueを利用することで、データレイク周辺のデータ連携が簡単にできる。より
    やりたいことに集中できる。
    - Glue StudioでGUIベースで視覚的にETL Jobを作成、管理可能。

    View Slide

  32. 参考文献
    ・AWSではじめるデータレイク, 上原 誠 (著), 志村 誠 (著), 下佐粉 昭 (著), 関山 宜孝
    (著), 2020, テッキーメディア
    ・YouTube, 【AWS Black Belt Online Seminar】AWS Glue -Glue Studio を使ったデー
    タ変換のベストプラクティス-, https://www.youtube.com/watch?v=xRszN4Tb4uM,
    (2021/04/01)
    ・AWS, データレイクとは,
    https://aws.amazon.com/jp/big-data/datalakes-and-analytics/what-is-a-data-lake/,
    (2022/11/25)

    View Slide