18

鹿駆動勉強会 青江発表資料

Embed Size (px)

Citation preview

自己紹介

青江 崇

(株)ノーチラス・テクノロジーズ所属

Twitter ID: aoetk / Hatena ID: aoe-tk

奈良育ち!

今は東京で仕事してますが

最近はHadoopなどの分散ミドルウェアを用いた

業務バッチ開発について、その開発標準を考えたり運用周りの基盤開発をやったりとかしてます

自己紹介(続き)

それまでは割と典型的なSI開発やってて主にJavaEE系の色んなシステム作ってました

B2CやB2BのWebサービスとか、社内基幹システムとか色々

近年はFlexやJavaScriptを使ったRIA開発とかも

なので個人的にはGUI開発にすごく興味有り

今JavaFX追っかけてます!

今日のお話

うちの会社のメンバーが中心になって開発、展開している、Asakusa FrameworkというOSSフレームワークの紹介をします

Hadoopを業務バッチ開発に、なフレームワークです

Hadoopとは?

きっとここに集った皆様には大仏様に説法でしょうが…

一応簡単に説明

OSSの分散処理ミドルウェアです

http://hadoop.apache.org/

中核はHDFS(分散ファイルシステム)とMapReduce(分散処理フレームワーク)

おっきなデータ

サーバーたち

巨大なファイルをそれなりの大きさに分割して分散配置

(HDFS)処理

処理 処理 処理

データのあるところに処理を飛ばす(MapReduce)

• 処理を分散したデータの所に飛ばすのがポイント(I/Oを分散させる)• 「処理」はmap関数とreduce関数の組み合わせに限定→お陰で簡単に分散できる

でもHadoopが使われている所って…

Webサービスとかのログ解析とか

機械学習とか

ソーシャルグラフ分析とか

マーケットバスケット分析とか

要はSIerな現場には縁の無い話とちゃうの?

案外そうでもないかも

こんなことありませんか?

夜間バッチの突き抜けにgkbrしてませんか?

RDBとかだとどうしてもディスクI/Oがボトルネックになって速くならなくて困ったりとか

で、パーティション切って何台かのマシンで並列実行したりとか

さっきも言ったようにHadoopの強みはI/Oの分散

これが活かせるなら使えます

後は処理が分散可能かですが…

人間が業務をやったときに人海戦術でできるかを考えましょう(人海戦術でできる=分散可能)

でも…

Hadoopってmap関数とreduce関数しか書けへんよね?それでロジック組むのしんどくない?

品質とっても大事やけどテストとかどうすんの?

そこで…

Asakusa Frameworkとは

データ

演算子

バッチ処理をデータフローの視点に沿って設計して…

その設計をそのまま落とし込めるJavaのDSLで書いてフレームワークのコンパイラにかけると...

Hadoop MapReduceのジョブ群が吐き出される!

テストフレームワークもあります!

テストケース、テストデータ、検証内容をExcelで書けます!

Excel大好きな貴方の上司もこれで安心

というわけで是非お試しあれ

公式ホームページhttp://www.asakusafw.com/

GitHubhttps://github.com/asakusafw

ドキュメントhttp://asakusafw.s3.amazonaws.com/documents/0.2/release/ja/html/index.html

ご清聴ありがとうございました