問題タブ [druid]
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.
lookup - Druid で登録済みルックアップが機能しない
私はドルイドを少しの間使っていて、登録されたルックアップ機能をテストしています。
次のように、http://:/druid/coordinator/v1/lookups の下に既にルックアップを作成しました。
私が理解している限りでは、このマッピングは、以下のクエリ セクションで宣言されているディメンション「home_post_code」について、値「13210」を持つすべてのオカレンスを「Syracuse, NY」に置き換える必要があります。
問題は、クエリを実行すると、列「home_post_code_description」の値がマッピングに従って置き換えられないことです。
http://:/druid/listen/v1/lookups にルックアップを一覧表示できるので、適切に登録されていると思います。
ここで何が欠けていますか?何か構成を変更する必要がありますか?
前もって感謝します。
indexing - Druid / Tranquility (server) / Ingestion / Indexing が完了していない
私は Druid 0.9.1.1 と Tranquility 0.8.0 を使用しており、こちらのクイックスタート手順に従いました: http://druid.io/docs/0.9.1.1/tutorials/quickstart.html
次のコマンドは成功します。
次の応答が返されます。
...そして、Druid コンソールから、インデックス作成タスクが作成されたことを確認できました。
問題は、データソース (名前付きメトリック、スキーマにある仕様による) が表示されず、20 分経過したことです。インデックス作成はまだ RUNNING 状態です。
なぜそんなに時間がかかるのですか?だから私はこれをチェックしました: http://druid.io/docs/latest/ingestion/stream-push.html。「タスクの作成」セクションに早送りすると、次のように表示されます。
segmentGranularity は、各タスクによって生成されるセグメントがカバーする期間です。たとえば、「hour」の segmentGranularity は、それぞれ 1 時間をカバーするセグメントを作成するタスクを生成します。
データソースが表示されないのは、これが原因でしょうか (私のスキーマ仕様の segmentGranularity の値は 1 HOUR です)。
私が間違っている場合は、私を修正してください。
time-series - 非時系列データのドルイド
データが生成されるとすぐに Druid に送信される場合は、(IoT のように) すべて問題ありません。大好きです。
しかし、今ではデータ入力の遅れに起因する別の状況があります。
エンドユーザーはオフラインになる (インターネット接続が失われる) 可能性があり、データは携帯電話に保存され、オンラインに戻ったときにのみ Druid に送信されます。
つまり、彼女がインターネットを回復するまでに、ドルイドに送信されたデータ (たとえば、Tranquility サーバーを介して) は、ドルイドによって拒否されます (ドルイド リアルタイムは過去のデータを受け入れないため)。
もちろん、データがサーバーに送信される時刻にタイムスタンプを設定できます。しかし、それはレポートを歪めます...、別のフィールド (たとえば、 generated_ts としましょう) を追加し、それをさらに別のディメンションとして宣言する場合を除きます。
しかし、そうなると、Druid (?) で無料で取得できる時間ベースの自動ロールアップの恩恵を受けることはできません。次のように、groupBy (その generated_ts をディメンションの 1 つとして) を使用する必要があります。
私の質問は次のとおりです。
- アプローチは有効ですか?
- はいの場合: 罰則は何ですか? (パフォーマンスだと思いますが、どれくらい悪いですか?)
ありがとう、ラカ
--
以下のRamkumarの回答への回答、フォローアップの質問:
私はまだこのバッチ取り込みをよく理解していません:
イベント A を考えてみましょう。これはタイムスタンプ 3 で生成され、タイムスタンプ 15 までサーバーに送信されませんでした。
タイムスタンプ 15 で送信されると、値は {ts: 15, generated_ts: 3, metric1: 12, dimension1: 'a'} になります。
キーのタイムスタンプは「ts」です。
不正確です。理想は {ts: 3, generated_ts: 3, metric1: 12, dimension1: 'a'} ですが、Tranquility が受け入れるように、insert_ts として 15 を指定する必要がありました。
ここで、バッチ インジェスト中に修正したいと思います。正しい ts {ts: 3, generated_ts: 3, metric1: 12, dimension1: 'a'} になりました。
質問: その場合、イベントが重複しますか?
または...(これは私が推測する):指定された時間間隔のバッチ取り込みは、基本的にその間隔内のすべてのデータを置き換えますか?(これが事実であることを願っています。そうすれば、データの重複について心配するのをやめることができます)
追加のメモ (ちょうど): 私はこれに出くわしました: https://github.com/druid-io/tranquility/blob/master/docs/overview.md#segment-granularity-and-window-period
それは言う:
Metamarkets での私たちのアプローチは、すべてのデータを Tranquility を介してリアルタイムで送信することですが、コピーを S3 に保存し、夜間の Hadoop バッチ インデックス作成ジョブをフォローアップしてデータを再取り込みすることで、これらのリスクを軽減することもできます。これにより、最終的にすべてのイベントが Druid で正確に 1 回表現されることが保証されます。
ということは… 再摂取ということで、その意味は(推測ですが)完全な置き換えですよね?
docker - 建物のドルイドが動かなくなって前に進まない
pulsarIO/dockerfilesで提供されている docker ファイルを使用してドルイドをビルドしようとしています。
しかし、それは完全にビルドされず、ある時点で動かなくなります:
スタックは次のようになります。
問題が何であるかを正確に理解できません!そして、私が実行しようとすると
実行中のコンテナを表示するコマンド druid コンテナが表示されません。
どんな助けでも大歓迎です!
javascript - javascript を使用してデータを解析すると、druid kafka の取り込みが失敗する
kafka には特定の形式のメッセージがあります。それらはキャレット ^ で区切られています。静けさを使用してこれを解析するために、以下の解析仕様を使用しています。
ただし、kafka プロデューサーを介して行を挿入し、静けさのログを確認すると。を示していますdroppedCount=1
。だから、メッセージをドロップしています。ブラウザで上記のjavascript関数を確認しました。それは正常に動作します。ここで何が問題なのですか?
elasticsearch - Druid と ElasticSearch の違いは何ですか? 両方にとっての利点は何ですか?
私は Druid にかなり慣れていないので、ElasticSearch との比較に関する答えが得られません。このリンクを見つけました:druid vs Elasticsearchですが、違いや利点はありません。
誰かが私にそれを説明したり、Googleで見つけられなかったリンクをいくつか教えてもらえますか?
前もって感謝します。
J
druid - Java アプリケーションからドルイドを照会する
私はドルイド初心者です。Java アプリケーションからリモート ドルイド クラスタにクエリを実行したいと考えています。io.druid.client.DirectDruidClient を使用できる druid-user google グループを読みました。誰かが私を助けたり、同じ例のリソースを指摘したりできますか?