問題タブ [trident]

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.

0 投票する
2 に答える
547 参照

html - Qihoo 360 ブラウザに Chrome Layout Engine の使用を強制する

中国語の「Qihoo 360 Browser」に、ウェブサイトのトライデント レイアウト エンジンの代わりに Chrome レイアウト エンジンを使用させるにはどうすればよいですか。具体的には、Qihoo 360 Browser を使用して私の Web サイトにアクセスするすべてのユーザーに、IE エンジンではなく Chrome38 エンジンを使用してもらいたいと考えています。

有効な html5 doctype テストでサイトを作成しましたが、まだ trident を使用してレンダリングしようとしています。

注:場合によっては動作するようになりました。たとえば、/etc/hosts 127.0.0.1 taobao.com を変更するとします。

次に、ポート 80 でアプリケーションをローカルにホストします。taobao.com (localhost にリダイレクト) にアクセスすると、Chrome38 が使用されます。これは、ある種のドメイン名のホワイトリストを使用していることを意味します。

0 投票する
1 に答える
205 参照

bigdata - データベース検索 : Trident で CachedMap を使用する方法

CachedMapトライデントでの使用方法。私のユースケースは、データベースを作成し、その情報をキャッシュまたはトライデント状態に保存したいというものです。次回タプルを取得するときは、データベースにクエリを実行する前にトライデントの状態またはキャッシュにクエリを実行したいと考えています。トライデント状態/キャッシュで必要なデータを取得できません。データベースにクエリを実行し、トライデント状態/キャッシュを更新します。これをどのように達成するか、またはこのシナリオで私を助けるためのリンクがあるかどうか教えてください.

0 投票する
1 に答える
269 参照

java - Apache Storm Trident でトランザクションが正常にコミットされたかどうかを確認する方法

私は Storm Trident を使い始めようとしており、トポロジーをセットアップして IOpaquePartitionedTridentSpout で実行し、OpaqueMapでサポートしています

ただし、トランザクションが正常にコミットされたかどうかをスパウト/関数に知らせる方法を見つけるのに苦労しています。通常のストーム スパウト/ボルト インターフェースのような ack または fail メソッドは見当たりません。

私の使用例は、同じカテゴリの前のタプルが処理されて永続化された (または失敗した) 場合にのみ、カテゴリのタプルを発行することです。処理されたデータを使用して、カテゴリの次のタプルを更新するためです。異なるカテゴリのタプルを並行して処理できます。

ストリームは、メソッドを使用してカテゴリ別に分割されますpartitionBy

max_spout_pendingTrident は一度に 1 つのバッチしかコミットしないため、1 に設定すると問題が解消されます。しかし、それはスケーラブルではありません。1 より大きい任意の値に設定すると、同じカテゴリのタプルが 2 つの連続したバッチで発行された場合、前のトランザクションがコミットされる前に処理されます。

または、カテゴリごとに 1 つのスパウトを用意し、max_spout_pending1 に設定する必要がありますか?

ありがとう

0 投票する
1 に答える
536 参照

apache-storm - ストームまたはトライデントを使用した単語カウント

storm-starterの単純な単語カウント プログラムの場合、ロジックはかなり単純明快です
。1) 文を単語に分割する
2) 各単語を出力する
3) カウントを集計する (カウントをマップに格納する)

ただし、ここには 2 つの問題があります
。1) プログラムは集計部分を実行するために 12 の個別のスレッドを使用します。つまり、カウントは GLOBAL ではありません。グローバル カウントを取得するには、レイヤーをもう 1 つ追加する必要があります。
2) ボルトでは、マップはカウントを格納するために使用されます。これは、状態があることを意味します。現在のワーカーが失敗した場合、ボルトに格納されているすべてのカウントは失われますか? ストームはステートレスであるため、
3) 代わりにトライデントを使用してこれを達成する必要がありますか?

0 投票する
1 に答える
537 参照

apache-storm - Storm マルチフィールドのグループ化

私がやろうとしているのは、ストリームを 2 つのフィールド ( "remote-client-ip", "request-params") でグループ化し、各グループ内のタプルの数を数えることです。そして、それらを組み合わせて地図にします。これが私のトポロジです:

しかし、デバッグ後、最初はデータ ストリームがブロックされていることがわかりましgroupBy()た。これは複数フィールドのグループ化です。Count()後続の集計ステートメントでは何も実行されませんでした。

そのため、複数フィールドのグループ化と集計の間の相互作用に関するいくつかの概念を誤解していると思います。

私の憶測が正しいか間違っているか教えてください。ありがとうございました!

0 投票する
1 に答える
71 参照

serialization - クライアントのシリアル化の問題: Trident 関数で Couchbase から読み取る

基本的に、タプルの属性を使用してCouchbaseからいくつかの追加の属性を読み取りたいです。たとえば、タプルには入力フィールド「{a、b、c}」があり、タプル「{a、b、c、d」を出力したい, e}" ここで、"d" と "e" は "a" をキーとして Couchbase から読み取られます。

ただし、Trident BaseFunction はシリアライズ可能ですが、CouchbaseClient はそうではなく、「NotSerializable」例外が発生します。これを回避する方法はありますか? 私が考えることができる2つの可能な解決策があります:

1) Trident の外部で追加の属性を読み取り、それらを一緒に Trident に送信します (この種の処理を Storm に配置したいので、これを行いたくありません)。

2)読み取​​り専用の状態を使用します(マルチ取得のみを実装し、マルチプットを空白のままにします。これでうまくいくかどうかはわかりません)

これを行う簡単な方法はありますか?これは、Storm 自体で魅力的である必要があり、現実の世界ではかなり一般的です。Cassandra などの他の NoSQL データベースにも適用されます。ありがとう。