Bigquery и R: Стоимость и где хранятся данные?

Я использую RStudio для анализа больших наборов данных, хранящихся в BigQuery. Набор данных является частным и от крупного розничного продавца, который поделился им со мной через BigQuery для проведения необходимого анализа. Я использовал библиотеку bigrquery для подключения R к BigQuery, но не смог найти ответов на следующие два вопроса:

1) Когда я использую R для запуска анализа (например, сначала использовал SELECT для получения данных и сохранял их во фрейме данных в R), сохраняются ли данные каким-то образом локально на моем ноутбуке? Компания заботится о конфиденциальности и, вероятно, не хочет, чтобы я хранил данные локально, а оставил их в облаке. Но возможно ли тогда вообще использовать R?

2) В моей бесплатной версии BigQuery для анализа предоставляется 1 ТБ в месяц. Если я использую select в R для получения данных, он, например, сообщает мне «18,1 гигабайт обработано», но могу ли я также использовать свой 1 ТБ, если я запускаю анализ в R вместо выполнения запросов в BigQuery? Если это не требует затрат, то мне интересно, в чем преимущество выполнения запросов в BigQuery вместо R, если первое может стоить мне денег в конце концов?

Лучший Дженнифер

Стоит ли изучать 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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
293
2

Ответы 2

Насколько мне известно, BigQuery от Google - это полностью облачная база данных. Это означает, что когда вы запускаете запрос или отчет в BigQuery, это происходит в облаке, а не локально (то есть не в R). Это не означает, что ваши исходные данные могут быть локальными; на самом деле, как вы видели, вы можете загрузить локальный набор данных из R. Но запрос будет выполняться в облаке, а затем возвращать набор результатов в R.

Что касается вашего другого вопроса, исходные данные в таблицах BigQuery останутся в облаке, и единственный доступ к данным, которые у вас будут локально, будут результатами любого запроса, который вы можете выполнить из R. Очевидно, если вы запустите SELECT * в каждой таблице вы могли видеть все данные в конкретной базе данных. Так что я не уверен, насколько разделение проблем действительно будет в вашей настройке.

Что касается цен, то из BigQuery документация по ценообразованию:

Query pricing refers to the cost of running your SQL commands and user-defined functions. BigQuery charges for queries by using one metric: the number of bytes processed. You are charged for the number of bytes processed whether the data is stored in BigQuery or in an external data source such as Google Cloud Storage, Google Drive, or Google Cloud Bigtable.

Таким образом, вы получаете 1 ТБ бесплатной обработки в месяц данных, после чего вам будут выставляться счета.

Если вы явно не сохраните в файл, R сохраняет данные в памяти. Однако из-за того, как работают сеансы, RStudio будет в основном хранить копию сеанса, если вы не скажете ему этого не делать, поэтому он спрашивает вас, хотите ли вы сохранить сеанс, когда вы выходите из проектов переключения. Что вы должны сделать, чтобы ничего не сохранить, - это когда вы закончите день (или что-то еще), используйте значок метлы на вкладке Environment, чтобы удалить все в среде. Или вы можете индивидуально удалить фрейм данных или другой объект rm(obj) или перейти в окно среды и изменить «список» на «сетку» и выбрать отдельные объекты для удаления. См. Этот Как удалить из рабочей области только несколько определенных объектов?, который касается этой части моего ответа (но это не повторяющийся вопрос).

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