【问题标题】:In Hazelcast jet how to Sink Map object to BatchSource?在 Hazelcast jet 中,如何将 Map 对象接收到 BatchSource?
【发布时间】:2021-10-25 12:32:45
【问题描述】:

我是 Hazelcast jet 的新手,我不知道如何将简单的 java.util.Map 下沉到 BatchSource?

我在下面尝试过,但似乎没有工作。

Map<String, Object> data =new HashMap<String, Object>();
data.put("xyz", "abc");

方式一:

Map<String, Object> am = jetInstance.getMap("abc");
        am.putAll(data);
        
         BatchSource batchSource = Sources.map("abc");

我给出错误:java.util.HashMap cannot be cast to java.util.Map$Entry

方式二:BatchSource batchSource = TestSources.items(data);

同样的错误请帮助我做错了什么我正在尝试创建管道但没有继续前进。

【问题讨论】:

标签: java hazelcast hazelcast-jet


【解决方案1】:

我认为问题一定出在您共享的代码之外; BatchSource 定义不正确。我刚刚做了一个快速测试,以下运行良好(在 5.0 版本上测试):

public static void main(String[] args) {
    Config config = new Config();
    config.getJetConfig().setEnabled(true);
    HazelcastInstance hz = Hazelcast.newHazelcastInstance(config);
    Map<String,Object> map = hz.getMap("map");
    map.put("A", "AnObject");
    map.put("B", "AnotherObject");
    BatchSource source = Sources.map("map");
    Pipeline p = Pipeline.create();
    p.readFrom(source)
            .writeTo(Sinks.logger());
    hz.getJet().newJob(p).join();

}

有输出:

INFO: [192.168.86.25]:5701 [dev] [5.0] Start execution of job '0702-23dd-8800-0001', execution 0702-23dd-8801-0001 from coordinator [192.168.86.25]:5701
Oct 25, 2021 9:11:44 AM com.hazelcast.jet.impl.connector.WriteLoggerP
INFO: [192.168.86.25]:5701 [dev] [5.0] [0702-23dd-8800-0001/loggerSink#0] B=AnotherObject
Oct 25, 2021 9:11:44 AM com.hazelcast.jet.impl.connector.WriteLoggerP
INFO: [192.168.86.25]:5701 [dev] [5.0] [0702-23dd-8800-0001/loggerSink#0] A=AnObject
Oct 25, 2021 9:11:44 AM com.hazelcast.jet.impl.MasterJobContext
INFO: [192.168.86.25]:5701 [dev] [5.0] Execution of job '0702-23dd-8800-0001', execution 0702-23dd-8801-0001 completed successfully

(由于在这种情况下地图是无序的,因此条目的顺序与添加到地图的顺序不同)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多