<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Trident RAS API ## Trident RAS API Trident RAS( Resource Aware Scheduler (資源感知調度程序))API 提供了一種機制, 允許用戶指定 Trident topology 的 resource consumption (資源消耗). API 看起來與基本的 RAS API 完全相同, 只是在 Trident Streams 上調用, 而不是 Bolts 和 Spouts . 為了避免文檔中的 duplication (重復)和 inconsistency (不一致), resource setting (資源設置)的目的和效果在這里不再描述, 而是在 [Resource Aware Scheduler Overview](Resource_Aware_Scheduler_overview.html) 中可以找到, ### Use 首先, 例如: ``` TridentTopology topo = new TridentTopology(); topo.setResourceDefaults(new DefaultResourceDeclarer(); .setMemoryLoad(128) .setCPULoad(20)); TridentState wordCounts = topology .newStream("words", feeder) .parallelismHint(5) .setCPULoad(20) .setMemoryLoad(512,256) .each( new Fields("sentence"), new Split(), new Fields("word")) .setCPULoad(10) .setMemoryLoad(512) .each(new Fields("word"), new BangAdder(), new Fields("word!")) .parallelismHint(10) .setCPULoad(50) .setMemoryLoad(1024) .each(new Fields("word!"), new QMarkAdder(), new Fields("word!?")) .groupBy(new Fields("word!")) .persistentAggregate(new MemoryMapState.Factory(), new Count(), new Fields("count")) .setCPULoad(100) .setMemoryLoad(2048); ``` 可以為每個操作設置 Resources (資源)(除了 grouping (分組), shuffling (混洗), partitioning (分區)). 將 Trident combined 成 single Bolts 的操作將將其資源相加. 每個 Bolt 都被給予 **至少** 默認資源, 無論用戶設置如何. 在上述情況下, 我們最終得到 * 一個 spout 和 spout coordinator (spout 協調器), 每個 CPU 負載為 20% , 內存負載為 512MiB , off-heap (堆棧)為 256MiB . * 組合的 `Split` 和 `BangAdder` 以及 `QMarkAdder` 的 on-heap (堆棧)中, 具有80% cpu 負載(10%+ 50%+ 20%)和 1664MiB(1024 + 512 + 128)的內存負載的 bolt , 使用 DefaultResourceDeclarer 中包含的默認資源 * 具有 100% cpu 加載和 2048MiB 堆內存負載的 bolt , 默認值為 off-heap (非堆) 任何 operation (操作)后都可以調用 Resource declarations (資源聲明). 沒有明確資源的操作將獲得默認值. 如果您選擇僅為某些操作設置資源, 則必須聲明默認值, 否則拓撲提交將失敗. 資源聲明具有與并行提示相同的 _boundaries_ . 他們不會進行任何分組, 洗牌或任何其他類型的重新分配. 每個操作都會聲明資源, 但在邊界內組合.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看