如何从 GAE 数据存储中导出 BLOB 类型字段?

Posted

技术标签:

【中文标题】如何从 GAE 数据存储中导出 BLOB 类型字段?【英文标题】:How to export BLOB type fields from GAE datastore? 【发布时间】:2018-01-09 14:12:54 【问题描述】:

所以我想从 GAE 数据存储中导出一些数据,这就是我正在尝试的方式:

    为我要导出的 kind 创建一个 Cloud Datastore 备份。 在 Google BigQuery 中加载备份 从 Google BigQuery 导出

一切正常,但有一个问题,Google BigQuery 加载程序在从 Cloud Datastore 备份加载数据时忽略 Blob 类型字段。(https://cloud.google.com/bigquery/loading-data-cloud-datastore)

如何实现所有类型字段(包括Blob类型字段)的导出?

【问题讨论】:

【参考方案1】:

按照documentation,Blob 不能存储在 BigQuery 中,因为它不是其主要目的,即大数据分析。 BigQuery 仅接受指定的标准 SQL 数据类型 here。在任何情况下,根据您的用例和这些 blob 包含的内容,您可能有一些选择。

由于 Datastore 的最大行大小为 1MB,BigQuery 为 100MB,因此您可以在传输 blob 之前对其进行转换。另一方面,您可以使用其他服务(例如 Google Cloud Storage)将 blob 存储在那里,并在您的 Datastore 数据库中输入对 Cloud Storage 中该文件的引用。

我在公共问题跟踪器中为此创建了一个feature request,因此您可以在那里跟踪它的进展。但是,此实现没有 ETA。

【讨论】:

以上是关于如何从 GAE 数据存储中导出 BLOB 类型字段?的主要内容,如果未能解决你的问题,请参考以下文章

试图从 Oracle 数据库中导出 java 源代码

ORACLE数据库BLOB如何转化类型

如何从 C 中导出结构的字段

oracle数据库如何查询一张表中BLOB字段中的内容

数据库中图片存储为BLOB类型,如何取出转换

如何从以 BLOB 类型存储在列中的 XML 中提取数据(通过 SQL 查询)