I am new to Hazelcast jet and I am trying to join to datas but I want to know how it will occupy memory and how much and what it best practice to do it?
Here is my code:
BatchStage<Map<String,Object>> batch1= pipeline.readFrom(companyListBatchSource);
BatchStage<Map<String,Object>> batch2= pipeline.readFrom(employeeListBatchSource);
//Getting group by key
BatchStageWithKey<Map<String,Object>, Object> jdbcGroupByKey =
batch1.groupingKey(a -> a.getSource1().get(col1));
BatchStageWithKey<Map<String,Object>, Object> fileGroupByKey =
batch2.groupingKey(b -> b.getSource1().get(col2));
//trying to join but not sure what exactly is happening.
BatchStage<Entry<String, Tuple2<List<Object>, List<Object>>>> d =
jdbcGroupByKey.aggregate2(toList(), fileGroupByKey, toList());
I want to know will batch1 and batch2 will fetch all the data first and store it and then do joining or will it do streaming of records record by record?
Can anyone explain it how exactly it work as I have to work with big data also and in that case if it's store data it can cause server.