【发布时间】:2018-03-02 22:09:53
【问题描述】:
我曾多次尝试运行此作业,每次都遇到许多与配额相关的警告(并且每次都要求增加),但最后总是以失败告终,并显示此错误消息,我认为这是由我的数据集太大,但我不确定。 Dataprep 应该能够处理任何规模的 ETL 作业,而这甚至不是那么大的作业。无论如何,这是错误消息,任何帮助将不胜感激:
java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: java.lang.RuntimeException: java.io.IOException: INVALID_ARGUMENT: Shuffle key too large:2001941 > 1572864
at com.google.cloud.dataflow.worker.GroupAlsoByWindowsParDoFn$1.output(GroupAlsoByWindowsParDoFn.java:182)
at com.google.cloud.dataflow.worker.GroupAlsoByWindowFnRunner$1.outputWindowedValue(GroupAlsoByWindowFnRunner.java:104)
at com.google.cloud.dataflow.worker.util.BatchGroupAlsoByWindowViaIteratorsFn.processElement(BatchGroupAlsoByWindowViaIteratorsFn.java:121)
at com.google.cloud.dataflow.worker.util.BatchGroupAlsoByWindowViaIteratorsFn.processElement(BatchGroupAlsoByWindowViaIteratorsFn.java:53)
at com.google.cloud.dataflow.worker.GroupAlsoByWindowFnRunner.invokeProcessElement(GroupAlsoByWindowFnRunner.java:117)
...
完整的错误信息可以在这里找到:https://pastebin.com/raw/QTtmm5D2
我已经获得了几次配额增加,虽然这让工作比以前继续进行,但它仍然以同样的错误结束(尽管随机播放键的大小更大。)它现在似乎没有撞墙,因为到配额相关的问题。
除了放弃 Dataprep 并返回 map reduce 有什么想法吗?
【问题讨论】:
-
这在我看来更有可能是一个错误,即单个列中的单个值太大,而不是数据集太大。你有值这么长的列吗? (显然这里大约 2MB)
-
@jkff 如果还没有人告诉你,你是个美男子。解决了我的问题,谢谢!如果您想将其发布为答案,我会将其标记为已接受。再次感谢您的帮助:)
标签: java tableau-api google-cloud-dataflow google-cloud-dataprep