🗂

AWS Certified Data Engineer - Associate (DEA-C01) 合格しました!

2024/08/30に公開

AWS認定資格は、クラウド業界での技術的な専門知識を評価するための重要な基準とされています。私がAWS Certified Data Enginner - Associate(DEA-C01)試験に挑戦した理由も、その専門知識を証明することで将来的なキャリアアップを目指すためでした。

試験に挑戦した背景

私はAWS実務未経験ですが、これまでに、「AWS Certified Solutions Architect - Associate」「AWS Certified SysOps Administrator - Associate」「AWS Certified Developer - Associate」の3つのAWS認定資格を取得していました。AWS認定資格を取得しようと考えた主な理由は、AWSサービスを扱うIT企業への転職を目指していたからです。次のステップとしてデータエンジニアの認定資格を目指すことにしました。

AWSの認定資格は、取得者がどの程度AWSの技術に精通しているかを示す一つの定量的な指標となります。そのため、AWS DEAの取得は、今後のキャリアにおいて非常に重要なステップだと考えました。

学習リソースの選定

AWS DEA試験に合格するために、私は以下の学習リソースを活用しました。

  • Practice Exams | AWS Certified Data Engineer Associate[2024] (Udemy)
    実践的な試験問題を解くことで、試験の形式や出題傾向を把握することができました。
  • AWS Skill Builder (Exam Prep Official Practice Question Set: AWS Certified Data Engineer - Associate (DEA-C01 - Japanese))
    AWSが提供する公式の模擬試験で、試験対策として非常に役立ちました。

さらに、試験ガイドを確認することは非常に重要です。ガイドには試験範囲や出題トピックが詳述されており、効率的な学習計画を立てるための道標となります。こちらのガイドをしっかりと読み込むことで、試験に出題される内容を予め理解することができました。

学習内容とスケジュール

これまでにAWS認定資格を3つ取得していますが、AWS DEA試験勉強は多くの新しいコンセプトを学ぶ必要がありました。特にデータエンジニアリングに関連する以下のAWSサービスとApache Projectの学習を進めました。

AWSサービス

  • AWS Glue
  • Amazon EMR
  • Amazon Athena
  • Amazon Redshift
  • AWS Lake Formation

Apache Project

  • Hive
  • Spark
  • Kafka
  • Flink
  • Hadoop
  • Airflow
  • Parquet

これらの技術に関する基本的な理解を深めることで、AWSが提供するデータ関連サービスの背後にあるコンセプトをより深く理解することができました。

また、勉強時間は1ヶ月と決めていたため効率的に学習を進めることが重要でした。以下のように勉強スケジュールを組み立てました。

  • 1週目
    試験ガイドを確認し、全体像を把握。AWSの公式ドキュメントとリソースを通じて基礎知識を固める。
  • 2週目
    UdemyやAWS Skill Builderを使用して、実際の問題形式に慣れる。Apache Projectの技術を並行して学習。
  • 3週目
    各AWSサービスのドキュメントを詳細に確認し、模擬試験を通じて弱点を洗い出す。
  • 4週目
    総復習と模擬試験の再挑戦。理解が浅い部分を重点的に復習。

試験結果


結果として、無事にAWS DEAに合格することができました。AWSの実務経験がない中での挑戦でしたが適切なリソースと計画的な学習を行うことで目標を達成することができました。

最後に

AWS DEAの取得は、AWSサービスを扱うIT企業に転職するための大きなステップとなりました。この試験を通じて得た知識とスキルは今後の自信につながりました。
このブログがこれから挑戦する方の一助となれば幸いです。成功を祈っています!


参考

Amazon Athena

https://docs.aws.amazon.com/ja_jp/athena/latest/ug/user-created-workgroups.html
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/partition-projection.html
https://docs.aws.amazon.com/athena/latest/ug/connect-to-a-data-source.html
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/reusing-query-results.html
https://docs.aws.amazon.com/athena/latest/ug/troubleshooting-athena.html#troubleshooting-athena-create-table-as-select-ctas
https://docs.aws.amazon.com/athena/latest/ug/ctas-examples.html#ctas-example-format
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/notebooks-spark-getting-started.html
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/columnar-storage.html
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/msck-repair-table.html
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/data-sources-glue.html

Amazon EMR

https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-overview.html#emr-overview-clusters
https://aws.amazon.com/jp/blogs/news/migrate-and-deploy-your-apache-hive-metastore-on-amazon-emr/
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-data-encryption-options.html
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-plan-ha-applications.html
https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/architecture.html

AWS Glue

https://docs.aws.amazon.com/ja_jp/glue/latest/dg/add-crawler.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-dynamic-frame.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/grouping-input-files.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/glue-data-quality.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/machine-learning.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/schema-registry.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/workflows_overview.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/manage-catalog.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-api-jobs-job.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/monitor-continuations.html
https://aws.amazon.com/jp/blogs/big-data/introducing-aws-glue-flex-jobs-cost-savings-on-etl-workloads/
https://docs.aws.amazon.com/glue/latest/dg/add-job.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/data-quality-using-apis.html
https://aws.amazon.com/jp/blogs/big-data/implement-a-cdc-based-upsert-in-a-data-lake-using-apache-iceberg-and-aws-glue/
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/transforms-pivot-rows-to-columns.html
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/set-up-iam.html

AWS Glue DataBrew

https://docs.aws.amazon.com/databrew/latest/dg/profile.data-quality-rules.html

AWS Lake Formation

https://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/onboarding-lf-permissions.html
https://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/data-filtering.html

Amazon Kinesis Data Firehose

https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/record-format-conversion.html

Amazon Kinesis Data Streams

https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CrossAccountSubscriptions-Kinesis.html
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/tutorial-stock-data-lambda.html

https://docs.aws.amazon.com/ja_jp/managed-flink/latest/java/how-flink-connectors.html
https://aws.amazon.com/jp/blogs/news/real-time-anomaly-detection-via-random-cut-forest-in-amazon-kinesis-data-analytics/

Amazon Managed Streaming for Apache Kafka (Amazon MSK)

https://aws.amazon.com/jp/blogs/news/webinar-bb-amazon-msk-2019/

Amazon QuickSight

https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/spice.html

Amazon CloudWatch Logs

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CrossAccountSubscriptions-Kinesis.html

Amazon Managed Workflows for Apache Airflow (Amazon MWAA)

https://docs.aws.amazon.com/ja_jp/mwaa/latest/userguide/working-dags.html

Amazon Simple Notification Service (Amazon SNS)

https://docs.aws.amazon.com/ja_jp/sns/latest/dg/sns-monitoring-using-cloudwatch.html

Amazon Simple Queue Service (Amazon SQS)

https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html

AWS Step Functions

https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/concepts-states.html

AWS Lambda

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/chapter-layers.html
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-intro-execution-role.html
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-sns.html

Amazon DynamoDB

https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/AutoScaling.html
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/ql-reference.html

Amazon RDS

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html

Amazon Redshift

https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_choosing_dist_sort.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/working-with-serverless.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/materialized-view-streaming-ingestion.html
https://docs.aws.amazon.com/redshift/latest/dg/federated-overview.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/materialized-view-overview.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_intro_STL_tables.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/datashare-overview.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c-using-spectrum.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_VACUUM_command.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_EXTRACT_function.html
https://aws.amazon.com/jp/blogs/big-data/real-time-analytics-with-amazon-redshift-streaming-ingestion/
https://aws.amazon.com/jp/blogs/big-data/using-the-amazon-redshift-data-api-to-interact-with-amazon-redshift-clusters/
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/t_Loading-data-from-S3.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_best-practices-single-copy-command.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/t_Unloading_tables.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/t_rls.html

Amazon API Gateway

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/services-apigateway-tutorial.html

AWS Systems Manager

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-parameter-store.html

AWS Database Migration Service (AWS DMS)

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Task.CDC.html
https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting_Latency.html

Amazon VPC

https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/vpc-endpoints-s3.html
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-network-acls.html

AWS Key Management Service (AWS KMS)

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/UsingDSSEncryption.html
https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/key-policy-modifying-external-accounts.html

Amazon Elastic Block Store (Amazon EBS)

https://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/ebs-modify-volume.html

Amazon Elastic File System (Amazon EFS)

https://docs.aws.amazon.com/ja_jp/efs/latest/ug/accessing-fs.html

Amazon S3

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/Versioning.html
https://aws.amazon.com/jp/blogs/aws/introducing-amazon-s3-object-lambda-use-your-code-to-process-data-as-it-is-being-retrieved-from-s3/
https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/selecting-content-from-objects.html

Discussion