Разрешить бизнес-пользователю загружать данные из CSV в таблицу Google Big Query

Я готовлю табличную панель, которая считывает данные из определенных таблиц. В одной из таблиц есть данные, которые добавляются вручную по мере необходимости. Данные поступают со стороны бизнеса. Есть ли способ позволить бизнес-пользователю загружать csv в большую таблицу запросов, не заставляя их делать что-либо слишком техническое?

Если пользователь может загрузить csv на гугл диск, то с помощью этого подхода cloud.google.com/bigquery/docs/external-data-drive можно создавать постоянные таблицы в большом запросе.

Bihag Kashikar 11.04.2023 06:42

Спасибо за ответ @BihagKashikar. Но нам нужно загружать данные произвольно, несколько раз. Нам нужно отслеживать, когда данные были загружены и что изменилось в результате. Хранить все это на листе в долгосрочной перспективе было бы обременительно. Вы знаете какие-то другие способы? Есть ли вариант, при котором пользователь может загрузить CSV и нажать кнопку, после чего запустится служба для загрузки данных в Big Query?

AntonySamuelB 11.04.2023 17:46

Привет @AntonySamuelB, вы можете загрузить данные CSV прямо в таблицу bigquery.

kiran mathew 12.04.2023 12:32

Спасибо за ответ @kiranmathew. К сожалению, бизнес-пользователь не разбирается в больших запросах, и я прямо сейчас выступаю в роли посредника, получая csv и вставляя его в существующую таблицу с помощью скрипта Python. Я пытаюсь автоматизировать свою роль в этом. Любая помощь приветствуется.

AntonySamuelB 12.04.2023 12:55

Привет @AntonySamuelB, я опубликовал решение. Я не уверен, что он соответствует всем вашим требованиям. Я надеюсь, что это помогает.

kiran mathew 14.04.2023 09:34
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
5
119
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В настоящее время нет удобного для пользователя способа импорта прямо в существующую большую таблицу запросов из csv. Вы можете упаковать свой скрипт Python в небольшое приложение, которое позволит бизнес-пользователю выбрать файл, а затем запустить ваш скрипт Python для загрузки CSV-файла в BQ. Мне приходилось делать подобное решение.

Спасибо за ответ @Chris Ewart. Можете ли вы предоставить общий обзор используемого приложения?

AntonySamuelB 13.04.2023 08:18
Ответ принят как подходящий

В качестве обходного пути вы можете рассмотреть следующие методы:

1 Использование переносов в облачное хранилище:

В этом методе сначала вам нужно отправить файл csv в облачное хранилище. Затем вы можете настроить передачу облачного хранилища. Эта служба передачи для облачного хранилища позволяет планировать повторяющиеся загрузки данных из облачного хранилища в BigQuery. Для получения дополнительной информации вы перейдите по этой ссылке . Но имейте в виду, что у этого сервиса есть некоторые ограничения.

2. Автоматизируйте сценарий Python в Google Cloud.

Существуют разные способы автоматизации скрипта Python в облаке Google. В вашем случае вы можете рассмотреть возможность использования облачной функции с облачным расписанием для автоматического запуска вашего кода Python. Сначала вам нужно создать облачную функцию для запуска вашего кода. Затем вы можете использовать облачное расписание для автоматического запуска вашей функции. Более безопасным способом вы можете косвенно использовать триггерную облачную функцию с помощью pubsub. Для получения дополнительной информации вы можете перейти по этой ссылке.

Другие вопросы по теме

Похожие вопросы

Есть ли модуль Python для обработки CSV-файлов с разделами?
Сериализация вложенных объектов json в csv с ящиками serde и csv
Как я могу создать JSON в R для соответствия этой схеме?
Используя powershell для чтения текстовых файлов, отредактируйте столбец перед выводом каждого текстового файла в CSV
TypeError: объект «метод» не может быть подписан в блокноте python jupyter
Обход словарей с несколькими индексами, которые присутствуют в фрейме данных, и сохранение значений в списке
VBA: как импортировать в Excel CSV-файл, совместимый с ISO4180, как есть? (все в виде текста, сохраняющего цитируемое содержимое в одной строке)
Могу ли я использовать оператор if внутри командлета Set-ADUser, чтобы проверить, является ли столбец нулевым, прежде чем обновлять AD информацией из этого столбца?
Pandas read_csv() преобразует целочисленные столбцы в числа с плавающей запятой, если есть NaN. Как сохранить их целыми?
Поиск условных значений с добавлением строки в csv.reader