如何将集合和子集合从Firestore一起导出到excel或bigquery表?

问题描述 投票:0回答:1

[在Cloud Firestore中,我有一个'用户'集合,其中包含我的用户的所有ID。每个用户ID都有一个“收藏夹路由”子集合,在其中可以找到每个收藏夹路由的标识符,每个收藏夹路由ID都包含收藏夹路由的所有详细信息。经过几次尝试,我无法导出所有内容,因此我们可以清楚地看到哪个用户拥有最喜欢的路线。更清楚地讲,我无法导出带有它的子集合的集合。我想进行此导出并在bigquery中创建一个表,以便在google data studio中或以excel表的形式查看它。

我试图这样做:gcloud firestore export gs:// exportation-users / export-27-05-2020 --collection-ids = utilisateurs,trajets收藏夹

这样可以导出,但无法将表创建为bigquery或创建excel文件。

感谢您的帮助

json excel google-cloud-firestore google-bigquery
1个回答
0
投票

根据documentation,您可以使用gcloud firestore export命令将集合和子集合导出到Cloud Bucket。如上所述,在此命令中,可以使用--collection-ids标志选择集合和子集合。另外,导出大型表时,最好使用--async标志。

将数据导出到指定的存储桶后,可以使用bq load命令link将数据加载到BigQuery。对于每个集合和/或子集合将有一个表,因此执行两次(在您的情况下,您将导入1个集合和1个子集合)。语法如下:

bq --location=US load \
--source_format=DATASTORE_BACKUP \
mydataset.book_data \
gs://mybucket/20180228T1256/default_namespace/kind_Book/default_namespace_kind_Book.export_metadata

我想指出,--source_format=DATASTORE_BACKUP是强制性的,它是Firestore导出的格式。其他所有字段均应根据您的环境进行更改。

最后,我必须指出,Firestore中的每个文档都有唯一的键,这些键包含有关数据的重要信息。在这些键中,您具有key。name,该键存储父文档键,并且可以用于将集合与其各自的子集合结合在一起。

最后,您也可以使用Cloud Functions来创建存储桶,将数据导出到存储桶并将数据导入到BigQuery,可以找到一个示例here

© www.soinside.com 2019 - 2024. All rights reserved.