PHPカンファレンス2018でApache Sparkの話をしました #phocon

2018年のペチコンも楽しかった!

f:id:ytakezawa:20181230010118j:plain

もう二週間前の話ですが、
PHPとApache Sparkで始めるデータ解析処理 という話をしました。

speakerdeck.com

現在公開されている動画はこちら
youtu.be *分割されたものが公開されるらしい

アプリケーションを成長させるためには、  
アプリケーションの開発だけではなく、ログデータや、  
様々なメタデータを的確に利用できるようにすることが重要です。  
このセッションではこれらを叶えるためにApache Sparkによるデータ解析処理と、  
ビッグデータ対応のデータベース、  
PHPアプリケーションを組み合わせてアプリケーションをグロースさせるヒントの実装の考え方をお話しします。

トーク補足

Apache Sparkそのものについては、
たくさんの書籍や、ネット上の記事も多くありますのでその詳細は話しませんでした。
(日本国内の記事よりも海外の記事の方がおすすめです)

Apache Sparkを活用するには、まず活用のポイントを知っておかなければなりません。
小さなアプリケーションだったり、
アプリケーションからアドホックに叩きまくりたい、というケースで導入すると
ミスマッチにもなりますし、
自分たち自身で分散システムの保守・運用ができる体制や知識がないと
デメリットとなりますので、その辺りに軽く触れました。
といいつつもWebアプリケーション系に相性もいいSpark SQLを中心に、
Event SourcingとCQRSのランタイムと同時にシステムを支える考え方を交えて紹介しました。

f:id:ytakezawa:20181230012926p:plain

こうした考え方とミドルウェアの組み合わせは、
大きなアプリケーションだったり、リアルタイム性が重要なアプリケーションや、
マイクロサービスアーキテクチャ化に取り入れることもできます。
データ処理アーキテクチャのLambdaアーキテクチャやKappaアーキテクチャでは、
この処理フローを元に様々な処理を連携させていきます。
現代のアーキテクチャで導入を検討するケースも多いパターンかもしれません。
が、やはり事前にその知識が必要であったりするため、セッション自体は少し難しかったかもしれません。

後半はALS (Alternative Least Squares・交互最小二乗法)を用いたレコメンデーションの作り方について、
IBMで公開されているものを元に処理の流れと実装内容を解説しました。

github.com

実際の開発に導入する場合もこれを元に拡張していくといいかもしれません。
自分はSpark MLlibとElasticsearchとHadoopの組み合わせで、
PythonではなくScalaで実装して利用しています。
これは使えそうだ!と思ったら是非アプリケーションに導入してみてください。

アプリケーション開発をしていると、多くは実装だったり、実装のための設計だったり、
そのためのチームでのMTGだったりと、通常その辺りに時間を多く使われると思います。
が、実装や設計といったものと切り離せないデータベースや、
データ処理そのものの情報を吸収するのは難しく
枯れているからこそこれまでの情報と知識を使いがちになります。

が、サービスの規模が大きくなったり、想定外の成長を遂げるアプリケーションを支えるには
技術面における柔軟性と、状態変化に強くするための知識アップデートが必要になることも多いです。

そんな現代において、コンテンツのレコメンデーションなどに代表される機械学習や、
それを作るための大規模なデータとWebアプリケーションを結びつけるものの具体的なイメージがあれば、
アプリケーション開発へのヒントだったり、ログデータの重要性が見えてきたり、
開発者から行えるサービスへのアプローチの面白さ、みたいなのを知るきっかけになれば、
と思います。

スポンサーとしても参加

毎年登壇はしていたんですが、
今回はせっかくなのでスポンサーとしても参加しました。
会社のみなさんにも協力いただいて(自分はほとんど丸投げだった・・・)
たくさんの方がスポンサーブースに来ていただきました。
感謝

f:id:ytakezawa:20181230010136j:plain
アイスタイルブース

Laravelクイズ的なものを実はQRコードで配布していましたが、
結構ちゃんと考えないといけない内容だった為、あまり遊ばれませんでした
Laravel JP Conference2019でもやろうかな
そんな逮捕用のパネルで遊んでくれた方々。

f:id:ytakezawa:20181230010044j:plainf:id:ytakezawa:20181230010104j:plain

サイン会の様子

ありがたいことに今回は、
今年発売された PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応 のサイン会がありました。
サイン会で完売!!!
多くの方に参加していただきありがとうございました!

PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応

PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応

最後にLaravel JP Conderence2019

ペチコンでも最後に宣伝させていただきましたが、
来年開催される Laravel JP Conference2019の参加申し込みが始まっております!

conference2019.laravel.jp

タイムテーブル自体ももうすぐ公開されますが、
豪華な国内ゲストを迎えてLaravelを軸としたセッションをお届けします。
ゲストの紹介、タイムテーブルの公開は、公式Twitterアカウントをフォローしてチェックしてみてください。

twitter.com

来年は1月の仙台、Hackの話をさせていただきます!
楽しみ!!!!!