Оценщик 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['/*'] не работает для меня, чтобы получить весь столбец.


person john carlo estipona    schedule 09.10.2020    source источник


Ответы (2)


Вот еще один довольно компактный способ записи.

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

sdc.output.write(record)

Привет, Дэш

person Dash    schedule 11.12.2020

Для тех, кто сталкивается с той же проблемой, это может помочь!

for record in records:
  for key in record.value:
    if record.value[key] == "":
      record.attributes["DATA"] = key
   sdc.output.write(record)
person john carlo estipona    schedule 09.10.2020