실습 주의사항 연결
https://bit.ly/2QCkHSp
실습 URL
Lab | 구분 | URL |
---|---|---|
Lab0 | 사전작업 | https://www.awsdemokr.com/bigdata/hol/Lab0.pdf |
Lab1 | Kinesis | https://www.awsdemokr.com/bigdata/hol/Lab1.pdf |
Lab2 | Glue, Athena, QuickSight | https://www.awsdemokr.com/bigdata/hol/Lab2.pdf |
Lab3 | EMR | https://www.awsdemokr.com/bigdata/hol/Lab3.pdf |
Lab4 | Redshift | https://www.awsdemokr.com/bigdata/hol/Lab4.pdf |
Lab0. 주의사항: aws configure Error 대처 요령
ImportError: cannot import name AliasedEventEmitter
해결 방법
sudo yum downgrade aws-cli.noarch python27-botocore
Lab1. Kinesis 수정 사항
18페이지 아래 2번의 Format이 CSV가 아니라 JSON 입니다.
Lab3. EMR 실습 샘플 코드
https://github.com/setch3000/emr-s3
Lab 4. Redshift
Page7. 5번에서 Security Group은 Default로 설정합니다. AWS 관리콘솔의 Redshift에서 제공하는 Query Editor를 사용하기 때문에 별도의 지정을 할 필요가 없습니다. (이해를 돕는 용도)
Page9. PDF에서 코드 가져올 때, 에러 발생 할 수 있어서 제공
CREATE EXTERNAL TABLE spectrum.sales( salesid INTEGER, listid INTEGER, sellerid INTEGER, buyerid INTEGER, eventid INTEGER, dateid SMALLINT, qtysold SMALLINT, pricepaid DECIMAL(8,2), commission DECIMAL(8,2), saletime TIMESTAMP ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE LOCATION 's3://awssampledbuswest2/tickit/spectrum/sales/' TABLE PROPERTIES ('numRows'='172000')
Page12. PDF에소 코드 가져올 때, 에러 발생할 수 있어서 제공
COPY event FROM 's3://id-redshift-uswest2/tickit/allevents_pipe.txt' IAM_ROLE 'ROLE_ARN으로 바꿔 넣으세요.' DELIMITER '|' TIMEFORMAT 'YYYY-MM-DD HH:MI:SS' REGION 'us-west-2'
Page15. 오타
두 번째 쿼리가 더 빠르게 실행되는 것을 확인합니다. 이는 Amazon S3에서 읽는 데이터가 더 적기 때문 입니다. 데이터 볼륨이 클수록 실행 속도의 차이가 더 분명해 집니다. (다만 본 예제와 같이 데이터량이 작은 경우 그 차이는 미비합니다.) 또한, Amazon S3에서 읽는 데이터 양에 따라 Redshift Spectrum에 대 한 요금이 부과되므로, 쿼리 실행 비용도 줄어듭니다
참고 자료
Kinesis Agent를 이용해서 Data firehose로 데이터 전송
https://docs.aws.amazon.com/ko_kr/firehose/latest/dev/writing-with-agents.html