我正在使用RStudio对存储在BigQuery中的大型数据集运行分析。该数据集是私有的,来自一家大型零售商,该零售商通过BigQuery与我共享了该数据集,以运行所需的分析。我使用bigrquery库将R连接到BigQuery,但是找不到以下两个问题的答案:
1)当我使用R运行分析时(例如,首先使用SELECT获取数据并将其存储在R中的数据框中),然后数据是否以某种方式存储在我的笔记本电脑上?该公司担心机密性,可能不希望我将数据存储在本地,而是将它们留在云中。但是,是否可以使用R呢?
2)我的BigQuery免费版本有1TB/月用于分析。例如,如果我在R中使用select来获取数据,它会告诉我“已处理18.1G字节”,但是如果我在R上运行分析而不是在BigQuery上运行查询,我是否也会用完我的1 TB?如果它不会产生成本,那么我想知道在BigQuery上运行查询比在R上运行查询有什么优势,如果前者最终可能会花费我的钱呢?
最佳詹妮弗
发布于 2018-08-10 18:45:35
据我所知,谷歌的BigQuery是一个完全基于云的数据库。这意味着当您在BigQuery上运行查询或报告时,它发生在云中,而不是本地(即不在R中)。这并不是说您的源数据可能是本地的;事实上,正如您已经看到的,您可以从R上传本地数据集。但是,查询将在云中执行,然后将结果集返回给R。
关于您的另一个问题,BigQuery表中的源数据将保留在云中,而您在本地拥有的数据的唯一公开是您可能从R执行的任何查询的结果。显然,如果您对每个表运行SELECT *,您可以看到特定数据库中的所有数据。所以我不确定在你的设置中会有多大的关注点分离。
至于定价,来自BigQuery documentation on pricing
查询定价是指运行您的SQL命令和用户定义函数的成本。BigQuery使用一个指标对查询收费:处理的字节数。无论数据是存储在BigQuery中还是存储在外部数据源(如Google Cloud Storage、Google Drive或Google Cloud Bigtable )中,您都要按处理的字节数收费。
因此,您将获得每月1TB的免费数据处理,之后您将开始收取费用。
发布于 2018-08-10 19:47:40
除非显式保存到文件,否则R会将数据存储在内存中。然而,由于会话的工作方式,RStudio基本上会保留会话的副本,除非您告诉它不要这样做,这就是为什么当您退出switch项目时,它会询问您是否要保存会话。为了确保不存储任何内容,您应该做的是,当您完成当天的工作(或其他任何事情)时,使用environment选项卡中的扫把图标删除环境中的所有内容。或者,您可以单独删除数据框或其他对象网格,或者转到环境窗口,将"list“更改为”rm(obj)“,然后选择要删除的单个对象。请看这个How do I clear only a few specific objects from the workspace?,它解决了我答案的这一部分(但这不是一个重复的问题)。
https://stackoverflow.com/questions/51784672
复制相似问题