26

以前は、MySQL で実行される OLAP キューブを使用して WebAnalytics を構築していました。さて、私が使用した OLAP キューブは、各行が基本的に測定値または測定値の集計セットである単純な大きなテーブルです (OK、それよりも少し賢く格納されています)。各測定値には、一連のディメンション (つまり、どのページ名、ユーザーエージェント、IP など) と一連の値 (つまり、ページビュー数、訪問者数など) があります。

このようなテーブルで実行するクエリは、通常、次の形式 (メタ SQL) です。

SELECT SUM(hits), SUM(bytes),
FROM MyCube
WHERE date='20090914' and pagename='Homepage' and browser!='googlebot'
GROUP BY hour

したがって、前述のフィルターを使用して、選択した日の各時間の合計を取得します。障害の 1 つは、これらのキューブは通常、完全なテーブル スキャンを意味し (さまざまな理由)、これは、これらのものを作成できるサイズ (MiB 単位) の実際的な制限を意味することでした。

私は現在、Hadoop などの詳細を学んでいます。

上記のクエリを BigTable で mapreduce として実行するのは簡単に見えます。「hour」をキーにして、マップをフィルター処理し、値を合計して reduce するだけです。

バッチ モードではなく、BigTable の種類のシステムで、上に示したような (または少なくとも同じ出力で) クエリを実行できますか?

そうでない場合; BigTable/Hadoop/HBase/Hive などの領域でこのようなことを行うための適切なテクノロジは何ですか?

4

5 に答える 5

9

それは一種の(一種の)行われています。

LastFm の集計/集計エンジン: http://github.com/zohmg/zohmg

Google 検索で Google コード プロジェクト「mroll」が見つかりましたが、連絡先情報以外は何もありません (コードも何もありません)。それでも、その人に手を差し伸べて、様子を見たいと思うかもしれません。 http://code.google.com/p/mroll/

于 2009-09-15T16:53:51.877 に答える
4

私の答えは HBase に関するものですが、BigTable にも同様に当てはまります。

Urban Airship オープンソースのdatacube、これはあなたが望むものに近いと思います。彼らのプレゼンテーションはこちらをご覧ください。

Adobe は、HBase を使用して「低レイテンシ OLAP」を行う方法について、いくつかのプレゼンテーション (ここここ) も用意しています。

于 2012-07-24T17:47:47.380 に答える
3

テーブルスキャンアプローチを探している場合、Google BigQueryを検討しましたか?BigQueryは、インタラクティブな応答を提供する裏側で自動スケールアウトを実行します。2012年のGoogleI/OイベントのJordanTiganiによる良いセッションがあり、内部のいくつかを説明しています。

http://www.youtube.com/watch?v=QI8623HlYd4

MapReduceではありませんが、あなたが説明したような高速テーブルスキャンを対象としています。

于 2012-08-09T17:17:05.083 に答える
3

Andrei Dragomir は、Adobe が M/R と HBase を使用して OLAP 機能を実行する方法について興味深い講演を行いました。

ビデオ: http://www.youtube.com/watch?v=5U3EnfiKs44

スライド: http://hstack.org/hbasecon-low-latency-olap-with-hbase/

于 2012-07-20T07:33:11.487 に答える