Study

【Udacity】データエンジニア勉強中 -Data Lake-【6】

UdacityのData Engineering Nanodegree Programの経過報告になります。

前回はこちら

Udacity Data Engineering 進捗状況

全行程6の内の4番目、「4. Spark and Data Lakes」がほぼ完了して、現在は「5. Automate Data Pipelines」に着手しています。

ほぼというのは、「4. Spark and Data Lakes」のProjectをやって提出したのですが、まだReviewが通っていないからです。まだ、完全には終わっていません。

このProjectですが、ちょっと手こずっています。エラーが出て先に進めないでいます。エラー内容がわかりずらいのですが、どうやらEMRの設定か、Udacity環境に原因がありそうで、解決が難儀そうなので飛ばしてしまいました。

着手する度にEMRやnoteの環境を再構築しなければならないというのが面倒くさすぎて、腰が重くなっていました。その面倒な環境準備をしてニッチなエラー調査をするというのは、データエンジニアの知識を身につけるという本筋から外れそうですし、時間もあまり残っていないので、次章に進んでしまいました。

負けた感がありますが、目的はUdacity完遂の証明を手に入れることでなく、データエンジニアの勉強をすることだと自分に言い聞かせています。

もし時間が残ったら、Projectのエラー解決に臨みたいと思います。ただ、そんなことはなさそうです。

期限が半月ぐらいしか残っていませんし、本業のほうもそろそろ次の案件が始まるタイミングなので、Udacityに避ける時間はあまりありません。Udacityの優先度はあまり高くないので、飛ばしたProjectの再トライどころか最後まで終わらせるのも難しそうな気がしています。

学習内容まとめ

「4. Spark and Data Lakes」はノートを取らず、動画を見るだけにしときました。

外出時に見ることが多かったので手元にペンタブがない場合がほとんどだったのが主な理由です。あと、Sparkのハンズオンが大半で理論はほとんどなかったので座学もあまりありませんでした。

「4. Spark and Data Lakes」は量が多かったので、スピード優先でハンズオンもそこそこにして、とにかくサクサク進めることを心がけました。

プロジェクト

データレイクのプロジェクトで、以下のETLを作成するのが課題でした。

S3からデータを抽出 -> Sparkを使用した処理 -> S3にロード

Udacityで用意されたJupyterのWorkspaceがあり、別途、EMRやNoteを構築しないといけなくて、最初は実行環境がよくわかりませんでした。

動かしかたがわかったあとでも、冒頭のエラーに苦しみました。ざっと調べたところ、EMRのバージョンだったりEMR構築時のオプションが関係してそうですが、ここで時間を使うのがいやだったので飛ばしました。

内容自体は、S3ロードしたあと、SparkでSQL実行して必要な情報を抽出してとかをやる感じです。実際のEMR環境で動かしながらトライアンドエラーになりそうなので、少し時間がかかりそうな感じがします。

次はAirflow

次はAirflowで、今取組中です。

あと半月しかありませんが、最低でもここまでは終わらせたいと思っています。