バナー画像

AWS Glueについてまとめています。

AWS Glueは、ETL支援サービス 数分で分散システムからのデータ取り込みシステムが完成

AWS Glueは、データ分析に使うために、他のデータベースなどからデータを抽出、変換して、分析用データベース(データウェアハウス)にデータを格納するETL(Extract Transform Load)をおこないます。

関連)AWS Glue(分析用データ抽出、変換、ロード (ETL) )| AWS

ETLは、1970年代ごろから使われている概念としては古い言葉で、分散システムのデータを一箇所に集めてBI(ビジネス・インテリジェンス)で分析をおこなう前準備として、データを整備するためのものだったんですね。対象のシステムはデータベース形式や、文字コード、格納されたデータ構造などがバラバラで、それらを一箇所ののデータウェアハウスに格納するために、従来は対象システムごとにスクラッチで1から開発されてきました。

そのうち、都度開発していたら効率が悪いというので、各システムのETL用に共通して使い回せるETLツールが登場してきたんですね。AWS用のETLツールがAWS Glueというわけです。

【関連記事】
データ分析をしたい!最新ETL機能AWS Glueを徹底解説!

AWS Glueの使い方

AWS Gluesのコードベースいんたフェースは、具体的にはPythonまたはScala言語のライブラリ(モジュール)として提供されます。AWS Glueのモジュールを使ってコーディングすると、スクラッチで作るよりも遥かに簡単にETLが構成できるんですね。

以下は、GitHubに公開されている、AWS Glueのモジュールを使ってETLをおこなうコードです。コメント含めて54行のコードで、S3上に配置されているcsv形式のデータを読み込み、データベースに格納します。

#  Copyright 2016-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#  SPDX-License-Identifier: MIT-0

import sys
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.dynamicframe import DynamicFrame
from awsglue.job import Job
from pyspark.sql.functions import udf
from pyspark.sql.types import StringType

glueContext = GlueContext(SparkContext.getOrCreate())

# Data Catalog: database and table name
db_name = "payments"
tbl_name = "medicare"
 :
 :

引用:aws-glue-samples/data_cleaning_and_lambda.py at master · aws-samples/aws-glue-samples

from awsglue… の行で、AWS Glueのモジュールを読み込んでいます。

従来よりもETLを作成するスピードが上がるとは言っても、結局コーディングをおこなうのでは、デバッグやテスト、リリース後のメンテナンスなどが必要になってきます。そうなると、AWS Glueによる恩恵も薄れてきますよね。

そこで、AWS Glue Studioが用意されています。

AWS Glue Studioは、GUIインタフェースからAWS Glueが使用可能になります。

具体的には、以下が簡単に実現できる視覚的なインタフェースが用意されています。

関連)AWSGlue スタジオ – AWSGlue スタジオ

AWS Glue Studioは表形式データ以外に、アプリケーションログ、モバイルイベント、モノのインターネット (IoT) イベントストリーム、ソーシャルフィードなどの半構造化データ向けに設計されています。

AWS Glue カスタムコネクタ

AWS Glue カスタムコネクタは、AWS Glueで使える機能のひとつ。特定のSaaSアプリケーションとカスタムデータソースからS3にデータを簡単に転送できるようになります。例えば、Salesforce、SAP、Snowflace用のコネクタが用意されています。

関連)AWS Marketplace: Search Results

AWS Marketplaceの検索窓に「glue」と入力することで、Glue カスタムコネクタの一覧が表示されます。

AWS Glueのメリット

AWS Glue は、分析、機械学習、アプリケーション用データの検出、準備、結合が簡単にできるサーバーレスデータ統合サービスです。AWS Glueを使うと、短いコードを記述するだけで、本来数ヶ月の開発期間を要するところを、数分で使用可能にします。

AWS Glue には、データ統合を容易にするために、GUIインターフェイスとコードベースのインターフェイスの両方が提供されています。

AWS Glueの利点は、大規模なデータ統合を自動化できる点と、サーバレス環境で稼働するためサーバ管理が不要な点です。利用料金は、ジョブが使用するリソースに対してのみの支払いとなります。

そのほか、AWS Glue を使用して、何千もの ETL ジョブを簡単に実行および管理できます。また、SQL を使って、複数のデータストア間にデータ結合およびレプリケートが可能です。

AWS Glueのまとめ

ポテパンダの一言メモ
  • AWS Gluesは、AWSのETL支援サービス
  • AWS Glueには、GUIインタフェースとコードベースのインタフェース(ライブラリ)がある
  • AWS カスタムコネクタを使うと、特定のアプリケーションやデータからの取り込みが簡単にできる

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。