IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
こんにちは.最近ピクルス作りで精神統一をしている,たんぽぽグループ解析チームの石川有です. このブログではお馴染みのたんぽぽグループですが,"No More 「刺身の上にタンポポをのせる仕事」 - 単純作業の繰り返しで開発者の時間を浪費しないために。"というミッションを持っています.その中で解析チームは,データ解析基盤の構築,データマイニング,データ解析の社内コンサルティングを行ない技術からの改善を担当しています. 今回の記事では,mixi における解析基盤について簡単に触れたあと,その基盤における「刺身の上にタンポポをのせる仕事」をどう減らすかの2点について書きます. mixi の解析基盤 まずは解析環境について,簡単にお話します.2012-08 現在 mixi では,主な解析用のツールとしては,Apache Hadoop, Hive を利用しています.またあわせて,自分など一部の人は,
前編の「開発者編」では、Apache Hadoop(以降Hadoop)の歴史と概要に加え、開発者に必要な知識を客観的に証明できる認定資格、CCDH(Cloudera Certified Developer for Apache Hadoop)を紹介しました。後編では、Hadoopの管理者に求められる知識に加え、Hadoopの管理者向け認定資格、また最近のHadoop関連の話題とカラム指向分散データベースであるApache HBaseの紹介、およびHBaseの認定資格を紹介します。 Hadoopの管理者に求められるもの 前編で紹介したように、Hadoopでは一台から数千台規模のクラスタを構築することが可能であり、必要に応じてスケールアウトさせることができます。Hadoopは非常に強力ですが、管理するのはそれほど簡単ではありません。言い換えると、正しい知識を持たずに運用すると、大きなトラブルが
管理が困難―分散処理の常識はZooKeeperで変わる:ビッグデータ処理の常識をJavaで身につける(8)(1/3 ページ) Hadoopをはじめ、Java言語を使って構築されることが多い「ビッグデータ」処理のためのフレームワーク/ライブラリを紹介しながら、大量データを活用するための技術の常識を身に付けていく連載 分散処理の課題が「管理」なのは常識 複数の計算機上で動作(分散)するアプリケーション、ソフトウェアが多く存在します。分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処します。本稿では、複数の計算機(クラスタ)で動作する各サーバを「インスタンス」と呼びます。 本連載で紹介した分散Key-Valueデータベースである「HBase」は複数の計算機で動作する代表的なソフトウェアです。両ソフトウェアはともに「Apache ZooKeeper」(以下、Z
オープンソースの分散処理フレームワーク「Hadoop MapReduce」は、大容量データを迅速に処理したいケースで威力を発揮します。そのMapReduceをより使いやすくするためのツールが「Pig」と「Hive」です。今回は、Hiveを“体感”する方法を解説します。 前回は、大量のデータを高速に処理するための分散処理フレームワーク「Hadoop MapReduce」(以下、MapReduceと表記)を、簡単に扱えるようにするオープンソースソフトウエア(OSS)として「Pig」を紹介しました。今回登場する「Hive」は、米Facebook社で開発された、Hadoop上にデータウェアハウス(DWH)を構築するための基盤ソフトです。2008年12月に正式にHadoopプロジェクトに寄贈され、Pigと同様にHadoopを補完するサブプロジェクトの1つとして開発が進んでいます。 米Yahoo!社主
Hadoopプロジェクトは3つの「サブプロジェクト」で構成されています。 Common:Hadoopの基本機能FileSystem、RPC、Serializationのライブラリ HDFS:分散ストレージを仮想的に1つに扱うためのファイルシステム MapReduce:膨大なデータセットをクラスタ上で分散処理するためのソフトウェアフレームワーク これらが、「Hadoopファミリ」の核であり、並列分散処理機構を支えています。それ以外の「関連プロジェクト」は2011年12月時点では下記のようになっています。 Avro:Commonの持つ機能を拡張したデータシリアライズシステム Cassandra:単一障害点のないスケーラブルなマルチマスタデータベース Chukwa:大規模な分散システムでのデータ収集システム HBase:大規模な構造化データをサポートする、スケーラブルな分散データベース Hive
皆様、遅くなりましたが明けましておめでとうございます。本年も宜しくお願い申し上げます。 今回は前回に引き続き、ユーザシーケンスからコサイン関数の計算に必要な値(図1のa1:b1、a1、およびb1)を取り出す方法を紹介します。 おさらい Hadoopはデータをクラスタ内のローカルディスクに分散し、そのデータがあるノード上で処理を実行するというデータローカリティを実現しているため、コサイン関数をMapReduceのフレームワークに変換して処理することを紹介しました。 その設計方法として、処理結果の形式から逆に考える方法を紹介しました。 図1 計算結果から考えた処理フロー ユーザシーケンスからアクセスユーザ数のカウントまで 第二段階の処理フローは次の通りです。ここでもアイテムIDを具体的なアイテム名で示しています。 図2 第二段階の処理フロー ①では、各ユーザシーケンスからシーケンス内に含まれる
今回はいよいよHadoopを用いたレコメンドシステムについて説明します。 今回のポイントは以下の通りです。 処理をMapReduceフレームワークへ変換することで、分散処理のメリットを享受 アウトプットからkeyについて着目し、処理ロジックを考える 簡単な処理でも数段階のMapReduce処理を踏む場合がある 前回までのおさらい 分散処理の基本的な考え方は、大規模データあるいは処理する問題を小さく、かつ、互いに独立した単位に分割して並列に処理することで、各処理単位の出力を結合することで最終的な結果を得るというものです。Hadoopは数ある分散処理のフレームワークの実装のひとつで、システムレベルの詳細の多くを意識せず、処理ロジックに集中して設計できる特徴があります。 Hadoopで処理するため、前回紹介したユーザの映画評価の履歴をHDFSのディレクトリにコピーすると、HDFSは履歴を各ノード
はじめに こんにちは、adingoの岩川です。 ビッグデータという言葉が浸透して、実際に向き合う機会も増えてきていると感じます。 ビッグなデータを処理するには相応の計算パワーが必要です。分散処理システムを使って対処するのは一般的な方法ですが、分散処理システムを1から組むのは大変なので、Hadoop MapReduceベースのシステムが広く利用されています。 Hadoop MapReduceにおいては、ユーザはMapReduceと呼ばれる計算モデルに従って、Map処理、Reduce処理と呼ばれる計算内容のコア部分だけを書けばよく、タスク配分や通信などをケアする必要がありません。これによって、プログラミングのコストを大幅に減らすことが可能なのです。 しかしながら、実はHadoopクラスタの管理は決してラクなものではありません。 何台ものサーバをセットアップし、Hadoopをインストールしてやり
今回はレコメンドシステムの実装の問題と、その解決策として利用するHadoopについて説明します。 今回のポイントは以下の通りです。 スケールアップの限界 分散処理フレームワークの民主化 Hadoop Map Reduceの概要 増え続けるデータをどう扱うか レコメンドシステムを協調フィルタリングのうち、ユーザベース方式により実装することを考えます。このシステムでは次のような映画の評価履歴を使い、「この映画を評価した人はこの映画も評価しています」という映画の推薦を行います。 駄右衛門、ザスーラ、5、2009/12/21、・・・・ 駄右衛門、ジュマンジ、5、2009/12/28、・・・・ 菊之助、ブルースブラザーズ、5、2009/12/29、・・・・ 利平、ザスーラ、4、2010/01/01、・・・・ 十三、ハングオーバー、4、2010/01/01、・・・・ 利平、ジュマンジ、4、2010/
はじめに 今回から9回に渡り、Hadoopを使ったレコメンドシステムの実装について紹介させていただくことになりました。 レコメンドシステムを構築した方は少ないと思いますが、レコメンドのサービスに触れている方は多いと思います。今回の連載で、読者の皆様にレコメンドシステムの可能性とその実装の面白さをお伝えできればと思います。よろしくお願い申し上げます。 連載の予定は次の通りです。 レコメンドシステムと集合知(今回) レコメンドシステムの実装と課題 協調フィルタリング(前・後編) コンテンツベースレコメンド(前・後編) 今回の記事のポイントは以下の通りです。 レコメンドシステムの目的は気付きと驚きを与えること 理想のレコメンドはソムリエのお薦め レコメンドシステムに必要なのは嗜好と専門性 では、早速はじめましょう。 レコメンドシステムとは? レコメンドシステムは情報フィルタリングの一種で、大量の
Hadoopはほんとブームです。バブルだと言っていい気がします。各種セミナーはすぐに埋まりますし、実際に聞きに行くと会場は満員です。 この分野は日本だとNTTデータが先頭をきったように見えます。 NTTデータ、Hadoopの商用ディストリビューション「CDH3」を販売開始 | 日経 xTECH(クロステック) またHadoop専業会社「ノーチラス・テクノロジー」というのもできました。 ウルシステムズとイーシー・ワンが経営統合、Hadoop専業会社を立ち上げ | 日経 xTECH(クロステック) しかし最近では富士通やIBMもHadoopソリューションを展開しておりレッドオーシャンな感じです。 富士通がビッグデータ分析・活用向けのPaaSサービス | 日経 xTECH(クロステック) 日本IBM、表計算のように分析できるHadoopソフト新版「BigInsights」 | 日経 xTECH(
第4回まではHadoopの活用事例や、どのような用途に向いているのかということを中心に解説してきました。さて、最終回となる第5回は、Hadoopをこれから活用し始めようとしているエンジニアが理解しておくべきことや、情報収集のポイントなどについて解説します。 Hadoopの構成要素を理解する Hadoopの導入を検討する際には、まずは構成要素を理解しておきましょう。Hadoopは大きく2つの要素から成り立っています。1つは分散ファイルシステムの「Hadoop Distributed File System(HDFS)」、もう1つは分散処理フレームワーク「Hadoop MapReduce(MapReduceフレームワーク)」です。どちらも大量のサーバから構成されるクラスタシステムとして動作します。現在はWebから得られる情報や書籍が充実しているのでここでは詳しい説明はしませんが、こう
ビッグデータ時代の救世主「Hadoop」とは 「Apache Hadoop」は今、最も注目を集めている技術の1つです。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 Hadoopを活用している企業は年々増え続けていて、不可欠な技術になりつつあるといえるでしょう。 本連載では、Hadoopとは何か、Hadoopがどう活用できるのかということを、「テキストマイニング」に焦点を当てて解説していきたいと思います。 重い処理を複数のマシンに分散させる 複数のマシンに処理を分散させるには、プロセス同士の通信、監視、障害時の対応などを考えなければならず、プログラマにとってハードルが高いものです。しかし、Hadoopはそういった面倒くさい処理を一手に引き受けてくれ、プログラマは、やりたい処理だけに集中できます。 例えば、Hadoopを使うと、1
1年経ってiPhone4の電池がヘタってきた、太田です。 指数関数的にエントリ数が少なくなってきた本ブログですがw、景気付けのためにエントリを投稿したいと思います!本日はHBaseについてです。 Linux と Hadoop と HBase と ZooKeeper に詳しいあなた!あなたがターゲットです。 HBaseとは? HBaseとは、HDFS (Hadoop Distributed File System)上に構築された分散データベースです。大量の非常に細かいデータをリアルタイムに読み書き出来るのが特徴です。最近ではFacebook Messageの基盤技術として使用された事で注目を集めています。 HBase公式サイト Apache HBase ブック 保存されたデータはHDFS上に保存され、HDFSの仕組みによってレプリケーションされるため安全にデータを保持することが出来ます。 ま
小川 明彦, 阪井 誠 : チケット駆動開発 日本のソフトウェア開発の現場で生み出された「チケット駆動開発」という概念を、数多くの実例を元にモデル化・体系化を試みた最初の本。 小川 明彦, 阪井 誠 : Redmineによるタスクマネジメント実践技法 Redmineによるチケット駆動開発の実践技法に関する最初の本。アジャイルなソフトウェア開発への適用方法、TestLinkによるテスト管理手法についても言及。 清水 吉男: 「派生開発」を成功させるプロセス改善の技術と極意 組込システム開発をベースとして、ソフトウェア開発特有のスタイルである派生開発、特にXDDPについて解説した世界でも稀な本。既存製品を保守するのではなく継続的に機能追加していく昨今の開発では、派生開発特有の問題を意識しなければならない。XDDPはプロセス論だけでなく、要件定義などの上流工程の品質改善にも役立つので注意。 Le
第5回では、AsakusaのDSLで記述したサンプルプログラムを紹介する。プログラムの内容は、受注データを商品マスターを使ってチェックし、問題がなければ注文ごとに集計するというシンプルなものだ。 このサンプルプログラムは、オープンソースソフトウエア(OSS)の一部として配布している。OSSの配布を昨日開始したので、実物を試しながら読んでもらえれば理解が深まるだろう(URLはこちら)。 Asakusaには3種類のDSLがある。3層からなるマルチティアのDSLで、三つを総称してAsakusa DSLと呼ぶ。まず、それらをおさらいしよう。 (1)Batch DSL Batch DSLは、業務部門のユーザーから見たときの、いわゆる「バッチ」という単位を構成する最上位のDSLである。下位のFlow DSLで作成するジョブフローをつなぎ合わせて、一連のバッチ処理にすることが目的である。 バッチは、ユー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く