18facebook0twittertはてぶ0クリエーションラインの藤田です。)に参加してきました。私はスタッフとしてエレベータの乗り換え階にて参加者の誘導を行なっていました。参加者が次々に来場し、会場が賑やかになっていきます。Decemberが始まりました。EUの報告がありました。これまでもSparkには様々な機能が追加されてきましたが、2016年も勢いは衰えなさそうです。Spark障害の話」の発表です。内容はSparkのトラブルシューティングに関するものでした。1年近くSparkを使って実際に起った障害を話してくださいました。Sparkのバージョンを1.4.0から1.5.1に上げた際にジョブがfailした件やexecutorが応答しなくなり、ジョブが完了できずメモリが足りなくなった件など、自分達がどう対処したのかを説明してくれました。前者はSQLContextをHiveContextに変更することで解決し、後者はspark.speculationの設定で遅延タスクを再起動することで解決するそうです。scalaで開発するときに使用するsbtでのテストがfailするのはsbtバージョンが0.10以上で対応した並列実行が原因で並列実行を無効化する必要があるそうです。障害の解決策だけでなく解決策を探る過程も話してくれて、どのような考え方をしていたのかが分かり勉強になりました。Streamingの基本とスケールする時系列データ処理」と題して、Sparkの基本的な事項から時系列データの簡単なユースケースの説明をしてくれました。時系列データの説明やそのデータを使った処理の例を上げたり、Sparkを使って分散処理することの利点(障害に強い)を話してくれました。その後にSparkのRDDやtransformationとactionの簡単な説明をし、コードを示しながらデータの取得・HBaseへの読み書き・データのフィルタ処理など丁寧に説明してくれました。最後にはMapRでできるHadoopやSparkのオンライン学習の紹介をしてくれました。Sparkの基本的な操作からStreaming処理、HBaseの操作方法等を丁寧に発表してくれました。Sparkの初学者にも分かり易い説明だったと思います。MapRでは英語ではありますが、タダでSparkのオンライン学習ができるようでぜひ私も利用してみたいです。Streamingによるリアルタイムユーザ属性推定」の発表です。ユーザが求める情報をマッチングし満足度を向上させるためにユーザ属性を調べます。Streamingを使うことで、リアルタイムに情報収集と属性推定が実現できるそうです。データの取得・転送からStreaming処理、処理結果の反映と製作したサービスのSpark以外の部分も説明をしてくれました。SparkにはMLlibという機械学習用のライブラリがあるのですが、要件を満たすものがなく事前に用意したモデルを使って属性推定を行なったそうです。開発チームにはJavaが書ける人たちとScalaが書ける人たちがいたが言語間での型変換をSparkがimplicitに行なってくれたため、JavaとScalaの共存が楽だったそうです。個人的にはユーザの属性推定にどのようなモデリングを使用したのか気になりましたが、公開してもらえず少々残念でした。実際にサービスを提供するときにどのようにSparkを組み込んでいるかを話していただき、勉強になったと思います。全ての発表が終わったあとには情報交換会が行なわれました。軽食を取りつつ、LTが行なわれたり、各人交流を深めあっていました。まとめ私もSparkを使っていますが、個別に機能を使うことが多く今回発表があったように実践的な開発をしたことが無いので大変興味深く聴かせて頂きました。Streamingには馴染みがないのですが、それでも理解できる分かり易い説明でした。IoT分野との連帯では取得したセンサー値などをStreamingで扱うことになるでしょうから、今後のために勉強をしたいです。LABの情報を逃さずチェックしよう!メールアドレスを登録すると記事が投稿されるとメールで通知します。※登録後メールに記載しているリンクをクリックして認証してください。LABの情報を逃さずチェックしよう!メールアドレスを登録すると記事が投稿されるとメールで通知します。※登録後メールに記載しているリンクをクリックして認証してください。