如何将 appengine Datastore API 与 Dataflow 一起使用?
How to use appengine Datastore API's with Dataflow?
我们的数据存储中有一个来自 Appengine 应用的大型数据集。现在我想对它们做一些 ETL 以将它们推送到 bigquery,我想到了使用 Dataflow 批处理作业。
我找到的所有示例都使用此 class 查询数据存储:
import com.google.api.services.datastore.DatastoreV1.Query;
这确实有效。但是,我不熟悉这个 DatastoreV1 API 并且想使用 appengine SDK 提供的 API,如下所示:
import com.google.appengine.api.datastore.Query;
问题是 DatastoreIO 不接受这些查询:
PCollection<Entity> projects = p.apply(Read.from(DatastoreIO.source().withQuery(q).withDataset(DATASET_ID)));
它只会带 DatastoreV1.Query 个对象。有什么方法可以使用 API 提供的应用程序引擎吗?我对那些电话更加熟悉。更好的是,如果我们可以使用 Objectify,那就太棒了 :)
谢谢!
API 的当前实现不可能做到这一点。我们可以将添加视为一项功能,并且很乐意接受拉取请求以扩展当前功能。 AppEngine 团队还积极致力于提高他们的 SDK 和 Datastore 之间的互操作性 API。
我们的数据存储中有一个来自 Appengine 应用的大型数据集。现在我想对它们做一些 ETL 以将它们推送到 bigquery,我想到了使用 Dataflow 批处理作业。
我找到的所有示例都使用此 class 查询数据存储:
import com.google.api.services.datastore.DatastoreV1.Query;
这确实有效。但是,我不熟悉这个 DatastoreV1 API 并且想使用 appengine SDK 提供的 API,如下所示:
import com.google.appengine.api.datastore.Query;
问题是 DatastoreIO 不接受这些查询:
PCollection<Entity> projects = p.apply(Read.from(DatastoreIO.source().withQuery(q).withDataset(DATASET_ID)));
它只会带 DatastoreV1.Query 个对象。有什么方法可以使用 API 提供的应用程序引擎吗?我对那些电话更加熟悉。更好的是,如果我们可以使用 Objectify,那就太棒了 :)
谢谢!
API 的当前实现不可能做到这一点。我们可以将添加视为一项功能,并且很乐意接受拉取请求以扩展当前功能。 AppEngine 团队还积极致力于提高他们的 SDK 和 Datastore 之间的互操作性 API。