Hazelcast Jet 0.6.1 - Dag定义

时间:2018-06-19 04:44:13

标签: hazelcast-jet

一旦启动,Hazelcast Jet就会在控制台上打印DAG定义

这会将管道定义转换为DAG。

这是一个管道定义。

dat <- data.frame(id = c(2,3,4), adit = c(3,5,6),diag1 = c(4230,3345,4567), diag2 =            c(2234,4567,4467))
dat$dse1 <- ifelse(dat$diag1 == 4230,1,0)
dat$dse2 <- ifelse(dat$diag2 == 4567,1,0)
dat

这是打印在控制台上的DAG定义。

    private Pipeline buildPipeline() {
 Pipeline p = Pipeline.create();
 p.drawFrom(Sources.<String, Record>remoteMapJournal("record", getClientConfig(), START_FROM_OLDEST))
          .addTimestamps((v) ->  getTimeStamp(v), 3000)
          .peek()
          .groupingKey((v) -> Tuple2.tuple2(getUserID(v),getTranType(v)))
    .window(WindowDefinition.sliding(SLIDING_WINDOW_LENGTH_MILLIS, SLIDE_STEP_MILLIS))
    .aggregate(counting())
    .map((v)-> getMapKey(v))
    .drainTo(Sinks.remoteMap("Test", getClientConfig()));
    return p;
  }

有没有办法让DAG定义包含滑动窗口详细信息,聚合API等所有细节?

1 个答案:

答案 0 :(得分:1)

不,这在技术上是不可能的。如果你编写一个lambda(例如用于键提取器),则无法显示定义lambda的代码。获取更多信息的唯一方法是将该信息嵌入顶点名称。

在Jet 0.7中,此打印输出将更改为graphviz格式,以便您可以将其复制粘贴到工具并将DAG视为图像。