2016年6月15,16日の2日間にわたって,東京・秋葉原にてデータサイエンティストとデータエンジニア向けのコミュニティイベント「Datapalooza Tokyo」が開催されました。世界各地で開催されているイベントですが,日本で開催されるのは今回が初めてです。
2日間トータルで1,200名ものエントリーがあり,参加者は今注目のSparkや機械学習について学び,データサイエンスに何ができるのかが大いにディスカッションされました。このレポートでは行われた講演の中からいくつかピックアップして紹介します。
データサイエンスのチーム形成に求められる3つのポイント
イベントのオープニングは,シンクタンク,外資ITベンチャー,リクルートでデータサイエンスの事業を牽引し,2015年の日本経済新聞社の「データサイエンティスト・オブ・ザ・イヤー」を受賞した株式会社リクルートライフスタイルの原田博植氏による講演です。
原田氏は「データサイエンスのチームを作るうえで重要なのは3つ。案件のスコープと攻守を明確にすること,業務のコストとインパクトを精査し納得感の醸成をすること,そして戦力構想を可視化することです。」と語り,リクルートでの事例を紹介しながら,それぞれについて解説を行いました。
成果報酬型の人材マッチングビジネスを手掛けるリクルートエージェントでは,「これまでの転職市場における内定傾向データを重回帰分析して係数を算出し,求職者様と求人企業様の期待値をバランスすることで,双方の目的である内定の実現確率を向上する」(原田氏)案件を推進しています。
データサイエンティスト・オブ・ザ・イヤーを受賞した経緯を語る株式会社リクルートライフスタイルの原田博植氏

HadoopとSparkがビッグデータ分析を加速する
日本Hadoopユーザー会,濱野賢一朗氏の講演では入門編として,HadoopやSparkの基本について解説が行われました。
Hadoopは並列分散処理の面倒な部分を解決してくれるミドルウェアと位置づけることができます。濱野氏はHadoopを紹介する際,「大量のデータを分散して処理するMapReduceの処理は,選挙開票の作業をイメージすればわかりやすい」と説明しました。
しかし,MapReduceの反復処理や複雑な処理では多量のI/Oが発生します。そこで注目されているのがSparkです。濱野氏は「Sparkはメモリ上にRDDをキャッシュできるので高速に処理ができ,しかも1つのプロダクトの中にライブラリや周辺ソフトウェアがバンドルされているエコシステム」とSparkの特徴について語りました。
日本Hadoopユーザー会 濱野 賢一朗氏(NTTデータ)がHadoopとSparkの基本を解説

続いて,IBM Sparkテクノロジー・センターでプリンシパル・ソフトウェア・エンジニアを務めるHolden Karau氏が登壇。Python Sparkでジョブをより速く,スケーラブルに実行するための方法について解説しました。
「分散処理を行うPython Sparkでは,シリアライゼーションを二重で実施するため,すべての処理の負荷が増大し,仮想マシンがPythonのメモリを制御しないために,コンテナの条件を簡単に超えてしまいます。こうした問題の救世主となるのがDataFrameです」(Karau氏)。
DataFrameは抽象的なデータ構造を持ち,ほとんどのデータを仮想マシン内に保存します。Karau氏は「構造化データまたは半構造化データの処理,それほど複雑でない処理,データのサブセットに対してのみの処理ではパフォーマンスが改善されます」とその強みを紹介しました。
PySparkによるジョブを,より速く,よりスケーラブルに実行するための最善の方法を語るIBM Spark Technology CenterのHolden Karau氏

Spark2.0の登場で変わる 統合APIと構造化ストリーミング
Spark 2.0のリリースが目前に控えている現状を受けて,株式会社リクルートテクノロジーズ の石川 有氏は,Apache Sparkの現在の機能,2.0でのアップデートの部分,企業での活用事例などを紹介しました。
「Sparkの哲学は3つ。SQLやグラフ処理・機械学習パッケージを使った処理などが実行できるエンジンであること,ハイレベルなAPIが提供されていること,そして他のシステムと連携がしやすいこと。だからこそさまざまな分析シーンに対応できるのです」(石川氏)。
また石川氏は「Spark 2.0における主な変更点は2つ。最適化されたコードが実行できる統合APIの改善と,よりストリーミングが簡単になる構造化ストリーミングです」と,MLlibでも一般化線形モデルやPythonとRのAPIの拡張といった変更があることを紹介しました。
Saprk2.0の主な変更点を解説する株式会社リクルートテクノロジーズ アドバンスドテクノロジーラボの石川 有氏

クリエーションラインの木内 満歳氏は,Bluemixを使ってIoTデータを分析するアプリケーションを作成して動かすというデモを行いました。デモでは温度計のデータをBluemixに送り,それをレシーバーが受け取りCloudantに格納し,蓄積したデータをSpark on BluemixとiPython Notebook(Jupyter)で分析するというものです。
このプログラムを作るために使われたiPython Notebook(Jupyter)を紹介して木内氏は「これは便利です。Sparkのエンジンと接続されていて,直接プログラムを書くことができます。作成したものを共有したり,ダウンロードすることも簡単です」と語ります。
デモの最後に「Bluemixを使って簡便にセンサーデータの蓄積と分析が行えます。センサーがなくてもエミュレータもあります。ぜひ試してみてください」とまずは実践することを提案していました。
Apache SparkでBluemix IoTのデータを分析したクリエーションライン株式会社 シニアコンサルタントの木内 満歳氏
