首页 > 解决方案 > Watcher 中的空哈希映射值

问题描述

我有 2 个 hashmap 对象,ctx.vars.hashOld并且ctx.vars.hashNew包含:

{(agg_ecpm_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=7918041, (multikey_lift_history AND anly_prod AND anly_prod_db AND anly_prod)=32306281, (agg_dmm_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=39292548, (agg_dmm_daily_prt_20201129_20201205 AND anly_prod AND anly_prod_db AND anly_prod)=6065195, ( dim_global_multikey_lookup_history AND anly_prod AND anly_prod_db AND anly_prod)=79897376, (traceability_stats_hourly_prt_20201101_20201107 AND ops_ma AND anly_prod_db AND anly_prod)=20613344, (traceability_line_item_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=29406842, (rtap_agg_pacing_health AND anly_prod AND anly_prod_db AND anly_prod)=18532079, (traceability_stats_hourly_prt_20201213_20201219 AND ops_ma AND anly_prod_db AND anly_prod)=25817110,(agg_trafficscope_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=18463490, (traceability_line_item_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=38672393, (traceability_stats_hourly_prt_20201206_20201212 AND ops_ma AND anly_prod_db AND anly_prod)=26292726, (agg_dmm_daily_prt_20201108_20201114 AND anly_prod AND anly_prod_db AND anly_prod)=5677117, (traceability_io_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=11932531, (agg_settings_model_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=3690857, (dim_company_multikey_lookup_history AND anly_prod AND anly_prod_db AND anly_prod)=52817881, (agg_stats_new_metrics AND anly_prod AND anly_prod_db AND anly_prod)=1312744,(traceability_stats_hourly_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=25207340, (agg_stats_daily AND anly_prod AND anly_prod_db AND anly_prod)=1930913, (rtap_agg_pacing_health AND anly_stage AND anly_prod_db AND anly_prod)=946000, (traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(agg_stats_daily AND anly_prod AND anly_prod_db AND anly_prod)=1930913, (rtap_agg_pacing_health AND anly_stage AND anly_prod_db AND anly_prod)=946000, (traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(agg_stats_daily AND anly_prod AND anly_prod_db AND anly_prod)=1930913, (rtap_agg_pacing_health AND anly_stage AND anly_prod_db AND anly_prod)=946000, (traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}

{(agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6215465, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17935050, (dim_global_multikey_lookup_history AND anly_prod AND anly_prod_db AND anly_prod)=82151687, (agg_dmm_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=42790683, ( traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=15834156, (agg_ecpm_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=8532763, (agg_dmm_daily_prt_20201108_20201114 AND anly_prod AND anly_prod_db AND anly_prod)=5682918, (traceability_stats_hourly_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=23179579, (traceability_line_item_prt_20210110_20210116 AND ops_ma AND anly_prod_db AND anly_prod)=6030912,(traceability_line_item_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=30413191, (agg_settings_model_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=4302495, (agg_trafficscope_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=23497940, (agg_dmm_hourly_prt_20210110_20210116 AND anly_prod AND anly_prod_db AND anly_prod)=8878420, (agg_stats_daily AND anly_prod AND anly_prod_db AND anly_prod)=1942286, (traceability_stats_hourly_prt_20201206_20201212 AND ops_ma AND anly_prod_db AND anly_prod)=24699429, (traceability_stats_hourly_prt_20201101_20201107 AND ops_ma AND anly_prod_db AND anly_prod)=20613344, (agg_stats_new_metrics AND anly_prod AND anly_prod_db AND anly_prod)=1487951, (multikey_lift_history AND anly_prod AND anly_prod_db AND anly_prod)=33413054,(dim_company_multikey_lookup_history AND anly_prod AND anly_prod_db AND anly_prod)=57462519, (traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22081784, (traceability_io_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=12327906, (agg_dmm_daily_prt_20201129_20201205 AND anly_prod AND anly_prod_db AND anly_prod)=6072952, (rtap_agg_pacing_health AND anly_prod AND anly_prod_db AND anly_prod)=18430105, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38564796, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=14163152, (traceability_line_item_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=34909797, (traceability_stats_hourly_prt_20201213_20201219 AND ops_ma AND anly_prod_db AND anly_prod)=23921212}(traceability_stats_hourly_prt_20201213_20201219 AND ops_ma AND anly_prod_db AND anly_prod)=23921212}

分别。它们包含相同的键,但具有不同的值。我正在尝试计算同一键的值之间的差异,但是null在使用一个对象的键作为获取另一个对象的值的输入时获取值:

Map mapNew = ctx.vars.hashNew;
Map mapOld = ctx.vars.hashOld;
def test = [];
for (def key : mapNew.keySet()){
  def valNew = mapNew.get(key);
  def valOld = mapOld.get(key);
  test.add([valOld, valNew]);
}

我会得到这样的东西test

{0=[null, 18430105], 1=[null, 6030912], 2=[null, 6215465], 3=[null, 17935050], 4=[null, 23497940], 5=[null, 23179579], 6 =[null, 15834156], 7=[null, 6072952], 8=[null, 42790683], 9=[null, 57462519], 10=[null, 82151687], 11=[null, 1487951], 12=[空, 14163152], 13=[空, 30413191], 14=[空, 22081784], 15=[空, 1942286], 16=[空, 33413054], 17=[空, 12327906], 18=[空, 23921212], 19=[null, 5682918], 20=[null, 38564796], 21=[null, 34909797], 22=[null, 20613344], 23=[null, 4302495], 24=[null, 24699429] , 25=[null, 8878420], 26=[null, 8532763]}

即使mapOld肯定有相同的键mapNew。关于为什么会发生这种情况的任何想法?

更新我实际上是在将一个 StringBuilder 对象传递给密钥。使用 更改为字符串类型toString()。除此之外,我没有使用来自 的键keySet(),而是将它们放入单独的字符串列表中并使用它,现在我看到了想要的结果。

标签: javahashmapelasticsearch-painlesselasticsearch-watcher

解决方案


推荐阅读