Glueの概要
AWS Glue は、分析を行うユーザーが複数のソースからのデータを簡単に検出、準備、移動、統合できるようにするサーバーレスのデータ統合サービスです。分析、機械学習、アプリケーション開発に使用できます。また、ジョブの作成、実行、ビジネスワークフローの実装のための生産性向上に役立つツールやデータ運用ツールも追加されています。
Cloudformationの概要
AWS CloudFormation は、インフラストラクチャをコードとして扱うことで、AWS およびサードパーティーのリソースをモデル化、プロビジョニング、管理することができます。
Cloudformationのテンプレート
以下のテンプレートを作成しました。
Properties:Command:Name=gleetl
に設定するとspark jobになります。
AWSTemplateFormatVersion: 2010-09-09
Description: Create glue spark job
Parameters:
TagOwner:
Type: String
Default: Kiri
###########################################################
Resources:
GlueSparkJob:
Type: 'AWS::Glue::Job'
Properties:
Name: 'sample-cfn-glue-spark'
Role: !Sub 'arn:aws:iam::${AWS::AccountId}:role/ps2-Glue-role'
Timeout: 2880
GlueVersion: '4.0'
NumberOfWorkers: 10 # This value becomes default value of MaxCapasity
WorkerType: G.1X
ExecutionClass: 'STANDARD'
ExecutionProperty:
MaxConcurrentRuns: 15
Command:
ScriptLocation: !Sub 's3://sample-${AWS::AccountId}/sample-cfn-glue-spark/scripts/script.py'
Name: glueetl # set this with spark glue
PythonVersion: '3'
AllocatedCapacity: 0
MaxRetries: 0
Tags:
TagOwner: !Sub '${TagOwner}'
DefaultArguments:
'--job-language': python
'--TempDir': !Sub 's3://sample-${AWS::AccountId}/sample-cfn-glue-spark/temp/'
'--job-bookmark-option': job-bookmark-disable
'--enable-continuous-cloudwatch-log': 'false'
'--enable-continuous-log-filter': 'false'
作成されたGlue Jobの内容
以下は作成されたGlue Jobの内容です。
[cloudshell-user@ip-10-6-35-50 ~]$ aws glue get-job --job-name sample-cfn-glue-spark --output yaml
Job:
AllocatedCapacity: 10
Command:
Name: glueetl
PythonVersion: '3'
ScriptLocation: s3://sample-123412341234/sample-cfn-glue-spark/scripts/script.py
CreatedOn: '2023-02-07T01:51:40.763000+00:00'
DefaultArguments:
--TempDir: s3://sample-123412341234/sample-cfn-glue-spark/temp/
--enable-continuous-cloudwatch-log: 'false'
--enable-continuous-log-filter: 'false'
--job-bookmark-option: job-bookmark-disable
--job-language: python
ExecutionClass: STANDARD
ExecutionProperty:
MaxConcurrentRuns: 15
GlueVersion: '4.0'
LastModifiedOn: '2023-02-07T01:51:40.763000+00:00'
MaxCapacity: 10.0
MaxRetries: 0
Name: sample-cfn-glue-spark
NumberOfWorkers: 10
Role: arn:aws:iam::123412341234:role/ps2-Glue-role
Timeout: 2880
WorkerType: G.1X