SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Data Engineering Conference 2015 Powered by Developers Summitレポート(AD)

Apache Sparkと機械学習、データ基盤にフォーカスした未来志向のテクノロジーカンファレンス

Data Engineering Conference 2015 Powered by Deverlopers Summit レポート

  • X ポスト
  • このエントリーをはてなブックマークに追加

Beyond Shuffling - tips & tricks for scaling Apache Spark(Apache Sparkをスケールアップするためのヒントとコツ)

スピーカー:Software Developer, Spark Technology Center, Holden Karau氏

このセッションの資料がこちらのページからダウンロードできます このセッションの資料が こちらのページ からダウンロードできます。

 Surve氏と同じく、Spark Technology Centerから来たKarau氏は『初めてのSpark』(オライリー・ジャパン刊)などのSpark関連書籍を執筆している。過去にはAlpine、Databricks、Google、Foursquare、およびAmazonでの検索や分類の仕事に携わってきた。このセッションはApache Sparkのジョブをスケールアップすることをテーマに行われた。

Software Developer, Spark Technology Center, Holden Karau氏
Software Developer, Spark Technology Center, Holden Karau氏

 SparkではRDD(Resilient Distributed Dataset:不変で並列実行可能なコレクション)が標準機能として利用できるようになっている。まずは再利用する場合について考える。ここで問題になるのがキー・バリュー・データに関する考慮点である。どのように分散しているか、どのような集計機能を使用する必要があるのかである。

 特に、問題になるのがキーの不均衡である。キーは均等に分散していないため、「groupByKey」により大量の処理が発生してしまう。Karau氏は「groupByKeyは悪!」と断言するほど。ほかにも、キー順にソートすることでパーティションサイズの制限やパフォーマンス劣化という問題が生じることがあると、Karau氏は指摘する。

 対策として挙げられたのは「Spark SQL」の使用だ。Spark SQLはSpark(RDD)の操作をSQLで行うためのクラス群である。Karau氏によると、データが構造化データまたは半構造化データの場合で、データのサブセットに対してのみ処理を行うケースでSpark SQLを用いると、パフォーマンスが改善することがあるという。

 そのほか、Karau氏はSparkの機械学習にコードを自動生成するものを組み込む方法と、そうして生成されたコードの例も示した。

【参考】Sparkのプログラミングガイド(Java、Python、Scalaに関するものも)

パネルディスカッション「アプリ・サービス開発者が学ぶべきデータアーキテクチャはこれだ!」

 本イベントの最後に行われたパネルディスカッションでは、Sparkに知見のあるメンバーが集い、現在のSparkについての特徴やこれからのデータ基盤として何を選ぶべきかなどを意見交換した。

モデレーター:谷川 耕一氏(ブレインハーツ株式会社 取締役)

パネラー:大谷 弘喜氏(ワークスアプリケーションズ 開発本部)
小野寺 民也氏(日本IBM東京基礎研究所 サービス型コンピューティング部長)
神林 飛志氏(株式会社ノーチラス・テクノロジーズ 代表取締役社長)

 大谷氏が所属するワークスアプリケーションズでは、昨年10月に「HUE」というクラウドベースERPを発表。「コンシューマ技術をエンタープライズに」を掲げ、CassandraやSparkなどを基礎技術として利用している。大谷氏は「ソフトウェアを高速化するにはアプリケーションの作りを変える。アルゴリズムを改善する」と話す。

 神林氏のノーチラス・テクノロジーズは業務系の分散処理を行うミドルウェア開発に携わっている。「いまHadoopを業務で用いているなら明日からSparkに」と勧めつつも、Sparkは「過渡期の産物でもあるため、導入はやさしいとはいえない。未導入であれば、まだ静観してもよいのでは」との見解を示した。

 日本IBM東京基礎研究所の小野寺氏は、「Sparkのソフトウェアスタックは巨大なヒープや大量のスレッドなどJava仮想マシン(JVM)への新たなチャレンジかのように見えるが、実際はJVM/OSへのチャレンジである」と、Sparkを実装レベルから見ている同氏らしい洞察を示した。

Sparkに対する各々の思いや考えが行き交ったパネルディスカッション……左から、谷川 耕一氏(ブレインハーツ)、大谷 弘喜氏(ワークスアプリケーションズ)、小野寺 民也氏(日本IBM東京基礎研究所)、神林 飛志氏(ノーチラス・テクノロジーズ)
Sparkに対する各々の思いや考えが行き交ったパネルディスカッション。
左から、谷川 耕一氏(ブレインハーツ)、大谷 弘喜氏(ワークスアプリケーションズ)、
小野寺 民也氏(日本IBM東京基礎研究所)、神林 飛志氏(ノーチラス・テクノロジーズ)

 モデレーターの谷川氏が「エンジニアがこれから学ぶべきデータアーキテクチャは?」と各パネラーにたずねると、大谷氏は「やはり突き詰めると好きなものではないか」と回答。小野寺氏はSparkを挙げて「まだ産まれたばかりの新しい技術ではあるが、参入するにはいいタイミング」と述べ、Sparkに挑戦することを促した。神林氏はSparkが主に大規模データ処理を想定していることを指摘しながら、「RDBのオプティマイザが何をしているのか。まずはそうした基本を理解することが大事です」とSparkを利用するに当たっての注意も喚起した。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

加山 恵美(カヤマ エミ)

フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9125 2016/03/15 13:10

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング