問題タブ [lambda-architecture]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lambda - ラムダ アーキテクチャ - この名前の由来は?
Manning の Big Data Lambda Architecture ( http://www.manning.com/marz/BD_meap_ch01.pdf ) を読みましたが、「Lambda」と名付けられた理由がわかりません。このアーキテクチャが基づいているシステムのコード名または名前ですか?
hadoop - JCascalog/Pail シュレッディング ステージはローカルでは機能しますが、Hadoop では機能しません
「ビッグ データ」ラムダ アーキテクチャ ブックに従って、型指定された Thift Data オブジェクトでいっぱいの着信ディレクトリを取得しました。DataPailStructure で定義された pail.meta ファイルがあります。
このデータのスナップショットを作成します。
着信ファイルとメタ データ ファイルが複製され、pail.meta ファイルにも
次に、このデータを細かく分割して、垂直方向のパーティションに分割します。この本にあるように、2 つの PailTap オブジェクトを作成します。1 つはスナップショット用、もう 1 つは SplitDataStructure 用、もう 1 つは新しいShreddedフォルダー用です。
/Shreddedフォルダーには、pail.meta ファイルがあります。structure: SplitDataPailStructure
指示に従って、JCascalog クエリを実行してレデューサーを強制します。
これで、ローカル モードでは問題なく動作します。/Shredded の下に作成された「一時的な」サブフォルダーがあり、これは予想される「1/1」構造で垂直方向に分割されます。ローカル モードでは、これは /Shredded フォルダーに移動され、問題なくマスターに統合およびマージできます。
しかし、Hadoop 内で実行すると、この時点でエラーが発生して失敗します。
言うまでもなく、Shredded Sink 構造タイプを DataPailStructure に変更すると、正常に動作しますが、すべてが Incoming フォルダーにあったため、かなり無意味な操作です。1 つのデータ型しか扱っていないので、今のところは問題ありませんが、これはすぐに変更され、そのパーティションが必要になります。
何か案は?最初はすべてのソース コードをここに投稿するつもりはありませんでしたが、何かが欠けていることはほぼ間違いありません。
hive - ラムダ アーキテクチャ モデリングの問題
複数のデバイスから送信されたイベントを処理するために、Lambda アーキテクチャの実装を検討しています。ほとんどの場合(平均など)、私の要件に合っているようです。ただし、特定のユースケースをモデル化しようとして立ち往生しています。要するに...
各デバイスにはdevice_idがあります。すべてのデバイスは、1 秒あたり 1 つのイベントを発行します。各イベントには、{0-->10} の範囲のevent_idがあります。
0 の event_id は開始を示し、10 の event_id は終了を示します
START と END の間のすべてのイベントは、1 つのグループ (event_group) にグループ化する必要があります。これにより、event_groups のタプルが生成されます。つまり、 {0,2,2,2,5,10}、 (0,4,2,7,...5,10)、(0,10) この (event_group) は小さい可能性がありますつまり、10 分または非常に長い場合は 3 時間です。
Lambda アーキテクチャによると、すべてのデバイスから送信されるこれらのイベントは、私の「マスター データ セット」です。現在、イベントは Kafka (Camus、Kafka Spout) を使用して HDFS および Storm に送信されます。
ストリーミング プロセスでは、device_id でグループ化し、redis を使用して、event_id=0 が到着するたびに生成されるキーに基づいて、一連の受信イベントをメモリに保持します。 問題は HDFS にあります。すべての着信イベントを含むファイルを 1 時間ごとに保存するとします。これら (group_events) を区別する方法はありますか?
Hive を使用すると、同じ方法でタプルをグループ化できます。ただし、各ファイルには「壊れた」event_groups も含まれます。
- (0,2,2,3) 前の計算 (ファイル)
- (4,3,) 前の計算 (ファイル)
- (5,6,7,8,10) 現在の計算 (ファイル)
device_id に基づいてそれらを (0,2,2,3,4,3,5,6,7,8,10) にマージする必要があるように (複数のファイル)
Lambda アーキテクチャはこのシナリオに適していますか? それとも、ストリーミング プロセスだけが真実の情報源であるべきですか? つまり、hbase への書き込み、hdfs 自体は、これが全体的なレイテンシーに影響を与えることはありません。
lambda-architecture - ラムダアーキテクチャのbatch_layerとserving_layerを実装する最良の方法は何ですか?
現在ラムダ アーキテクチャを適用するプロジェクトを構築している場合、バッチ レイヤーとサービス レイヤーを分割する必要がありますか。つまり、プログラム A がバッチ レイヤーの作業を行い、プログラム B がサービス レイヤーの作業を行いますか? それらは物理的に独立していますが、プログラム A が事前計算作業を完了した後にプログラム A が B に動作するように指示できるため、論理的に関連しています。
もしそうなら、それを実装する方法を教えてください。IPCを考えています。IPC が役立つ場合、具体的な方法は何ですか?
ところで、「バッチ ビュー」とは正確にはどういう意味ですか? なぜ、どのようにサービングレイヤーがインデックスを作成するのですか?
hadoop - Jcascalog で HDFS の節約データを照会する
ラムダ アーキテクチャに関する Nathan Marz の本を読みました。私は実際にこのソリューションの概念実証を行っています。
Jcascalog クエリを作成するのが困難です。
これは、私たちが興味を持っている私の倹約スキーマの一部です:
Pail を使用していくつかのデータを次のフォルダーに保存しました: /home/tickets
ここで、このデータに対してリクエストを行いたいと思います: 商品名ごとにグループ化された数量の合計を取得したいと考えています。そのため、最初に名前を取得し、次に数量を取得する必要があります。それぞれについて、記事のIDを取得できます。
たとえば、名前 request(id_article, name) に対して次の結果が得られます: (1, パスタ) - (2, パスタ2) - (3, パスタ)
数量リクエスト (id_article, quantity) の場合: (1, 2) - (2, 1) - (3, 1)
問題は、結果をマージする方法がわからないことです。Cascalog と HDFS のデータとの結合を実行するにはどうすればよいですか?
hdfs - Pail DFS を使用してファイルを作成できません
ここの初心者。Nathan Marz の著書 Big Data DFS Datastore using Pail のコードを実行しようとしています。私は何を間違っていますか?HDFS VM に接続しようとしています。hdfsをファイルに置き換えてみました。どんな助けでも感謝します。
エラーを取得する -
HDFS を file:/// のファイルに置き換える場合