gpt4 book ai didi

java - 通过 Google DataFlow Transformer 查询关系数据库

转载 作者:行者123 更新时间:2023-11-29 05:11:18 24 4
gpt4 key购买 nike

我想在我的数据流管道上实现一个 ParDo 转换器,它基本上根据每个要处理的元素提供的数据查询关系数据库。我知道用户定义的转换器中的每个属性都必须是可序列化的,但是要使用 jdbc 将数据查询到数据库,我需要创建一个自然不可序列化对象的 Connection

是否仍然可以在数据流管道上下文中执行此操作?

最佳答案

是的,这是可能的。您可以使您的 Connection 对象成为 transient 的,这样它就不会被序列化,并通过 startBundle 方法为每个包创建一次。处理完包中的所有元素后,可以通过 finishBundle 方法关闭连接。

class MyDoFn extends DoFn<X, Y> {
private transient Connection jdbc;

@Setup
public void setup(Context c) {
jdbc = // Create connection
}

@ProcessElement
public void processElement(ProcessContext c) {
// query database
}

@Teardown
public void tearDown(Context c) {
// close connection
}
}

关于java - 通过 Google DataFlow Transformer 查询关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38976925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com