当前位置: 首页 > 面试题库 >

如何将数据批量上传到Appengine数据存储区?较旧的方法不起作用

叶卓君
2023-03-14
问题内容

这应该是一个相当普遍的要求,并且是一个简单的过程:将数据批量上传到Appengine数据存储区。

但是,在stackoverflow上提到的较旧的解决方案(下面的链接*)似乎都不再起作用。使用DB
API上传到数据存储区时,bulkloader方法是最合理的解决方案,不适用于NDB API

现在,bulkloader方法似乎已被弃用,文档中仍然存在的旧链接导致错误的页面。这是一个例子

https://developers.google.com/appengine/docs/python/tools/uploadingdata

上面的链接仍在此页面上:https
:
//developers.google.com/appengine/docs/python/tools/uploadinganapp

现在建议使用什么方法批量加载数据?

两种可行的选择似乎是:1)使用remote_api或2)将CSV文件写入GCS存储桶并从中读取。有人成功使用这两种方法吗?

任何指针将不胜感激。谢谢!


问题答案:

你们中的某些人可能会遇到这种情况:我无法使用数据存储区的导入/导出实用程序,因为在进入数据存储区之前,我的数据需要进行转换。

我最终使用 apache-beam
(谷歌云数据流)

您只需要编写几行“光束”代码即可

  • 读取您的数据(例如托管在云存储上)-您会得到一个PCollection字符串,
  • 进行所需的任何转换(以便获得PCollection数据存储区实体),
  • 将它们转储到数据存储接收器。

我能够以5位工作者的速度每秒800个实体写入我的数据存储区。这使我能够在大约5个小时内完成导入任务(有1600万行)。如果您想使其更快,请使用更多的工人:D



 类似资料:
  • 问题内容: 我正在尝试决定是否应针对App引擎关联的Android项目使用App引擎搜索API或数据存储区。Google文档的唯一区别是 …索引搜索最多只能找到10,000个匹配的文档。App Engine数据存储区可能更适合需要检索非常大的结果集的应用程序。 鉴于我已经非常熟悉数据存储区:假设我不需要10,000个结果,有人可以帮我吗? 是否有任何优势,利用与使用数据存储为我的查询(根据上面的报

  • 问题内容: 目前我正在使用这样的东西: 但是事实证明,AppEngine上的数据存储区中的ID不是从1开始的。我在数据存储区中有两个图像,其ID为6001和7001。 有没有更好的方法来检索随机图像? 问题答案: 数据存储是分布式的,因此ID是非顺序的:两个数据存储节点需要能够同时生成ID而不会引起冲突。 要获得随机实体,可以在创建时将0到1之间的随机浮点数附加到每个实体。然后进行查询,执行以下操

  • 这根本不是关于Spring靴的。 我的英语可以更好。 使用下面的Spring Data配置,我正在尝试执行DML请求。 恰好是< code>CrudRepository#save方法。 然而,执行Spring的CrudRepository#保存方法,我接下来要做的是: 只有选择由功能记录。 没有执行任何“插入”或“更新”语句来hibernate.show_sql日志记录。 数据库根本没有变化。 =

  • 本文向大家介绍php上传文件并存储到mysql数据库的方法,包括了php上传文件并存储到mysql数据库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php上传文件并存储到mysql数据库的方法。分享给大家供大家参考。具体分析如下: 下面的代码分别用于创建mysql表和上传文件保存到mysql数据库 创建mysql表: 上传文件并保存到mysql中,通过insert语句插入 希望本

  • 我想创建一个Cloud Function(每天01:00执行)。函数应该 生成数据帧 [导出为dataframe.csv] ..... 问题1:是否有可能将数据帧推送到桶? 问题2:如何在CloudFunction(CF)中创建一个. csv文件,以便将其推送到桶中? 现在更新代码:(仍给出错误) 对于云上的复制,您需要创建一个需求。包含以下内容的txt: 在cloud shell中,我使用以下内

  • 我试图创建一些切入点和之前的建议为存储库,以便能够在Spring启动的Spring数据中过滤一些存储库的实体管理器。我在项目中也有Web和服务层,AounLogging适用于两者。但是我不能为存储库做同样的事情。我已经挣扎了2天,我尝试了很多东西来修复它。我几乎阅读了关于此的每个文档、问题和线程(代理问题CGlib和JDK代理等)。我使用jhipster创建项目。 除了@Pointcut和Crud