OpenHack for Modern Data Warehousing で得た気づき ～初学者でも怖くないよ！～

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/ddaefea8-8630-cc1f-35cf-09e3ce98a7ab.png)

# OpenHack for Modern Data Warehousing 

https://openhack.microsoft.com/

2022年1月19日～21日、Microsoftが主催しているOpenHackに参加してきました。
毎回テーマが変わり、今回は Modern Data Warehousing がテーマでした。

## What is OpenHack?

OpenHackってなんなのか。
公式から引用します。

>Microsoft OpenHack is a developer-focused engagement that connects development teams (Open) with experts to tackle a series of real-world challenges through hands-on experimentation (Hack) in person or online (Virtual).

>OpenHack provides a unique and fun upskilling experience for Microsoft employees, customers and partners. Participants work together in teams to complete challenges that increase in complexity and are actively engaged, requiring deep collaboration, as they learn together.

:::note
Microsoft OpenHackは、開発チーム（Open）と専門家を結びつけ、実際に手を動かして実験する（Hack）ことで、現実世界の一連の課題に取り組むという、開発者に焦点を当てた活動です（Virtual）。
OpenHackは、Microsoftの社員、お客様、パートナーの皆様に、ユニークで楽しいスキルアップの体験を提供します。参加者はチームで協力して、複雑さを増していく課題をクリアしていき、積極的に参加して、深いコラボレーションを必要としながら、共に学んでいきます。
:::

テーマは8種類あるようです。DevOpsの3日間とか、セキュリティとか、Containerとか
興味深いテーマが選ばれています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/c055de7e-c646-15d4-4546-f66a88b8592c.png)

## 参加してみて

### 現状のスキルセットと心配事

データウェアハウス関連の実務経験はなく、Microsoft認定資格はDA-100、AI-102、PL-100を取得済みですが、Azure、Serverなどのデータウェアハウス関連の知識はほぼなし。

- チームメンバーに迷惑をかけないか
- ３日間通して理解が追いつくのか

**初学者** がハックイベントに参加するとどうなってしまうのかドキドキでした。

### オープニングセッション

開催場所はコロナ禍ということもあり、Teams。オープニングセッションで Daiyu Hatakeyama さん （@dahatake）が Modern Data Warehousing の全体像を説明。全体像を全員で共有したあとはすぐにチームごとの活動に移ります。

今回（Modern Data Warehousing）の世界観はこんな感じ。データをいろいろなところから持ってきて、ETL（ELT）、クレンジングをし、環境をバージョン管理をしつつ、最終的には Power BI や Azure Machine Learning で使用できる状態にしたい。ざっくりそんな課題でした。

実世界でもよくあるシナリオを、うまくデフォルメしてくれているので取り組みやすいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/a2c9e08d-9131-e359-14ef-656d73a7acaf.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/9caf5f9f-839e-9830-d899-5a2ee1d3d51f.png)

あーこの図わかりやすい。

### Hack 開始 

事前にチームはタグ付がされており、今回は参加が10名ほどだったのか、2チーム構成。チーム別のチャネルで開始されている会議に入ってみると、Microsoftのコーチが2名とチームメイトが5名、早速OpenHackがスタート。

自己紹介をすると、自分と同じような初学者の方も数名いて、なんだかホッとする。

実際にHackが始まると、シナリオが書いてある専用のサイトをチーム全員で読み解き、何をしなければいけないか考えていきます。オープニング・セッションで使用するAzureサービスは説明されているので、「まずは○○を使うのかな」とか「○○やってみます」など会話をしながら手探りで進めます。

作業を進める際に、ドライバーと呼ばれる人を一人決めます。ドライバーは画面を共有しながら実環境を操作する人です。このドライバーは、時間や作業の区切りがいいところで、チーム内でぐるぐるまわしていきます。また、最終的な成果物はチーム全員でひとつを作りあげるので、個別の環境でそれぞれが作るわけではありません。

つまり、例えばチームメンバーに一人だけエキスパートが混じっていたとしても、その人が**ひとりで全作業をどんどん進めてしまうこともできない**ですし、**初学者が混じっていた場合はチーム全員でその初学者がわかるように説明したり、画面操作のサポートをしながら進めていく**ことになります。

ということで、OpenHackは、**初学者にも優しい！** です。新しい技術、新しい考え方、エンジニアの方々の苦労、楽しみ、まとめて経験できます。整理されたデータを使う機会しかない人にぜひ体験してもらいたいと思います。

行き詰まったとき、議論が明後日の方向にいっているときは、参加しているMSコーチ陣が方向を正してくれますし、アドバイスもくれます。また、課題の区切り区切りでミニセッションもおこなってくれます。

上級者にとってもとてもよいアウトプットの場になると思います。

## 続きがやりたい、自社のチームでやりたい！

OpenHack のデータはGitHubで公開されていて、Azureの中に構築されていたServer類なども、PowerShellとJsonファイルを使用してまるっと構築が可能なようです。
3日間のOpenHackの場で、「最終課題提出までたどり着いたチームは全世界でおそらくひとつもない」というはなしもあったので、いつか社内のチームで取り組んでみたいなぁと思います。

https://github.com/microsoft/OpenHack

その前にこの情報だけで環境構築ができる知識が必要ですね 汗。

## 全日程が終わり・・

チームメンバー＋コーチでたくさん会話をしながら自分で考え、自分で手を動かし、ときには思わぬエラーに遭遇してトラブルシューティングをしながら走った3日間でした。

最後、少し余った時間には3日間通して触れてきた技術・サービスの質疑応答をしてくださったので、まだ少しモヤモヤしていたところがスッキリ晴れました。コーチの方には以前も一度お会いしたことがあったので、

OpenHackシナリオ全体の6割ほどまでしか到達しませんでしたが、Azure中心に様々な技術にふれることができたし、CI/CDのときの注意すべきことや、命名規則をきちんと決めようとか、フォルダ分けはこまめにしようなどの基本的なことから、自社のAzureSQLServerのメンテナンスのヒントももらい、コーチの方々には今後、実業務でもお世話になって行くことになりそうです（MSの思うがまま！？）。

Microsoftのみなさま、同じチームメンバーだったみなさま、ありがとうございました。

## 気づき

ということで、まわりの人達に多大なる迷惑もかけながら3日間なんとか乗り越え得た気づき・・・
「初学者、初学者！」と何度も記事を書いていますが、少しずつでも勉強をしたり、こういったイベントに参加したり、週末はコミュニティ勉強会に参加したり、空いている時間に本を読んだり、認定資格をとるために勉強したりわからないながらもドキュメントを読んだり、MicrosoftLearnを読んだりしてきたことで、少しずつではありますが知識が積み上がっているのを実感しました。まだまだわからないことは多いですけど、すこーしだけ会話についていける時間が増えてきたような気がします。そろそろ初学者って冠を外してもいいのかなと思えました。

また、ドライバーが何回もまわってくるので、OpenHackでは強制的にアウトプットを求められます。次に何をすべきなのか、自分はなにをしたいのか、「〇〇をやります」とチームメンバーに説明をしながら作業をすすめることで知識の定着を感じます。アウトプット大事！とよくいいますが、本当に実感しました。

**積み上げ大事!!**
**アウトプット大事！！**

https://qiita.com/hanaseleb/items/86517446ceec5971b951

## バッジももらえます！

https://info.credly.com/

credly に登録できるバッジももらえます。認定資格に合格するともらえるアレです。おなじみですね。
もらえると地味に嬉しいので、こちらもモチベーションのひとつにですよね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/0a1b6891-4925-ff43-bab7-8f7e778d6574.png)

>Earners of the OpenHack: Modern Data Warehousing badge participated in team based challenges to develop, implement, and operationalize a multi-source data warehouse solution on Microsoft Azure, leveraging technologies such as Azure Data Lake Storage, Data Factory, Databricks, DevOps and Azure Synapse Analytics. They demonstrated application of these technologies to design, build, and deploy architectural components necessary for data consumption required by today's organizations.

:::note
OpenHackの獲得者。Modern Data Warehousingバッジは、Azure Data Lake Storage、Data Factory、Databricks、DevOps、Azure Synapse Analyticsなどの技術を活用して、Microsoft Azure上でマルチソースのデータウェアハウスソリューションを開発、実装、運用するチームベースの課題に参加しました。また、これらの技術を応用して、今日の組織が必要とするデータ消費に必要なアーキテクチャ・コンポーネントを設計、構築、展開しました。
:::

## 次回OpenHackは2月開催

Microsoft様にはお世話になったので最後に宣伝のせておきます！
次回開催は2月14日～16日の3日間！私ももう一度参加してみたいと思っています。

#### テーマはOpenHack | AI-Powered Knowledge Mining

申し込みは下記のURLより！

https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x12799598abcd

>マイクロソフトが主催する「OpenHack」シリーズは、実際の開発環境を使いハンズオン形式で進められる、3 日間の課題解決型のハッカソンイベントです。マイクロソフト社内の開発者が協力し、マイクロソフトのプラットフォームの機能とIT業界の最先端技術を使い、実際のビジネスシーンで直面することが想定される技術課題を解決していきます。今回の「OpenHack | AI-Powered Knowledge Mining」では、アプリケーションやサービスにインテリジェントサーチ機能を追加し、人工知能を活用してデータから意味のある結果を抽出することを目指します。本OpenHackにご参加頂くことにより開発者は、Azure Cognitive Services、 Azure Functions、QnA Maker、 Language Understanding Service(LUIS)、 Form Recognizer、 Azure Machine Learningなどの技術を活用して、Microsoft Azure上で多様なデータを分析し、活用する方法を開発、実装、運用する方法を習得することを目指します。