我遇到一些难以调试的奇怪错误。我正在运行一个简单的UDF JavaScript映射器,它映射JSON数据并将其导入BigQuery。我以前运行过其他UDF函数,但从未遇到过这样的错误。
有没有办法调试(使用实际的调试器或至少使用console.log或类似的)数据流模板UDF错误?
有问题的错误:
exception: "java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: java.lang.RuntimeException: java.lang.RuntimeException: org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]
at com.google.cloud.dataflow.worker.GroupAlsoByWindowsParDoFn$1.output(GroupAlsoByWindowsParDoFn.java:183)
at com.google.cloud.dataflow.worker.GroupAlsoByWindowFnRunner$1.outputWindowedValue(GroupAlsoByWindowFnRunner.java:101)
at com.google.cloud.dataflow.worker.util.BatchGroupAlsoByWindowReshuffleFn.processElement(BatchGroupAlsoByWindowReshuffleFn.java:54)
at com.google.cloud.dataflow.worker.util.BatchGroupAlsoByWindowReshuffleFn.processElement(BatchGroupAlsoByWindowReshuffleFn.java:37)
at com.google.cloud.dataflow.worker.GroupAlsoByWindowFnRunner.invokeProcessElement(GroupAlsoByWindowFnRunner.java:114)
...
很难说出这个错误是什么:这个输入数据是错误格式的还是从UDF输出JSON?
到目前为止,我已经尝试了所有内容:
{}
)有关调试Dataflow UDF Javascript的任何提示都将受到高度赞赏。
这些Java类的源代码是否可以在线使用?