我需要在一个项目的BigQuery上运行连接查询,这可能会返回大量数据(可能不适合虚拟机的记忆),然后将结果保存在另一个项目的BigQuery中。 / p>
有没有一种简单的方法可以在不加载VM中的数据的情况下执行此操作,因为数据大小可能会有所不同,而VM可能没有足够的内存来加载它?
答案 0 :(得分:2)
一种方法是绕过VM进行操作,改为使用Google Cloud Storage。
该过程将如下所示
答案 1 :(得分:1)
将查询结果保存到任何项目中的表 - 您不需要先将其保存到VM,只需设置正确的目标属性,当然您需要对包含该表的数据集具有写权限!
目的地属性可能因您使用的client tool而异 例如,如果您使用的是REST API的jobs.insert,则应设置以下属性
configuration.query.destinationTable 嵌套对象[可选]
描述应存储查询结果的表。如果不 目前,将创建一个新表来存储结果。这个 必须为超过最大值的大结果设置属性 响应大小。configuration.query.destinationTable.datasetId string [必填]
该 包含此表的数据集的ID。configuration.query.destinationTable.projectId string [必需]
该 包含此表的项目的ID。configuration.query.destinationTable.tableId string [必需]
身份证 的表。 ID必须仅包含字母(a-z,A-Z),数字 (0-9)或下划线(_)。最大长度为1,024个字符。