Создание облачной функции Google, которая редактирует файл jsonl на основе имени файла - PullRequest
0 голосов
/ 24 ноября 2018

новинка в стеке переполнена, так что, надеюсь, это не глупый вопрос, но я не мог найти ответ в другом месте.

Я хочу создать облачную функцию Google, которая запускается для файла jsonl, когда он поступает в корзину и преобразует его, сохраняет в новом контейнере.Файлы будут приходить в gcs каждый день по расписанию в 3 часа дня, поэтому я в порядке, если это просто облачная функция Google, которая запускается по расписанию, если это проще.Файлы также являются файлами .jsonl.gz, поэтому я не уверен, что мне нужно что-то делать с распаковкой их перед попыткой их преобразования.

Файл jsonl - это, по сути, файл json, где каждая строка является допустимым файлом json, например:

{"index": 1, "met": "1043205", "no": "A"}
{"index": 2, "met": "000031043206", "no": "B"}
{"index": 3, "met": "0031043207", "no": "C"}

В каждом файле содержится около 500 000 строк.Имя файла будет примерно таким: 20181017_nyc_midtown.jsonl.gz.У меня есть большая таблица запросов, в которой есть каждое имя файла, а затем заданный уникальный идентификатор для этого файла.Так, например, уникальный идентификатор для 20181017_nyc_midtown.jsonl.gz может быть 001924 (случайный уникальный идентификатор, который вам понадобится для таблицы).Вместо этого я могу сделать большую таблицу запросов json, чтобы выполнить поиск, но тогда я должен был бы убедиться, что json обновлен, тогда как большая таблица запросов кажется лучшим вариантом.Большая таблица запросов выглядит следующим образом:

+-------------------------------+----------+
|           Filename            | UniqueId |
+-------------------------------+----------+
| 20181017_nyc_midtown.jsonl.gz |   001924 |
+-------------------------------+----------+

Если это файл 20181017_nyc_midtown.jsonl.gz и уникальный идентификатор - 001924 Я хочу добавить еще один столбец к этому jsonl с уникальным идентификатором.Столбец будет добавлен в каждую строку, поэтому выходные данные будут иметь следующий вид:

{"index": 1, "met": "1043205", "no": "A", "unique_id":001924}
{"index": 2, "met": "000031043206", "no": "B", "unique_id":001924}
{"index": 3, "met": "0031043207", "no": "C", "unique_id":001924}

Я бы хотел сохранить новые файлы jsonl с уникальным идентификатором в другой сегмент (в пределах одного проекта).Имя файла будет таким же, как имя файла ввода.

в теории это кажется довольно простой концепцией / вещью, которую нужно сделать, даже если я объяснил это непонятным, я просто пытался быть конкретным и следовать правилам публикации.

[Я в порядке с решением в узле или на python, я не знаю, узел предпочтителен, поэтому python предпочтителен, поэтому я могу понять его / отредактировать его нужно, но либо работает]

...