실습 주의사항 연결

https://bit.ly/2QCkHSp


실습 URL

Lab구분URL
Lab0사전작업https://www.awsdemokr.com/bigdata/hol/Lab0.pdf
Lab1Kinesishttps://www.awsdemokr.com/bigdata/hol/Lab1.pdf
Lab2Glue, Athena, QuickSighthttps://www.awsdemokr.com/bigdata/hol/Lab2.pdf
Lab3EMRhttps://www.awsdemokr.com/bigdata/hol/Lab3.pdf
Lab4Redshifthttps://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



QuickSight 계정에 문제가 있을 때

{
   "Version": "2012-10-17",
   "Statement": [
   {
     "Effect": "Allow",
     "Principal": {
        "Service": "quicksight.amazonaws.com"
     },
   "Action": "sts:AssumeRole"
   }
 ]
}

AWS CLI command

aws iam create-role --role-name aws-quicksight-service-role-v0 --assume-role-policy-document file://qs.json --path \/service-role/

aws iam attach-role-policy --role-name aws-quicksight-service-role-v0 --policy-arn arn:aws:iam::aws:policy/service-role/AWSQuicksightAthenaAccess
aws iam attach-role-policy --role-name aws-quicksight-service-role-v0 --policy-arn arn:aws:iam::aws:policy/service-role/QuickSightAccessForS3StorageManagementAnalyticsReadOnly
aws iam attach-role-policy --role-name aws-quicksight-service-role-v0 --policy-arn arn:aws:iam::{AccountID}:policy/service-role/AWSQuickSightIAMPolicy
aws iam attach-role-policy --role-name aws-quicksight-service-role-v0 --policy-arn arn:aws:iam::{AccountID}:policy/service-role/AWSQuickSightRDSPolicy
aws iam attach-role-policy --role-name aws-quicksight-service-role-v0 --policy-arn arn:aws:iam::{AccountID}:policy/service-role/AWSQuickSightRedshiftPolicy
aws iam attach-role-policy --role-name aws-quicksight-service-role-v0 --policy-arn arn:aws:iam::{AccountID}:policy/service-role/AWSQuickSightS3Policy




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://id-redshift-uswest2/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