gpt4 book ai didi

google-cloud-dataflow - 如何在数据流中使用内存缓存?

转载 作者:行者123 更新时间:2023-12-03 23:00:22 26 4
gpt4 key购买 nike

我想在 dafalow ParDo 中使用 Memcache?有什么想法吗?我不能使用现有的 memcahse lib,因为它们属于 appengine 并且不可序列化。罗希特

最佳答案

我的猜测是,您的 DoFn 中有一个类型为 MemcacheServiceImpl 的私有(private)变量(如果我的猜测有误,请编辑您的问题以包含您的 code>DoFn).

实际上,当您提交管道时,Dataflow 会序列化您的 DoFn,并在工作人员上反序列化它们。处理这个问题的正确方法是使变量成为 transient 变量,并对其进行惰性初始化:

class MyDoFn extends DoFn<..., ...> {
private transient MemcacheService memcache;
private MemcacheService getMemcache() {
if (memcache == null) {
memcache = MemcacheServiceFactory.getMemcacheService();
...
}
}

public void process(...) {
...use getMemcache()...
}
}

另请注意,要从非 AppEngine 环境访问 AppEngine API(包括 Memcache),您应该使用 Remote API .

关于google-cloud-dataflow - 如何在数据流中使用内存缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38709762/

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