google-cloud-platform - 是否支持 GCP Firestore 原生模式导出到 BQ 导入?
问题描述
我正在探索将 Firestore 本机模式数据(集合和文档)加载到 BQ 中的选项。但它不适合我。
问题:Big Query 是否支持从 Firestore 本机导出中导入数据提取?
设置:1 个包含多个文档的集合(无子集合)。
步骤: - 导出到 Cloud Bucket: https ://firebase.google.com/docs/firestore/manage-data/export-import - 在 BQ 中导入: https ://cloud.google.com/bigquery/docs/loading-数据云火库
在 BQ 中加载时出错:“不包含有效的备份元数据”
分析:链接中提到URI应该有KIND_COLLECTION_ID并且该文件应该以[KIND_COLLECTION_ID].export_metadata结尾。但对于 Firestore 本机模式导出文件,这些都不是真的。它适用于 Firestore 数据存储模式导出。
- 验证在您的 Cloud Storage URI 中指定了 [KIND_COLLECTION_ID]。如果您指定没有 [KIND_COLLECTION_ID] 的 URI,您会收到以下错误:不包含有效的备份元数据。(错误代码:无效)
- Cloud Firestore 导出文件的 URI 应以 [KIND_COLLECTION_ID].export_metadata 结尾。例如:default_namespace_kind_Book.export_metadata。在本示例中,Book 是集合 ID,default_namespace_kind_Book 是 Cloud Firestore 生成的文件名
解决方案
当创建一个 Firestore 集合到 GCS 的导出时,会创建一个目录结构,如下所示:
[Bucket]
- [Date/Time]
- [Date/Time].overall_export_metadata
- all_namespaces
- kind_[collection]
- all_namespaces_kind_[collection].export_metadata
将导出导入 BigQuery 时,请使用以下文件:
[Bucket]/[Date/Time]/all_namespaces/kind_[collection]/all_namespaces_kind_[collection].export_metadata
具体来说,如果有人使用[Bucket]/[Date/Time]/[Date/Time].overall_export_metadata
,您将收到您描述的错误。另请参阅Console > Bullet 3 下的注释,内容如下:
注意:不要使用以overall_export_metadata 结尾的文件。BigQuery 无法使用此文件。
推荐阅读
- python - Flask SQLAlchemy 在 WSGI 服务器中抛出 Unicode 错误,但在调试本地服务器中没有?
- javascript - “职位”是什么意思以及如何找到职位
- flutter - 如何从 json 列表中返回对象?
- asp.net - 旧的 Asp.Net Web 表单应用程序不记录通过 IIS URL 重写模块到达的 Web 请求
- python - Scrapy:由于多个 for 循环,重复的项目字段
- javascript - setPointerCapture 在 Chrome 和 Firefox 中的行为不同
- maven - Allure Test NG 报告 TestBody 缺失
- python - 使用现有 Teradata 数据库定义模型以供烧瓶应用程序使用时出现“QVCI 功能已禁用”错误
- css - 当包含在 iframe 中时,固定位置菜单不起作用
- onedrive - 如何将 API 密钥限制为单向写入而不读取单个 OneDrive 文件夹?