使用" DISTINCT"使用Apache Beam Java SDK的DataStoreIO.read中的功能

时间:2017-09-25 05:33:42

标签: google-cloud-datastore google-cloud-dataflow apache-beam apache-beam-io

我正在运行数据流工作(Apache Beam SDK 2.1.0 Java,Google数据流运行器),我需要从Google DataStore"明确地阅读"在一个特定的财产。 (就像SQL中的好旧" DISTINCT"关键字)。 这是我的代码片段:

Query.Builder q = Query.newBuilder();
q.addKindBuilder().setName("student-records");
q.addDistinctOn(PropertyReference.newBuilder().setName("studentId").build());
pipeline.apply(DatastoreIO.v1().read().withProjectId("project-id").withQuery(q.build()));
pipelilne.run();

当管道运行时,read()由于以下错误而失败:

java.lang.RuntimeException:org.apache.beam.sdk.util.UserCodeException:com.google.datastore.v1.client.DatastoreException:上的不平等过滤器也必须是一个分组设置group by properties时的属性。,code = INVALID_ARGUMENT

有人可以告诉我哪里出错了。

0 个答案:

没有答案