データ分析をしたい!最新ETL機能AWS Glueを徹底解説!
  • facebookページ
  • twitterページ
  • 2018.10.26

    データ分析をしたい!最新ETL機能AWS Glueを徹底解説!

    AWS Glueは、2017年08月に一般利用開始されたETLの新しいサービスです。12月にはアジアパシフィック(東京)AWSリージョンで使用可能になりました。AWS Glueでは、AWS上の各種サービス間のデータ連携基盤を簡単な操作で運用することができます。このサービスによってETL処理が簡単にできるとのことで、本記事では仕組みやメリット、料金体系等を解説します。

    AWS Glueとは

    AWS Glueとは、AWS上に保管しているデータを抽出-Extract、変換-Transform、ロード-load(ELT)する、完全マネージド型のサービスです。ETLは、すでに構築済みのサービスやサブシステムの連携をするものです。そのため、AWS Glueもそれ単体で動作するサービスではなく、AWSの各種サービス間を繋ぐデータ連携基盤としての役割を持ちます。まさに「糊(Glue)」のような役割です。

    2017年12月には、東京リージョンで使用ができるようになりました。
    次の章ではさっそく、AWS Glueの仕組みを解説します。

    AWS Glueの仕組み

    AWS Glueは、以下のような仕組みで動作します。

      • データカタログの構築

    データストアから取得対象を指定するだけで、クローラーという機能により定期的に自動でテーブル定義やスキーマ情報を取得し、データカタログを作ります。一般的に言う「クローラー」は、Web上の文書や画像等を周期的に取得し自動的にデータベース化するbotなどのプログラムを指しますが、AWSのクローラーも同様に「自動化」されたイメージです。

      • ソースコードの自動生成

    コンソール上でのちょっとした操作だけで、データの抽出や変換、フラット化、ロード等(ELT処理)をするためのコードを自動生成します。コードはScalaやPython、Apache Sparkで生成されます。

      • ジョブの実行

    ジョブのスケジューリングやジョブ間の連携、他のサービスからのジョブ呼び出し等でジョブを実行します。ジョブの実行順序を調整したり、ジョブが失敗した場合に再試行する機能等もあります。

    AWS Glueのメリット

    AWS Glueのメリットは主に3つ挙げられます。

      • とにかく簡単にELT処理ができる

    構築済みのデータストアに対するデータカタログの作成が自動で行われ、利用したいデータ項目を効率よく探索できるようになります。また、従来は手間がかかるELTジョブの構築、実行、スケジューリング等を自動的に行うことができます。

      • サーバレスで動く

    サーバレスのため、インフラの購入や管理の必要はありません。料金はジョブの実行に使ったリソースにのみ課金されます。

      • 開発しやすい

    ELT処理を行うコードは開発者にとって馴染みのあるScalaやPython、Apache Sparkで自動でコーディングされます。そのため、生成されたソースコードは用意されたコンソール上だけでなく、普段使い慣れた任意のIDEでも編集、デバッグ、テスト可能です。

    AWS Glueが活躍するシーン

    AWS Glueが活躍するシーンは以下のようなものが想定されます。

      • DWH(データウェアハウス)の構築

    データウェアハウスを構築するには、データカタログの作成やETL処理をするコードの作成、ETLジョブのスケジュールや監視等、手間のかかる作業がたくさんあります。AWS Glueはこれら作業を簡単な操作で自動化し、簡略化してくれます。

      • S3(ストレージ)のデータレイクへのクエリ実行

    データレイクとは、データの規模の大小やデータの構造化の有無にかかわらず、リポジトリに色んなデータをまとめて保存しておき、管理したりデータ抽出したりするための仕組みです。
    S3でデータレイクを使用している場合、AWS Glueを使うことでデータの移動等の準備なしに、データレイクへ直接クエリを実行することができます。

      • イベント駆動型のELTパイプラインの構築

    AWS GlueではイベントをトリガーにしてELTジョブを実行させることができます。例えばAWS Lambda関数によりAmazon S3で新しいデータが利用可能になったタイミングでETLジョブを呼び出して実行させる事も可能です。ETLジョブの一環で、検知された新しいデータセットをAWS Glueデータカタログに登録する事も出来ます。

    料金

    前述した通り、AWS Glueはサーバレスのためインフラの購入の必要がありません。AWS Glueの料金は、データの検出およびETLジョブの実行に費やした時間に対して課金されます。

    データの検出にかかる料金

    ストレージ

    データカタログの使用は最大100万個のオブジェクトまでが無料で保存可能です。保存するオブジェクトが100万を超えた場合は、
    10万オブジェクトごとに毎月1ドル課金されます。オブジェクトの内訳は、テーブル、テーブルバージョン、パーティション、データベースを含みます。

    リクエスト

    データからログへのアクセスは、月あたり100万回アクセスまでは無料です。以降は100万回リクエストごとに1ドル課金されます。月ごとのアクセス数なので、月初にはカウントが0にリセットされます。

    クローラーにかかる料金

    クローラーにかかる料金は、クローラーの実行に使用されたDPU(Data Processing Unit)の時間を単位に、下記の条件で課金されます。

    • 1つのクローラーには最低で2個のDPUが必要
    • 1つのDPUあたり1秒ごとに0.44ドル(秒単位に切り上げ)
    • クローラー実行は最低10分で、以降は分単位で課金

    ETLジョブにかかる料金

    ETLジョブの実行に使用されたDPU(Data Processing Unit)の時間を単位に、下記の条件で課金されます。

      • 1つのETLジョブには最低で2個のDPUが必要

    ※デフォルトの設定では1ジョブあたり10DPUが割り当てられている

    • 1つのDPUあたり1秒ごとに0.44ドル(秒単位に切り上げ)
    • ETLジョブは最低10分で、以降は分単位で課金

    その他リソースにかかる料金

    ETL処理に使われるデータソースの利用料やデータ転送料はそれぞれのサービスごとの課金方法で課金されます。

    始め方

    ここでは、AWS Glueを使い始めるまでのおおまかな手順について解説します。
    詳細については下記をご参照ください。
    AWS Glueの始め方

      • コンソールにログインする

    AWS アカウントを設定してログインします。

      • AWS GlueのIAMアクセス設定

    AWS Identity and Access Management(IAM)でAWS Glueリソースへのアクセス許可の設定をします。

      • データストアにアクセスするための環境設定

    AWS GlueがELTジョブを実行するために、データストアへアクセスできるように環境設定します。

    AWS Glueを使おう!

    AWS GlueはAWSで利用している各種サービスに対して、データ連携基盤として利用できるELTサービスです。簡単なコンソール上の設定のみで、データを効率的に探索するためのデータカタログの作成が自動化され、ELT処理を行うプログラムも大部分を自動生成できます。サーバレスのため、インフラの料金はかからず、使った分だけの料金がかかります。

    AWSでシステムを構築済みでETL処理をしたいと言った場合に、AWS Glueを使用することを検討してみてはいかがでしょうか。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件