Streamsets Jython评估程序

问题描述

我需要有关如何检查记录的所有字段(如果它包含某个字符串)以及如何编写具有该字符的标头属性代码。请参见下面的代码

for record in records:
  if record.value == "":
    record.attributes["DATA"] = "BAD"
    sdc.output.write(record)
  else:
    record.attributes["DATA"] = "GOOD"
    sdc.output.write(record)

如果有人知道另一种方法可以做到这一点!!! record.values ['/ *']对于我无法获取所有列。

解决方法

对于任何面临相同问题的人,这可能会有所帮助!

for record in records:
  for key in record.value:
    if record.value[key] == "":
      record.attributes["DATA"] = key
   sdc.output.write(record)
,

这是另一种紧凑的编写方式。

for (key,val) in record.value.iteritems():
   if val == "some_string_value":
     record.attributes["DATA"] = "some_header_value"

sdc.output.write(record)

干杯, 短跑