问题标签 [bulkloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
374 浏览

google-app-engine - 是否可以从 GAE bulkloader.py sqlite 数据库重新导出为 CSV?

我使用参数运行 bulkloader 以将我的 bigtable 导出到 csv 文件,并且它花了很多时间下载表(它很大)。由于 Exporter 类中的 lambda 表达式之一出现问题,它无法导出 do。我解决了这个问题,我可以再次运行 bulkloader.py 而无需从 GAE 重新下载所有数据吗?我想将它指向它下载的 .sql 文件,然后告诉它再次导出到 CSV。

0 投票
2 回答
635 浏览

google-app-engine - 如何使用 Google App 引擎批量加载程序备份我的所有数据?

文档说_

事情本身很糟糕:

想法?

0 投票
1 回答
191 浏览

python - 我可以在没有bulkloader的情况下将所有数据上传到gae吗

我可以使用此代码从我在 gae 上的应用程序下载所有数据:

它不使用bulkloader,所以我可以在没有bulkloader的情况下上传所有数据,

谢谢

0 投票
2 回答
1697 浏览

python - 使用 yaml 自动生成的配置和具有数字 ID 的实体时出现 Google App Engine 批量加载程序问题

我的应用程序使用Django non-rel。我无权访问模型。

我的bulkloader.yaml文件由appcfg.py create_bulkloader_config.

问题是实体数字 ID 被导入为字符串键名。因此,如果我导出具有 int ID 的实体,例如'62',它将被导入为字符串键名称为'61' 的实体,这会搞砸 Django。

相关 bulkloader.yaml 片段:

我正在尝试使用bulkloader设置下载/上传od数据,并且我希望数据格式易于理解(如.csv)---因此使用bulkloader.py --dump (...)不是一个可行的选择,因为它为我提供了具有实体内容的sqlite3文件腌制为一排。

编辑

我尝试按照@Nick 的建议进行操作,但遇到了异常:

这是否意味着我必须坚持使用 bulkloader.py(使用那种奇怪的 sqlite 格式)或者我搞砸了什么?;)

变压器头:

整个堆栈跟踪:

0 投票
1 回答
258 浏览

google-app-engine - Google App Engine - 使用 RemoteApiServlet 批量加载 - 计费

我正在使用 App Engine RemoteApiServlet 和 Bulkloader 将数据加载到数据存储中。由于我上传的数据集很大(一百万个实体),我在我的应用程序上启用了“计费”并设置了最大值。每日预算为 5 美元,之后为 10 美元。

在我加载实体后,使用 App Engine 管理控制台,我确定我需要为 CPU 小时支付约 7 美元的费用(因为我最终使用了约 70 个 CPU 小时)。然而,当我查看计费历史时,我只收取了 0.05 美元(用于存储)和 0.0 美元的 CPU 小时数。

我想知道这是否是预期的?使用 RemoteApiServlet 批量加载是否不按 CPU 小时计费?如果是,当我将最大每日预算设置为 5 美元并超过我的 CPU 配额时,我开始从服务中获取 HTTP 503。如果 RemoteApiServlet 的使用免于计费,那么为什么我会看到 503 错误?

0 投票
1 回答
1019 浏览

python - App Engine 批量加载程序性能

我正在使用 App Engine 批量加载程序(Python 运行时)将实体批量上传到数据存储区。我上传的数据以专有格式存储,因此我通过自己的连接器(在 中注册bulkload_config.py)实现了将其转换为中间 python 字典。

要将这个中性 python 字典转换为数据存储实体,我使用了我在 YAML 中定义的自定义后导入函数。

注意:我没有entity_instance, bulkload_state在我的feature_post_import函数中使用。我只是创建新的数据存储实体(基于我的input_dict),然后返回它们。

现在,一切都很好。但是,批量加载数据的过程似乎花费了太多时间。例如,1 GB(约 1,000,000 个实体)的数据需要约 20 小时。如何提高批量加载过程的性能。我错过了什么吗?

我与 appcfg.py 一起使用的一些参数是(10 个线程,每个线程的批量大小为 10 个实体)。

链接了 Google App Engine Python 小组帖子:http ://groups.google.com/group/google-appengine-python/browse_thread/thread/4c8def071a86c840

更新:为了测试批量加载过程的性能,我加载entities了一个 'Test' Kind。尽管这entity有一个非常简单的FloatProperty,我仍然花了同样多的时间来批量加载这些entities

我仍然会尝试改变批量加载程序参数,rps_limitbandwidth_limithttp_limit看看我是否可以获得更多的吞吐量。

0 投票
2 回答
1378 浏览

python - 如何使用 bulkuploader 填充带有 db.SelfReferenceProperty 的类?

我有一个db.SelfReferenceProperty用于创建树状结构的类。

尝试使用 填充数据库appcfg.py upload_data -- config_file=bulkloader.yaml --kind=Group --filename=group.csv (...) 时,我收到一个异常消息BadValueError: name must not be empty(下面的完整堆栈)

我尝试对数据进行排序以确保具有指向它们的外键的组是第一个。那没有用。

通过从 bulkloader.yaml 中注释进行转换的行“import_transform:transform.create_foreign_key('Group')”,数据被上传,但它将该属性存储为字符串,破坏了我的应用程序逻辑。

有什么方法可以让批量加载器考虑到自引用,或者我应该对批量加载的数据进行转换服务器端还是实现我自己的批量加载算法?

0 投票
1 回答
327 浏览

python - 用新的bulkloader设置密钥

我正在转换一个脚本以使用新的bulkloader。(原来的bulkloader有什么问题?-我更喜欢编写Python来编辑配置文件......)

无论如何,我想通过为键分配属性组合来防止重复。文档说:

如果要使用或计算导入数据中的键,请使用与属性映射相同的语法指定键;即external_name、import_template等。

所有示例都将转换应用于当前属性。如何改为使用其他属性的组合?

应该是这样的:

0 投票
3 回答
959 浏览

google-app-engine - 应用引擎批量加载程序下载警告“__key__ 上没有降序索引,正在执行串行下载”

我正在使用以下内容下载我的一种类型的所有实例:

如果该种类的实例数量多于批量大小,那么我会收到以下警告:

我没有任何自定义索引,也没有任何禁用索引的属性。

我“需要”做些什么来解决这个警告,还是只是一个我可以安全忽略的警告?会影响下载速度吗?

这篇关于 bulkloader的文章在示例输出中包含警告消息,但没有提及它。

应用引擎组上的这篇文章说我需要创建一个索引。但是,添加更多索引会减慢对我的实体的写入速度——我宁愿不这样做,因为我将更频繁地写入实体而不是进行批量数据下载。

谢谢。

0 投票
3 回答
564 浏览

google-app-engine - 是否可以使用 bulkloader 上传到 Blobstore

有谁知道是否可以使用 bulkloader 将数据推送到 GAE Blobstore 中?

我需要将 100,000 张平铺图像推送到我的 Google 应用程序。

目前我正在慢慢地将它们推送到数据存储区(由于错误而不断“退出”,这似乎非常慢)。我认为 Blobstore 可能会更有效地备份我的图块。