반응형
AWS CLI를 사용하여 해당 워크숍의 데이터 파이프라인을 구현하는 방법을 단계별로 안내해 드리겠습니다. 각 단계는 주요 AWS 서비스의 CLI 명령어를 포함하며, 실제 환경에 맞게 변수들을 조정하셔야 합니다.

1. Amazon S3 버킷 생성
데이터 저장을 위한 S3 버킷을 생성합니다.
aws s3api create-bucket \
--bucket my-data-bucket \
--region us-east-1 \
--create-bucket-configuration LocationConstraint=us-east-1
2. Kinesis Data Firehose 전송 스트림 생성
실시간 데이터를 수집하여 S3에 저장하는 Firehose 전송 스트림을 생성합니다.
aws firehose create-delivery-stream \
--delivery-stream-name my-firehose-stream \
--s3-destination-configuration file://s3-destination-config.json
s3-destination-config.json 파일은 다음과 같은 형식입니다:
{
"RoleARN": "arn:aws:iam::123456789012:role/firehose_delivery_role",
"BucketARN": "arn:aws:s3:::my-data-bucket",
"Prefix": "firehose-data/",
"BufferingHints": {
"SizeInMBs": 5,
"IntervalInSeconds": 300
},
"CompressionFormat": "UNCOMPRESSED"
}
3. AWS Glue 크롤러 생성 및 실행
S3에 저장된 데이터를 스캔하여 메타데이터를 생성하는 Glue 크롤러를 생성하고 실행합니다.
aws glue create-crawler \
--name my-glue-crawler \
--role AWSGlueServiceRoleDefault \
--database-name my-glue-database \
--targets S3Targets=[{Path="s3://my-data-bucket/firehose-data/"}]
크롤러를 실행합니다:
aws glue start-crawler --name my-glue-crawler
4. Amazon EMR 클러스터 생성
데이터 처리를 위한 EMR 클러스터를 생성합니다.
aws emr create-cluster \
--name "MyEMRCluster" \
--release-label emr-6.6.0 \
--applications Name=Spark \
--ec2-attributes KeyName=myKey,InstanceProfile=EMR_EC2_DefaultRole \
--instance-type m5.xlarge \
--instance-count 3 \
--use-default-roles \
--log-uri s3://my-data-bucket/emr-logs/ \
--auto-terminate
5. Amazon Athena를 통한 데이터 분석
Athena를 사용하여 S3에 저장된 데이터를 SQL로 분석합니다.
aws athena start-query-execution \
--query-string "SELECT * FROM my_glue_database.my_table LIMIT 10;" \
--query-execution-context Database=my_glue_database \
--result-configuration OutputLocation=s3://my-data-bucket/athena-results/
이러한 명령어들을 사용하여 AWS CLI를 통해 데이터 파이프라인을 구축하실 수 있습니다. 각 명령어의 세부 옵션은 AWS 공식 문서를 참고하시기 바랍니다.
반응형
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
| 시집 자동화 플랫폼 구축 기획안 (7) | 2025.06.10 |
|---|---|
| [Django] 장고 프로젝트 구동 성공 (7) | 2025.06.09 |
| Django 관리자 페이지를 활용한 시(Poem) 등록 (5) | 2025.06.08 |
| ASGI, 비동기 Python 웹 프레임워크 (11) | 2025.06.07 |
| [SQL] SQL이란? (11) | 2025.06.06 |
댓글