1

据我所知,为 bulkloader.yaml 文件中的属性分配默认值并不容易。我了解到设置默认值的一种方法是编写自己的函数:

 - property: status
      external_name: status
      import_transform: extrabulkloadfunctions.staticvalue(int)

所以我修改了 transform.none_if_empty(int) 函数,使它返回字符串'in queue'而不是None。

def staticvalue(fn):

  def wrapper(value):
    if value == '' or value is None:
      return 'in queue'
    return fn(value)

  return wrapper

不过我想知道,由于 input_transform 只接受一个函数,是否可以传入一个默认值,这样我就不必为我想要传入的每种默认值编写一个新函数。IE:

import_transform: extrabulkloadfunctions.staticvalue("default A")
import_transform: extrabulkloadfunctions.staticvalue("default B")

等等

谢谢!

4

1 回答 1

0
import_transform: "lambda x: 'default A'"
于 2011-12-16T15:08:54.427 回答