SHOEISHA iD

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

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

DB Press(AD)

Spark環境の構築と運用の煩わしさを排除し、分析に専念できるSpark環境の選択肢

プライベートクラウド環境でもSparkの活用を容易に

 アナリティクス領域でのSparkの活用には、大きく分けて2つの用途が考えられる。ひとつが高速なバッチ処理による大量データの加工や集計だ。これは従来Hadoopが得意としてきたところだが、より複雑で高度な処理、繰り返し処理が多い機械学習などをSparkならインメモリの分散処理で高速に行える。

 もうひとつは、ビッグデータに対するアドホックな分析だ。データサイエンティストなどの分析担当者が、Sparkが提供するシェルを利用することで、様々な分析アルゴリズムを手軽に試行錯誤できるようになる。バッチ処理やアドホックな分析の環境を簡単に利用でき、かつ分析環境が独立して他のユーザーの環境の影響を受けないようにしたい。

 そういったニーズを満たすための一つの答えが、Bluemix上の「Spark as a Service」だ。Sparkで分析するデータをクラウド上に用意できれば、すぐに分析が可能だ。BluemixのSparkではEGOという分散処理エンジンを利用しており、YARNやMesosなどSparkで一般的に使われるスケジューラーをこのEGOに置き換えている。

図:HPCで培ったスケジューリング技術(Platform EGO)[クリックすると図が拡大します]

  「EGOはIBMがハイパフォーマンス・コンピューティングの世界で培ってきたスケジューリング技術を搭載しており、より柔軟で詳細なスケジューリングが行えます」(藤岡氏)

 このようにSpark as a Serviceは便利で使いやすい環境だが、一方でコンプライアンスの制限から自社のデータをパブリッククラウドに置けない場合もある。さらには、大規模なバッチ処理をするような場合も、ビッグデータをパブリッククラウドに移動しなければならず、Spark as a Serviceには向いていない。

 こうした場合、パブリックではなくプライベートクラウドのSpark環境が欲しくなる。それを実現するのが「IBM Platform Conductor for Spark」(以下Platform Conductorと略記)だ。

 現状、Sparkを利用しようとすればHadoopのクラスタを構築し、その上にSparkを搭載するのが普通だ。その際、大規模なクラスタを構築し運用するのは大変なので、ユーザーや分析用途ごとに少ないノード数のサイロ化したクラスタ環境を構築してしまうのが現実だ。これではクラスタの管理も煩雑になり、計算資源も有効利用できない。これでは、多ノードで分散処理し高速化するSpark本来のメリットも十分に享受できない。

 この課題を解消するにはHadoopクラスタにSparkを導入し、さらにその上にマルチテナントを実現できる仕組みも搭載しなければならない。これは、規模の違いはあるが「Spark as a Service」の環境を企業内に作るのと同じことになる。

 そう考えると、一般の企業でそれだけの環境を用意するのはそう簡単ではないだろう。そもそもSparkはまだまだ新しい技術でもあり、Hadoop環境にSparkを載せるだけでもそれなりに手間がかかり面倒なものだ。

 「Platform Conductorを使えば、プライベートクラウドでのSpark環境を容易に実現できます。ユーザーはSparkを使いたいのですが、そのために必ずしもHadoopを運用したいわけではありません。実際、Hadoopのコンポーネントはたくさんあり、Sparkとそれらを適切に組み合わせるのは容易ではありません。Platform Conductorを使えば、SparkのためにHadoopを別途導入する必要はなく、基本的にはPlatform Conductorのファイル1つを配布するだけですぐに使えるようになります」(藤岡氏)

図:IBM Platform Conductor for Spark実装イメージ[クリックすると図が拡大します]

 Platform Conductorでは、Bluemixと同様に分散処理のエンジンにEGOを用いている。さらにクラスタの運用管理には、GUIツールも用意されており、そこから容易にユーザーごとに利用するインスタンスグループを作ったり、そのノード数の増減を行ったりすることが可能だ。

 またSparkのランタイムは、現状3ヶ月に1度くらいの頻度で更新されている。Platform Conductorではこのランタイムの更新も、GUIを使って簡単に行える。さらにSparkの環境はPlatform Conductorの上で完全に独立した形で運用できるので、ユーザーごとにランタイム更新を行うかどうかなども柔軟に制御可能だ。これで、ユーザーがどのバージョンのランタイムを使うかは自由に選ぶことができる。

 もう1つPlatform Conductorの特徴となっているのが、HDFSと互換性のあるIBM独自のIBM Spectrum Scale(旧GPFS)という分散ファイルシステムがあることだ。「IBM Spectrum ScaleはIBMのスーパーコンピュータの技術であるグリッドコンピューティングの成果」(藤岡氏)であり、HDFSよりも柔軟性が高く、OSから直接ファイルシステムをマウントして利用することも可能だ。

 そのためPOSIXのコマンドなどを用いファイルシステムへ直接アクセスすることもできる。「Hadoopの面倒な作法なしで、データを直接IBM Spectrum Scaleに入れられるのもかなり便利です。Platform Conductorで、ユーザーにはSparkのためにHadoopよりも優れた足回りを提供できます」と藤岡氏は強調する。

次のページ
データサイエンティストの“1人に1つ”のSpark環境を

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

  • Facebook
  • Twitter
  • Pocket
  • note
DB Press連載記事一覧

もっと読む

この記事の著者

谷川 耕一(タニカワ コウイチ)

EnterpriseZine/DB Online チーフキュレーターかつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリスト...

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

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

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

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/8007 2016/05/12 11:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング