SHOEISHA iD

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

連載記事

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

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
IBM Bluemix User Group(BMXUG)リレー寄稿

Apache Sparkによるスケーラブル機械学習入門

IBM Bluemix User Group(BMXUG)リレー寄稿 第5回


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

 IBM Bluemixは、PaaS(Platform as a Service)として皆さんに最強の開発環境を提供します。Bluemixの特徴として、開発基盤だけではなく、100を超えるサービス「IBM Watson、ランタイム、IoT、Storage(DB)、アナリティクス、モバイル」など、豊富な開発環境やAPIがシンプルな形で提供されており、より素早くアプリケーションを構築&運用することが可能です。「IBM Bluemix User Group(BMXUG)リレー寄稿」では、コミュニティの皆さんが最近もっとも注目しているBluemixのサービスを、順番に紹介していきます。今回は「Apache Spark」と「機械学習」を取り上げます。

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

 近年IoTへの関心が大きく高まっていますが、インターネットに接続された各種デバイスから集約される大量の情報を有効活用するには、集められた情報をいかに処理するかがカギとなります。「Apache Spark」はこうしたビッグデータを高速に処理するための汎用エンジンとして現在活発に開発が進められています。本稿では「Bluemix」の提供するApache Sparkサービスを利用して、初歩的なApache Sparkの利用方法および機械学習ライブラリを利用したプログラムの実装方法をご紹介します。

はじめに

 本稿はBluemixのアカウントを所持している読者を対象としています。Bluemixは初回登録後クレジットカードの登録なしで30日間無料で利用することができるので、まだアカウントをお持ちでない方はまずアカウント登録をおすすめします。BluemixのApache Sparkサービスには、「Jupyter Notebook」をベースとしたインタラクティブなデータ分析環境が提供されており、今回は、このNotebook上にPythonでプログラムを記述していきます。Bluemixで提供されている各ソフトウェアのバージョンは下記のとおりです。

  • Apache Spark 1.6.0
  • Python 2.7.11
  • Jupyter notebook 4.0.6
  • iPython 4.0.1

Apache Sparkとは

 Hadoop MapReduceによって始まったビッグデータ革命ののち、MapReduceの利用が広まるにつれ顕在化してきたパフォーマンス面の問題などを解決するため生まれたのがApache Spark(以下、Spark)です。Sparkは、2009年UCバークレーのRAD Labにおける研究プロジェクトとして誕生し、2010年の3月にオープンソース化、2013年の6月にはApache Software Foundationへ移行されました。今年の7月26日には現時点の最新バージョンである2.0.0がリリースされています。Sparkの特長として、公式サイトでは下記の4点が挙げられています。

  • Speed:Hadoop MapReduceと比較してon-memoryで100倍、on-diskで10倍の速度
  • Ease of Use:豊富なAPIによる各種プログラミング言語(Java、Scala、Python、R)での開発
  • Generality:SQLや機械学習ライブラリ、グラフ処理などの多様な処理の組み合わせ
  • Runs Everywhere:Hadoop、Mesos、スタンドアロンもしくはクラウドでの実行
fig1. Sparkトップページ
fig1. Sparkトップページ

 Sparkでは、構造化データを取り扱うことができる「Spark SQL」、ストリーミングアプリケーションのための「Spark Streaming」、グラフ計算のための「GraphX」、そして今回利用する機械学習用ライブラリ「MLlib」が用意されています。これらのライブラリはすべてfig2のようにSpark Coreと呼ばれる基盤APIを提供するコンポーネントの上に構築されており、例えばストリーミングソースからのデータを機械学習によってリアルタイムに分類するなど、相互に組み合わせることで高度なデータ分析を行うことが可能です。

fig2. Sparkのスタック
fig2. Sparkのスタック

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
Sparkの利用

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
IBM Bluemix User Group(BMXUG)リレー寄稿連載記事一覧

もっと読む

この記事の著者

小峰 央志(Bluemix User Group)(コミネ ヒサシ)

MNU Co., Ltd. 取締役。サーバサイドアプリケーション開発、Webフロントエンド開発、DevOps、スクラムなど広く浅く取り組む。最近は機械学習を利用したアプリケーション開発に興味があり、主にSemantic Image Segmentationについて勉強しているが敷居の高さに苦戦中。主...

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9626 2021/03/25 21:20
" ); }

おすすめ

アクセスランキング

  1. 1
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 2
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  1. 6
    Linuxディストリビューション「Serpent OS」、アルファ版がリリース
  2. 7
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  3. 8
    中小企業の約6割、外部委託エンジニアの獲得に意欲的も、65.1%が「円滑な業務契約に向けた対策」の必要性を実感
  4. 9
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 10
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」

アクセスランキング

  1. 1
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 2
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  6. 6
    Linuxディストリビューション「Serpent OS」、アルファ版がリリース
  7. 7
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  8. 8
    中小企業の約6割、外部委託エンジニアの獲得に意欲的も、65.1%が「円滑な業務契約に向けた対策」の必要性を実感
  9. 9
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  10. 10
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  6. 6
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  7. 7
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  8. 8
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  9. 9
    Google、社内AIエージェント「Google Agentspace」発表
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に

イベント

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

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

メールバックナンバー

アクセスランキング

  1. 1
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 2
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  1. 6
    Linuxディストリビューション「Serpent OS」、アルファ版がリリース
  2. 7
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  3. 8
    中小企業の約6割、外部委託エンジニアの獲得に意欲的も、65.1%が「円滑な業務契約に向けた対策」の必要性を実感
  4. 9
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 10
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」

アクセスランキング

  1. 1
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 2
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  6. 6
    Linuxディストリビューション「Serpent OS」、アルファ版がリリース
  7. 7
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  8. 8
    中小企業の約6割、外部委託エンジニアの獲得に意欲的も、65.1%が「円滑な業務契約に向けた対策」の必要性を実感
  9. 9
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  10. 10
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  6. 6
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  7. 7
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  8. 8
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  9. 9
    Google、社内AIエージェント「Google Agentspace」発表
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に