1

私が把握したところによると、bulkloader.yaml ファイルのプロパティにデフォルト値を割り当てるのは簡単ではありません。デフォルト値を設定する 1 つの方法は、独自の関数を作成することであることを学びました。

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

そこで、transform.none_if_empty(int) 関数を変更して、None ではなく「in queue」という文字列を返すようにしました。

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 に答える