第10回Cassandra勉強会にて発表したスライドに、勉強会後のフィードバックを反映させた物です。Read less
ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。 irofさんとdaiksyさんがTwitter上でキーブレイク処理について話していました。 (リストを項目ごとに集計する→「ブレイク処理」を定形のアルゴリズムとして習いました→こんな解りにくいの、なんで好んで書くんだろう) キーブレイク処理というのは、データをキーでソートしておいて順番に読み込み、キーが同じ値の間に処理(よくあるのが集計)を続ける。キーが違う値になったら(キーがブレイクしたら)集計値を出力し、集計用変数をクリアしてまた処理を続ける。というアルゴリズムです。 ひとつ前のキーの値を保持しておく変数が必要で、最初はそれをどういう値にしておくか、また、ループを抜けた後に最後のキーの集計値を出力する必要があるか、といった辺りも考慮しないといけないので、慣れないと分か
個人的には割と大変だったので、その辺をまとめておきます。 ニュースリリースはこちら。 http://www.nautilus-technologies.com/topics/20130409.html 要するに本部系バックエンド基幹システムの「一式」のクラウド移行です。完全なミッションクリティカルシステムで、止まった段階で業務に確実に影響が出ます。 システムの機能概要 1.売上の確定処理と債権管理 POSデータの直結です。売上確定処理を行います。同時に債権管理も行い、F/Bからの入金データをそのままつなぎ込み、入金処理・債権の消し込み処理を実行します。マッチングは自動処理できるものは処理を行い、ヒューリスティックなものはユーザー判断に従います。 2.仕入・費用の計上と確定処理、および支払いデータの作成 費用・在庫の計上確定処理です。当時に支払データの確定処理を行います。EDI(BMS)との
ビッグデータ時代―なぜ、いま機械学習なのか Apache Hadoop(以下、Hadoop)の登場で、今まで捨てていたデータ、貯めるだけで処理しきれなかったデータを活用できるようになりました。 活用手段として最近とみに注目されている技術が「機械学習」であり、Hadoopの強みを生かし簡単に機械学習を行うためのライブラリが、「Apache Mahout」(以下、Mahout)です。 本稿ではMahoutを動かしてみることで、機械学習の常識を身に付けます。 そもそも、機械学習とは? 機械学習とは、一定のデータをコンピュータ・プログラムに「学習」させ(すなわち、そのデータに潜むパターンや規則性を表す「モデル」を自動的に構築させ)、他のデータにそのモデルを適用すれば、あたかも人間のように複雑で柔軟な判断が行えるようにするという試みです。 機械学習をビジネスに活用した例は、レコメンド(ユーザーや商品
MapReduceというと集計に使うモノという人が多いと思う。 なんとなれば、MapReduce=Hadoop=ワードカウントの図式になっているからだ。 実際、Hadoopを触ってみようという人のほとんどはexampleとしてワードカウントを使うはず。その辺に落ちてるシェークスピアのログでHadoopのexampleを動かした人もおおいはず。 ところが実際に業務バッチ的な処理を行うときに、MapReduceの効果的な使い方は別にもある。個人的は、「本当のMapReduceの使いかた」はこっちだと思う。なんということはなくて「組み合わせ計算を高速に行う」だ。ある種の計算では、順序処理でギブアップしてしまうケースの一つに組み合わせの計算がある Node{ List<Node> nodeList value(){ hasNodeList() ? nodeList.traverse(value()
「データのライフ・サイクル」を考える RDBMSは、「非定型処理への活用」、「バッチ処理のスケール・アウト」という観点で限界に突き当たっています。しかし、RDBMSの豊富な機能が現代のコンピュータ・システムに欠かせない存在であることも間違いありません。この矛盾をどう解決すればいいのでしょうか。 この問題を解決する鍵は、「データのライフ・サイクル」にあります。 RDBMSは、管理するデータはすべて「起きている(活動している)」、つまり「いつでも更新される可能性がある」ことを前提に設計されています。例えば、銀行の口座残高は、バッチ処理が進んでいる最中にも、ATMからの引き出しなどのリアルタイム処理で更新される可能性があります。 しかし、すべてのデータが「起きている」わけではありません。例えば、銀行口座の「昨日の取引履歴」は、過去のデータなので、更新される可能性はまずありません(過去の取引履歴を
Amazon Elastic MapReduceとは 昨今、バッチ処理にHadoopを活用する事例が話題になっています。その中でも特筆すべきなのは、分散処理技術であるMapReduceです。しかし、MapReduceを実際に使うには、数台から数100台のサーバを用意し、Hadoopのセットアップもしなければなりません。そのようなサーバ構築・管理、セットアップの手間を無くし、すぐ使えるのがAmazon Web Service(AWS)のElastic MapReduce(EMR)です。 図1 Amazon Elastic MapReduce AWS、MapReduceの説明は多くの書籍、ブログなどを参照してください。また、EMRを使用するには、まずAWSのアカウントを作っておく必要がありますが、その手順も割愛させていただきます。本連載ではEMRの使い方、気をつけなければいけない点などを重点的
2. 自己紹介 太田一樹 東京大学情報理工学系研究科コンピューター科学専攻石川研究室 M1 HPC 系の話 ( 並列ファイルシステム ) 個人サイト http://kzk9.net/ http://kzk9.net/blog/ 興味 OS, ネットワーク , I/O, 分散システム OSS 的活動 I was a committer of KDE, uim, SigScheme copybench? Kernel Reporter 3. とは? Google の基盤ソフトウェアのクローン Google File System, MapReduce Yahoo Research の Doug Cutting 氏が開発 元々は Lucene のサブプロジェクト Doug の子供の持っているぬいぐるみの名前 Java で記述 ! 4. Google 関連 参考論文 & スライド The Goog
はじめまして。今年の5月に入社した勝間@さがすチームです。 入社してからは、なかなか大変なことも多いですが、最近はお酒好きが集まって月曜から飲み合う 「勝間会」なるものも発足して、仕事面でも仕事以外の面でも密度の高い毎日を過ごしています! さて、僕は「さがす」チーム所属ということで、普段はレシピを「さがす」ユーザの満足度を上げるために、 クックパッドの検索まわりについて、いろいろな開発を行っています。 一方で、ユーザの「さがす欲求」について深く知るために、大規模なデータ解析を行い、欲求の分析を行う機会も増えてきました。 ところが、クックパッドのログは膨大な数があるので、一口のデータ解析と言っても通常のバッチ処理だと間に合わないため、 分散処理環境の必要性が高まってきました。 そこで、まずは手軽に試せる分散処理の王道ということで、最近ではHadoopを使ったデータ解析環境を整備しています。
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、地域サービス事業部の吉田一星です。 今回は、Hadoopについて、Yahoo! JAPANでの実際の使用例を交えながら書きたいと思います。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 複数のマシンへの分散処理は、プロセス間通信や、障害時への対応などを考えなければならず、プログラマにとって敷居が高いものですが、 Hadoopはそういった面倒くさい分散処理を一手に引き受けてくれます。 1台では処理にかなり時間がかかるような大量のデータも、複数マシンに分散させることで、驚くべきスピードで処理を行うことができます。 例えば、今まで1台でやっていた、あるログ集計処理
2008/12/01 楽天は11月29日、東京・品川の本社で開催した技術系イベント「楽天テクノロジーカンファレンス2008」において、近い将来に同社のEコマースサービス「楽天市場」を支える計画があるRubyベースの大規模分散処理技術「ROMA」(ローマ)と「fairy」(フェアリー)について、その概要を明らかにした。 レコメンデーションの処理自体はシンプル 楽天市場では現在、2600万点の商品を取り扱い、4200万人の会員に対してサービスを提供している。この規模の会員数・商品点数でレコメンデーション(商品の推薦)を行うのは容易ではない。 ※記事初出時に楽天市場の会員数を4800万人としてありましたが、これは楽天グループのサービス利用者全体の数字でした。楽天市場の会員数は正しくは4200万人とのことです。お詫びして訂正いたします。 レコメンデーションの仕組みとして同社は、一般的でシンプルなア
id:naoya:20080511:1210506301 のエントリのコメント欄で kzk さんに教えていただいた Hadoop Streaming を試しています。 Hadoop はオープンソースの MapReduce + 分散ファイルシステムです。Java で作られています。Yahoo! Inc のバックエンドや、Facebook、Amazon.com などでも利用されているとのことです。詳しくは http://codezine.jp/a/article/aid/2448.aspx (kzk さんによる連載記事)を参照してください。 Hadoop Streaming 記事にもあります通り、Hadoop 拡張の Hadoop Streaming を使うと標準入出力を介するプログラムを記述するだけで、Hadoop による MapReduce を利用することができます。つまり、Java 以外
GoogleのMapReduceアルゴリズムをJavaで理解する:いま再注目の分散処理技術(前編)(1/2 ページ) 最近注目を浴びている分散処理技術「MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) いま注目の大規模分散処理アルゴリズム 最近、大規模分散処理が注目を浴びています。特に、「MapReduce」というアルゴリズムについて目にすることが多くなりました。Googleの膨大なサーバ処理で使われているということで、ここ数年の分散処理技術の中では特に注目を浴びているようです(参考「見えるグーグル、見えないグーグル」)。MapReduceアルゴリズムを使う利点とは、いったい何なのでしょうか。なぜ、いま注目を浴びているのでしょうか。 その詳細は「MapReduce : Simplified Data Proc
ペタバイト規模のデータを格納させる分散コンピューティング用プラットフォームを探しているのであれば、そのフレームワークとして Hadoop の使用を検討すべきだろう。HadoopはJavaベースで作成されているため、Linux、Windows、Solaris、BSD、Mac OS Xにて使用できる。こうしたHadoopを実際に採用している組織に共通するのは、安価(特殊なハードウェアが不要)かつ効率的でスケーラビリティと信頼性を兼ね備えたプラットフォームによる、膨大な量のデータ処理を必要としているという点だ。 Hadoopでは、こうした膨大な量のデータを格納するために、Hadoop Distributed File System(HDFS)を採用している。実際、HDFSのマスタ/スレーブアーキテクチャは、Hadoopのクラスタ機能の中核を成している。ここでサポートされているのは、ファイルシステ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く