Робота з великою кількістю JSON документів

💡 Усі статті, обговорення, новини про DevOps — в одному місці. Приєднуйтесь до DevOps спільноти!

Є купа дуже різноманітніх json у s3-бакеті (Azure Storage). Великі і маленькі, з дуже різною структурою.

Чи є якийсь інструмент, який дозволить передивлятись їх всі, обирати та дивитись зміст, вкрай бажано з можливістю підсвітки синтаксису і згортанням-розгортанням структури даних. Якщо ще буде можливо порівняти і побачити різницю між двома довільними документами — то буде супер, як і надіслати комусь посилання на конкретну розгорнуту структуру у документі.

Важливо — документи доступні виключно у внутрішній мережі, тож треба щось self-hosted

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

а для total commander-а немає плугіна? якихось нещасних двадять років тому він умів все

Застосуйте якийсь ноутбук(jupiter, databricks і тд). Якщо, їх дійсно БАГАТО застосуйте спарк

їх небагато, десятки, максимум пара сотен.

I don’t want to copy or mount it. I want to see it via web-browser.

Якщо багато json документів, потрібно завести json документ з переліком цих документів.

а скажіть ще щось по-армійськи

Журнал регистрации json файлов, журнал доступов к json файлам, журнал ответственных за json файлы

Можна поцікавитись — навіщо їх усі переглядати якщо їх так багато? Може зробити пошук по ним? Чи треба їх усі спочатку переглянути щоб вибрати ті що потрібні?

Вони не всі одночасно потрібні, більшість з цих документів — тимчасова, тобто зберігається місяць-два. Пошук як такий — не потрібен, зазвичай я знаю, що саме хочу глянути, але вони великі, і бажано «звернути» повну структуру і розвертати за потребою.

Для пошуку ще й індексувати треба, а вони більш-менш постійно додаються-видаляються. Хоча і не дуже часто.

Не те, що б я переглядав їх геть усі постійно, але я не знаю, який саме мені треба переглянути , чи порівняти з аналогічним, чи надіслати посилання співробітнику на строку/параметр.

вище вже вказували як монтувати бакет локально, з свого досвіду порекомендую rclone (підтримує azure blob storage, налаштуй максимальне кешування)

чесно кажучи до кінця не розумію, що саме тебе цікавить в тих json файлах, але для перегляду якогось одного куска в командній стрічці можна використовувати jq <щось там> | code

тобто ти вибереш один field і для перегляду передаш його в vscode

синтаксис запитів jq питай в chatgpt

Якраз в консолі мені НЕ треба з ними працювати, бо важливо мати можливість поділитися посиланням.

як клонувати монтувати та фільтрувати з jq я знаю. Питання за якийсь онлайн інструмент. В браузері

new relic i datadog (платні сервіси) можуть працювати з json файлами різних схем, порівнювати — ні, але швидкий пошук по ключам/полям з регексом і зберіганням рузультатів в URL для розшарення — без проблем
ще можна включити в blob storage sftp і відкривати blob storage в vscode, там в якомусь плагіні типу data wrangler можна ділитись (памятаю, що в нас в тімс нотифікаціях були якісь кастомні урли для vscode + data warngler для проблемних даних після data quality checks)

Важливо — документи доступні виключно у внутрішній мережі, тож треба щось self-hosted

Те що спадає на думку це vscode server + blob fuse

Перш ніж ранити своє рішення, а амазонівські сервіси вам не підходять? Наприклад зробити пару кверів які вам потрібно в AWS Athena? Там можна як джерело обрати S3 + json і розпарсити як вам забажається. Для складання складного Query запиту GPT в допомогу

написано ж, в Ажурі лежать дані

В принципі, налаштувати дублювання у s3 — не велика проблема. Але бажано б мати найпростіше рішення.

Є купа дуже різноманітніх json у s3-бакеті (Azure Storage).

А може хтось пояснити, як це?

Йдеться про “Blob storage”?

Тобто я можу їх зберігати і там і там. Azure Storage Blob простіше з різних причин, але не так щоб дуже принципово.

Так я ж і намагаюсь пошукати існуючі рішення.

Запроси це гарно, але структура там дууже різна і заздалегідь не відома. Я можу приблизно знати що шукати, скажемо так, по «шляху до змінної». Працювати запросами не дуже зручно. Бо зазвичай мені потрібно оглянути файл загалом (потрібно підсвітити синтаксис для зручності), чи якусь частину, або перевірити якусь змінну. Так то я можу дублювати локально та юзати jq — але інколи треба поділитися і показати і тут web-рішення було-б зручніше.

Підписатись на коментарі