Как добавить новое поле в выходную строку с помощью преобразования Script (Python)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как добавить новое поле в выходную строку с помощью преобразования Script (Python)

Сообщение Anonymous »

Я пытаюсь получить обобщенные показатели рабочего процесса для записи в таблицу. Я решил использовать преобразование сценария (Python), которое выглядит следующим образом
Изображение

Код выглядит следующим образом (как показано на скриншоте)

Код: Выделить всё

import re
import json

metrics_regex = r'\d\d\d\d\/\d\d\/\d\d\s\d\d:\d\d:\d\d\s-\s.*\s-\sFinished processing\s\(I=(\d+),\s\w=\d+,\s\w=\d+,\s\w=(\d+),\s\w=\d+,\s\w=(\d+)\)'
matches = re.findall(metrics_regex, rowMeta.getString(row, 6))
ingest_nr = 'total_records_ingested'
written_nr = 'total_records_written'
error_nr = 'total_errored_records'

metrics = {'hop_job': rowMeta.getString(row, 1)}
for match in matches:
r_in, r_out, r_err = int(match[0]), int(match[1]), int(match[2])

if len(metrics.keys()) == 1:
metrics[ingest_nr] = r_in
metrics[written_nr] = r_out
metrics[error_nr] = r_err
else:
metrics[ingest_nr] += r_in
metrics[written_nr] += r_out
metrics[error_nr] += r_err

metrics = json.dumps(metrics)
Однако я не могу записать необходимое поле в таблицу. В таблицу назначения он выводится как NULL. Все остальное в конвейере работает так, как задумано. Это единственная проблема, с которой я столкнулся. Как мне решить эту проблему, чтобы гарантировать получение соответствующих данных метрик в целевой таблице?
Я протестировал этот сценарий локально на образце строки, и он работает.
Для пояснения: код работает, это код, который является частью преобразования сценария в конвейере Apache Hop. Основная проблема заключается в том, что поле metrics записывается как NULL в целевую таблицу, а не как ненулевое значение JSON

Подробнее здесь: https://stackoverflow.com/questions/789 ... -transform
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Script Script Script Script Script
    Anonymous » » в форуме Javascript
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Google Cloud Scheduler не может найти Script Script Script Script Cloud Run aname lobname
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Google Cloud Scheduler не может найти Script Script Script Script Cloud Run aname lobname
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Google Cloud Scheduler не может найти Script Script Script Script Cloud Run aname lobname
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как использовать разрешенную выходную строку из кода в кварто уценки?
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»