日々地道に成長

思いついたことを書いていきます。

【AWS SAA】AWSソリューションアーキテクト-アソシエイト-の合格方法【資格勉強】

お疲れ様です。コーヒーです。

 

今回はAWSソリューションアーキテクト-アソシエイト-試験を合格したので、試験の概要や自分なりの合格方法等を紹介します!

 

AWSソリューションアーキテクト-アソシエイト-とは

AWSの幅広い知識習得の証明を行ってくれるものとなります。

特にAWSを用いたサービスの設計及びコスト最適化等が重視されている試験となってます。

詳しい内容は以下公式サイトでも確認してみてください。

aws.amazon.com

受験理由

以前AWSクラウドラクティショナー試験を習得していました。

そこから更なる知識習得を図るために今回はこちらの試験を受験してみました。

学習方法

実際に行った学習方法は以下の2つになります。

  1. udemyの試験突破講座
  2. udemyの模擬試験

それぞれについて詳しく説明します

1.udemyの試験突破講座

学習期間:1か月ほど

 

www.udemy.com

こちらの講座を一通り学習いたしました。

この講座についてはハンズオンを行いつつ、試験に必要な知識を習得していく内容となっております。

自分の場合は初めはハンズオンを丁寧に行っておりましたが、時間がないときにはハンズオンは映像の視聴のみを行う形で行ってました。

講座の内容としてもボリュームがあるため、試験まで時間のない人にはあまりお勧めはできないかもしれません。

また自分の場合はクラウドラクティショナー試験をすでに合格していたこともあり、内容のかぶる部分については2倍速で視聴するなどして、効率よく学習を進めていました。

2.udemyの模擬試験

学習期間:1週間ほど

 

www.udemy.com

 

こちらの模擬試験については最後の追い込みに使用しました。

模擬試験については全問題集を1週したのち、間違えた部分を重点的に復習するしました。

試験突破講座のほうにも模擬試験については3種類ついてきているのですが、それだけではカバーしきれていない問題もこちらのほうに多くありこちらも受けておいてよかったと思ってます。

実際の試験でも同じような内容で出題されているものもあるので、試験突破講座だけでは不安だという人にはおススメできる内容となっているかと思います。

 

まとめ

今回試験学習を行ってみてよりAWSの知識が深まりました。

特に試験突破講座のほうではハンズオンを踏まえているので、実践に近い形での学習が行えるためどのような場面で使用するのかをより細かく理解することができました。

クラウドラクティショナー時点では、それこそAWSサービスの名称を知っているだけであまりどのように使用するのか、どのサービスがどういう状況に適しているのかがわからない状況でした。

そこから自信をもって「AWSの設計の基礎的な部分ならできます!」の状態に自分をもってこれたかなと感じてます。

今後は実際にAWSを使用した簡単なサービスを自分で組んでみたりしてみたいなと考えてます。

 

最後まで読んでいただきありがとうございました!!

【Digdag】Digdag実践トレーニング方法【基礎】

お疲れ様です。コーヒーです。

 

今回は「Digdagって何?」って人でも一から実践で使えるようになるまでのトレーニング方法となります。

レーニングの流れとしては以下のようになってます。

  1. Digdagについて調べる
  2. Digdagのインストール
  3. Digdagの簡易実行
  4. Digdagのサンプルプログラムの理解
  5. DigdagとEmbulkを組み合わせ
  6. Digdagでの変数の使用

こちらの内容を全て完了するころには、Digdagをある程度使いこなせているはずです!

ぜひ最後まで挑戦してDigdagをマスターしてください!

1.Digdagについて調べる

Digdagとは何かを調べなくては始まりません。

こちらの段階では自分なりにメモ等でよいので調べてみてください!

参考として、自分のブログの内容を載せておきますのでこちらも確認してみてください。

stady-diary.hatenablog.com

2.Digdagのインストール

自身の環境でDigdagを使用できるようにインストールを行いましょう!

OSによりインストール方法に違いはありますが、手順に沿ってやってみましょう。

以下参考になります。

stady-diary.hatenablog.com

3.Digdagの簡易実行

インストールがおこなえたら、実際に動作がおこなえるかのテストも含めて実行してみましょう。

こちらの段階でエラー等がある場合はインストールの見直しやパスの確認をおこなってみてください。

それでは、こちらのプログラムを実際に実行してみましょう。

[test.dig]

#timezonの設定
timezone: Asia/Tokyo
#パラメータの設定 _export: var: "digdag"
#タスクの定義 +task: echo>: start ${var}#オペレータの使用

実行コマンド

digdag run test.dig

4.Digdagのサンプルプログラムの理解

先ほどの簡易実行したプログラムについてさらに理解を深めていきましょう。

どれがどの役割をしているのかを理解することが出来れば、今後自分でプログラムを作成するしやすくなります。

以下公式ドキュメントになりますが参考にしてみてください。

docs.digdag.io

5.DigdagとEmbulkを組み合わせての出力

ここからは実践編としてEmbulkと組み合わせたプログラムを作成してみましょう。

以下のEmbulkトレーニングを先にやっておくとより良いです!

stady-diary.hatenablog.com

それでは以下の処理の流れをDigdagで作成してみてください。

  1. digdagの実行日次をを標準出力に表示
  2. MySQLからEmbulkトレーニングで作成したテーブルをcsv形式で自分のローカル環境へ出力(embulkを使用)
  3. 出力したcsvファイルの行数を標準出力に表示

6.Digdagでの変数の使用

先ほど作成したプログラムを変数を使用したものに変更してみましょう!

そうすることで、より汎用性の高いプログラムになります。

Embulkも含めると少しわかりにくいところもあると思いますが、以下参考にしてください。

stady-diary.hatenablog.com

終わりに

ここから先はそれぞれの目的に合ったプログラムを作成していきましょう。

コード形式でワークフローを作成できるDigdagをぜひ使いこなしましょう!

 

お疲れ様でした。

最後までお読みいただきありがとうございます!

【Embulk】Embulk実践トレーニング方法【基礎】

お疲れ様です。コーヒーです。

 

今回は「Embulkって何?」って人でも一から実践で使えるようになるまでのトレーニング方法となります。

レーニングの流れとしては以下のようになってます。

  1. ETLツールについて調べる
  2. Embulkのインストール
  3. Embulkの簡易実行
  4. Embulkサンプルプログラムの理解
  5. Embulkの基本的な使用
  6. Embulkのフィルター及びプラグインの理解

こちらの内容を全て完了するころには、Embulkをある程度使いこなせているはずです!

ぜひ最後まで挑戦してEmbulkをマスターしてください!

1.ETLツール、Embulkについて調べる

ETLツール、Embulkとは何かを調べなくては始まりません。

こちらの段階では自分なりにメモ等でよいので調べてみてください!

参考として、自分のブログの内容を載せておきますのでこちらも確認してみてください。

stady-diary.hatenablog.com

2.Embulkのインストール

自身の環境でEmbulkを使用できるようにインストールを行いましょう!

OSによりインストール方法に違いはありますが、手順に沿ってやってみましょう。

以下参考になります。

stady-diary.hatenablog.com

3.Embulkの簡易実行

インストールがおこなえたら、実際に動作がおこなえるかのテストも含めて実行してみましょう。

こちらの段階でエラー等がある場合はインストールの見直しやパスの確認をおこなってみてください。

以下参考になります。

stady-diary.hatenablog.com

4.Embulkサンプルプログラムの理解

3の時に使用したconfig.ymlファイルの内容を理解しましょう!

一つ一つのコードの理解をすることでより理解が深まります。

ついでにyml形式のファイルとはどういったものかも調べておくとよいです!

以下参考になります。

こちらの参考は公式ドキュメントのため英文ですが、翻訳しつつ中身を確認していくとよいでしょう!

www.embulk.org

5.Embulkの基本的な使用

ここからは実践としてMySQLに実際にデータを出力してみましょう。

実際にデータの出力を行ってみることで、使い方をマスターしていきましょう。

MySQLのインストール

まずはMySQLの環境整備からになります。

もしMySQLの環境が整っているならここはスキップしても問題ないです。

dev.mysql.com

MySQL Workbenchのインストール

こちらもインストールしておきましょう。

MySQLGUIで使用できるので直感的に操作でき、とても便利になります!

www.mysql.com

ローカルホストDBの設定

実際にローカルホストDBに接続しスキーマの作成をおこなってください。

スキーマ名はtest等分かりやすいものにしておくとよいかと思います。

EmbulkのMySQLプラグインインストール

Embulkにはプラグインがたくさんあります。

こちらを利用することで拡張性が高くより多くのことが出来るようになります。

今回はMySQLへのアウトプットプラグインを使用します。

github.com

インストールは以下のコマンドですぐにおこなえます。

embulk gem install embulk-output-mysql
config.ymlファイルの書き換え

quick startで使用したconfig.ymlファイルを書き換えてMySQLに出力できるようにしましょう。

書き換えが終わったら実際にembulkを実行しMySQL内でデータが確認できたら完了です。

書き換え後のconfig.ymlファイルは以下のようになります。

(まずは自分で書き換えてみてください)

in:
  type: file
  path_prefix: sample_
  parser:
    charset: UTF-8
    newline: LF
    type: csv
    delimiter: ','
    quote: '"'
    escape: '"'
    null_string: 'NULL'
    trim_if_not_quoted: false
    skip_header_lines: 1
    allow_extra_columns: false
    allow_optional_columns: false
    columns:
    - {name: id, type: long}
    - {name: account, type: long}
    - {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
    - {name: purchase, type: timestamp, format: '%Y%m%d'}
    - {name: comment, type: string}
out:
  type: mysql
  user: user_id
  password: password
  database: database
  host: localhost
  table: test
  mode: insert

6.Embulkのフィルター及びプラグインの理解

embulkには先ほどのプラグインの他にも様々なプラグインがあります。

また、フィルターと呼ばれるものありこちらを使用することでデータの加工もおこなえます。

以下サイトにまとまっていますので参考にしてみてください。

qiita.com

応用編として、先ほど作成したconfig.ymlファイルに現在時刻を追加するフィルターを新たに追加してMySQLに出力してみてください。

 

終わりに

ここから先はそれぞれの目的に合った使用方法を目指していきましょう。

慣れるとと簡単にETLがおこなえるEmbulk。ぜひ利用していきましょう!

 

お疲れ様でした。

最後までお読みいただきありがとうございます!

 

【AWSクラウドプラクティショナー】AWSクラウドプラクティショナーの我流合格方法【資格勉強】

お疲れ様です。コーヒーです。

 

今回はAWSクラウドラクティショナー試験を合格したので、試験の概要や自分なりの合格方法等を紹介します!

 

AWSクラウドラクティショナーとは

AWSの基礎的な知識の学習および証明に最適な資格となっております。

AWSには他にも資格がありますが、一番入門の段階になっております。

広く浅くAWSのサービスについての知識が身につけることができるものだと考えてもらえればと思います!

詳しい内容は以下公式サイトでも確認してみてください。

aws.amazon.com

受験理由

自分の場合はAWSを業務で多少触ったことがある程度(S3を多少)の知識であったため、実際にどのようなサービスなのか、他にどのようなサービスがあるのか等まったくわかっていなかったため受験をしました。

学習方法

実際に行った学習方法は以下の2つになります。

  1. 参考書を読む
  2. udemyの模擬試験

それぞれについて詳しく説明します

1.参考書を読む

学習期間:1~2週間ほど

 

今回使用した参考書は以下のもです。

こちらの本を一通りざっと読みました。

内容についてはざっくり確認して多少わからなくても概要だけでもつかんでおこうくらいのスタンスで取り組みました。

章の最後に模擬問題もあるので、そこで内容理解できているかの確認も行えます。

2.udemyの模擬試験

学習期間:3週間ほど

 

使用したものは以下のものです。

www.udemy.com

 

こちらの模擬試験問題をひたすら合格ラインを9割近く取れるまで繰り返し挑戦しました。

自分の場合は最終的には3周(基礎問題、応用問題)行いました。

1週目に関しては4~5割くらいの正解率でしたが、取りあえず回答を優先し行いました。

模擬試験後に解説が見れるためそちらを丁寧に確認しつつ、わからい単語についてはさらに詳しくネットで調べたり、参考書を振り返ったりとしました。

そもそものIT用語でわからない単語もあり時間はかかりましたが、問題を暗記するというよりしっかりと内容を理解できるよう勉強を行いました。

模擬試験には基礎レベル、応用レベル、オプショナル問題とあります。

本番の内容としては基礎レベルと応用レベルが混ざっているような印象でした。

(体感では基礎レベルが6~7割、応用レベルが3~4割くらいかなといった感じです)

オプショナル問題というレベルの高い問題もありますが、こちらは1回のみ行いました。

ただ、基礎レベル応用レベルをしっかり理解していれば解ける問題も多く一度やっておいてよかったかなと思います。

 

まとめ

今回AWS試験を受けてみてAWSサービスの概要はつかむことができたかなと思います。

様々なサービスの特徴やAWSの利点について理解するにはとても良い手段ではないかなと思います。

今後はせっかく概要の理解をしたので実際にサービスを触ってみてより理解を深めることができればなと考えてます。

 

最後まで読んでいただきありがとうございました!!

【BigQuery】既存のテーブルをパーティションテーブルに変更する方法

お疲れ様です。コーヒーです。

 

今回はBigQueryの既存テーブルをパーティションテーブルに変更する方法をまとめてみました。

今回はbqコマンドを使用しての方法になりますので是非参考にしてみてください!

 

使用するコマンドについて

こちらが今回使用する方法の公式ドキュメントになります!

こちらも見ることでより深く理解につながると思います。

cloud.google.com

パーティションテーブルに変更する方法

今回は例として日別でのパーティションを設定してみたいと思います。

bq query --destination_table project_id.data_set_partition --time_partitioning_field date --time_partitioning_type DAY --use_legacy_sql=false 'select * from `poject_id.data_set`'

上記コマンドは[data_se]tテーブルの[date]カラムを[DAY]パーティションで設定し、「data_set_partition」テーブルとして新たに作成したものになります!

それぞれのオプションについて説明します。

基本的に上記を指定し、あとは既存のテーブルをクエリで抽出するだけでパーティションテーブルに変更することが出来ます!

 

以上でパーティションテーブルへの変更は終了となります。

パーティションテーブルは料金的にもお得になるのでどんどん活用していきましょう!

最後まで読んでいただきありがとうございました!!

【BigQuery】tsvファイルをBQに取り込む方法

お疲れ様です。コーヒーです。

 

今回はBigQueryにtsvファイルを取り込む方法を2パターン紹介します!

tsvファイルをBigQueryに取り込むにはひと工夫必要となりますので、こちら参考にしてみてください。

 

BQコマンドでのロードする方法

bqコマンドのloadを使用した方法になります。

ロードしたいファイルに関してはGCSにあらかじめ置いておいてください。

bq load --source_format=CSV --encoding=UTF-8 --field_delimiter="\t" dataset.table gs://path
  • --source_format:csv
  • --field_delimiter:"\t" 

上記のようにオプションを設定することによりtsvファイルでもロードを行うことが出来ます!

Linuxコマンドでcsvファイルに変換する方法

こちらはそもそもcsvに変換してから取り込んでしまおうという方法です。

cat test.tsv | tr "\\t" "," > test.csv

catコマンド:ファイル内容を出力

trコマンド:文字列変換

上記2つのコマンドをパイプ処理で繋げ、csvファイルをtsvファイルに変換してます。

変換後のファイルは通常のcsvファイルをBQに取り込む方法で行えます。

例としてbqコマンドでの取り込みは以下のようになります。

bq load --source_format=CSV --encoding=UTF-8 dataset.table gs://path

 

以上でtsvファイルの読み込み方法は終了となります!

最後まで読んでいただきありがとうございました!!

【BigQuery】SQLでテーブルの差分確認

お疲れ様です。コーヒーです。

 

今回はBigQueryでのテーブルの差分確認方法についてです。

データを整理しているときやデータのリカバリ時に、二つのテーブルの差分を確認する必要が出てくると思います。

そんな時に今回紹介する方法を利用すればすぐに確認できると思います。

クエリ内容

以下のクエリはお互いのテーブルの差分カラムを抽出するものになります!

お互いの差分カラムをすべて表示するものになります。

(
  SELECT date,count(*) FROM table_a
    EXCEPT DISTINCT
  SELECT date,count(*) FROM table_b
)
UNION ALL

   SELECT date,count(*) FROM table_b
    EXCEPT DISTINCT
   SELECT date,count(*) FROM table_a
)

 

以下のクエリはtable_aとtable_bを日別で件数比較しているものになります。

応用するとこのような使い方もできます!

with a as(
(
  SELECT date,count(*) FROM table_a group by date
    EXCEPT DISTINCT
  SELECT date,count(*) FROM table_b group by date
)
UNION ALL

   SELECT date,count(*) FROM table_b group by date
    EXCEPT DISTINCT
   SELECT date,count(*) FROM table_a group by date
)
)
select * from a order by 1

以上が差分確認クエリの作成方法がです。

テーブルの比較に使える手法なのでぜひ覚えておいてください!

最後まで読んでいただきありがとうございました!!