当我在Google云数据流中运行我的代码时,我会在"错误"中得到一些追溯。查看,但它们被截断。
(cee7eb663424a856): Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/batchworker.py", line 578, in do_work
work_executor.execute()
File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/executor.py", line 165, in execute
op.start()
File "dataflow_worker/shuffle_operations.py", line 49, in dataflow_worker.shuffle_operations.GroupedShuffleReadOperation.start (dataflow_worker/shuffle_operations.c:3442)
def start(self):
File "dataflow_worker/shuffle_operations.py", line 50, in dataflow_worker.shuffle_operations.GroupedShuffleReadOperation.start (dataflow_worker/shuffle_operations.c:3346)
with self.scoped_start_state:
File "dataflow_worker/shuffle_operations.py", line 63, in dataflow_worker.shuffle_operations.GroupedShuffleReadOperation.start (dataflow_worker/shuffle_operations.c:3261)
with self.shuffle_source.reader() as reader:
File "dataflow_worker/shuffle_operations.py", line 67, in dataflow_worker.shuffle_operations.GroupedShuffleReadOperation.start (dataflow_worker/shuffle_operations.c:3205)
self.output(windowed_value)
File "dataflow_worker/operations.py", line 139, in dataflow_worker.operations.Operation.output (dataflow_worker/operations.c:5717)
cython.cast(Receiver, self.receivers[output_index]).receive(windowed_value)
File "dataflow_worker/operations.py", line 72, in dataflow_worker.operations.ConsumerSet.receive (dataflow_worker/operations.c:3421)
cython.cast(Operation, consumer).process(windowed_value)
File "dataflow_worker/shuffle_operations.py", line 220, in dataflow_worker.shuffle_operations.BatchGroupAlsoByWindowsOperation.process (dataflow_worker/shuffle_operations.c:8094)
self.output(wvalue.with_value((k, wvalue.value)))
File "dataflow_worker/operations.py", line 139, in dataflow_worker.operations.Operation.output (dataflow_worker/operations.c:5717)
cython.cast(Receiver, self.receivers[output_index]).receive(windowed_value)
File "dataflow_worker/operations.py", line 72, in dataflow_worker.operations.ConsumerSet.receive (dataflow_worker/operations.c:3421)
cython.cast(Operation, consumer).process(windowed_value)
File "dataflow_worker/operations.py", line 395, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13546)
with self.scoped_process_state:
File "dataflow_worker/operations.py", line 396, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13500)
self.dofn_receiver.receive(o)
File "apache_beam/runners/common.py", line 195, in apache_beam.runners.common.DoFnRunner.receive (apache_beam/runners/common.c:5142)
self.process(windowed_value)
File "apache_beam/runners/common.py", line 267, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7201)
self.reraise_augmented(exn)
File "apache_beam/runners/common.py", line 281, in apache_beam.runners.common.DoFnRunner.reraise_augmented (apache_beam/runners/common.c:7609)
raise
File "apache_beam/runners/common.py", line 263, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7090)
self._dofn_simple_invoker(element)
File "apache_beam/runners/common.py", line 198, in apache_beam.runners.common.DoFnRunner._dofn_simple_invoker (apache_beam/runners/common.c:5288)
self._process_outputs(element, self.dofn_process(element.value))
File "apache_beam/runners/common.py", line 326, in apache_beam.runners.common.DoFnRunner._process_outputs (apache_beam/runners/common.c:8563)
self.main_receivers.receive(windowed_value)
File "dataflow_worker/operations.py", line 72, in dataflow_worker.operations.ConsumerSet.receive (dataflow_worker/operations.c:3421)
cython.cast(Operation, consumer).process(windowed_value)
File "dataflow_worker/operations.py", line 395, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13546)
with self.scoped_process_state:
File "dataflow_worker/operations.py", line 396, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13500)
self.dofn_receiver.receive(o)
File "apache_beam/runners/common.py", line 195, in apache_beam.runners.common.DoFnRunner.receive (apache_beam/runners/common.c:5142)
self.process(windowed_value)
File "apache_beam/runners/common.py", line 267, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7201)
self.reraise_augmented(exn)
File "apache_beam/runners/common.py", line 281, in apache_beam.runners.common.DoFnRunner.reraise_augmented (apache_beam/runners/common.c:7609)
raise
File "apache_beam/runners/common.py", line 263, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7090)
self._dofn_simple_invoker(element)
File "apache_beam/runners/common.py", line 198, in apache_beam.runners.common.DoFnRunner._dofn_simple_invoker (apache_beam/runners/common.c:5288)
self._process_outputs(element, self.dofn_process(element.value))
File "apache_beam/runners/common.py", line 326, in apache_beam.runners.common.DoFnRunner._process_outputs (apache_beam/runners/common.c:8563)
self.main_receivers.receive(windowed_value)
File "dataflow_worker/operations.py", line 72, in dataflow_worker.operations.ConsumerSet.receive (dataflow_worker/operations.c:3421)
cython.cast(Operation, consumer).process(windowed_value)
File "dataflow_worker/operations.py", line 395, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13546)
with self.scoped_process_state:
File "dataflow_worker/operations.py", line 396, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13500)
self.dofn_receiver.receive(o)
File "apache_beam/runners/common.py", line 195, in apache_beam.runners.common.DoFnRunner.receive (apache_beam/runners/common.c:5142)
self.process(windowed_value)
File "apache_beam/runners/common.py", line 267, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7201)
self.reraise_augmented(exn)
File "apache_beam/runners/common.py", line 281, in apache_beam.runners.common.DoFnRunner.reraise_augmented (apache_beam/runners/common.c:7609)
raise
File "apache_beam/runners/common.py", line 263, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7090)
self._dofn_simple_invoker(element)
File "apache_beam/runners/common.py", line 198, in apache_beam.runners.common.DoFnRunner._dofn_simple_invoker (apache_beam/runners/common.c:5288)
self._process_outputs(element, self.dofn_process(element.value))
File "apache_beam/runners/common.py", line 326, in apache_beam.runners.common.DoFnRunner._process_outputs (apache_beam/runners/common.c:8563)
self.main_receivers.receive(windowed_value)
File "dataflow_worker/operations.py", line 72, in dataflow_worker.operations.ConsumerSet.receive (dataflow_worker/operations.c:3421)
cython.cast(Operation, consumer).process(windowed_value)
File "dataflow_worker/operations.py", line 395, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13546)
with self.scoped_process_state:
File "dataflow_worker/operations.py", line 396, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13500)
self.dofn_receiver.receive(o)
File "apache_beam/runners/common.py", line 195, in apache_beam.runners.common.DoFnRunner.receive (apache_beam/runners/common.c:5142)
self.process(windowed_value)
File "apache_beam/runners/common.py", line 267, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7201)
self.reraise_augmented(exn)
File "apache_beam/runners/common.py", line 281, in apache_beam.runners.common.DoFnRunner.reraise_augmented (apache_beam/runners/common.c:7609)
raise
File "apache_beam/runners/common.py", line 263, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7090)
self._dofn_simple_invoker(element)
File "apache_beam/runners/common.py", line 198, in apache_beam.runners.common.DoFnRunner._dofn_simple_invoker (apache_beam/runners/common.c:5288)
self._process_outputs(element, self.dofn_process(element.value))
File "apache_beam/runners/common.py", line 326, in apache_beam.runners.common.DoFnRunner._process_outputs (apache_beam/runners/common.c:8563)
self.main_receivers.receive(windowed_value)
File "dataflow_worker/operations.py", line 72, in dataflow_worker.operations.ConsumerSet.receive (dataflow_worker/operations.c:3421)
cython.cast(Operation, consumer).process(windowed_value)
File "dataflow_worker/operations.py", line 395, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13546)
with self.scoped_process_state:
File "dataflow_worker/operations.py", line 396, in dataflow_worker.operations.DoOperation.process (dataflow_worker/operations.c:13500)
self.dofn_receiver.receive(o)
File "apache_beam/runners/common.py", line 195, in apache_beam.runners.common.DoFnRunner.receive (apache_beam/runners/common.c:5142)
self.process(windowed_value)
File "apache_beam/runners/common.py", line 267, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7201)
self.reraise_augmented(exn)
File "apache_beam/runners/common.py", line 281, in apache_beam.runners.common.DoFnRunner.reraise_augmented (apache_beam/runners/common.c:7609)
raise
File "apache_beam/runners/common.py", line 263, in apache_beam.runners.common.DoFnRunner.process (apache_beam/runners/common.c:7090)
self._dofn_simple_invoker(element)
File "apache_beam/runners/common.py", line 198, in apache_beam.runners.common.DoFnRunner._dofn_simple_invoker (apache_beam/runners/common.c:5288)
self._process_outputs(element, self.dofn_process(element.value))
File "apache_beam/runners/common.py", line 326, in apache_beam.runners.common.DoFnRunner._process_outputs (apache_beam/runners/common.c:8563)
self.main_receivers.receive(windowed_value)
File "dataflow_worker/operations.py", line 72, in dataflow_worker.operations.ConsumerSet.receive (dataflow_worker/operations.c:3421)
cython.cast(Operation, consumer).process(windowed_valu
注意它是如何在最后被截断的...大约10220个字符后,它还没有得到我实际代码的堆栈跟踪!
如果我打开日志面板并查看日志,我很幸运能够看到完整的东西......包括指向我的代码的最后一行,以及实际的异常类/消息本身。
答案 0 :(得分:1)
Dataflow UI中显示的错误被截断大约10k个字符,但是如果您查看Stackdriver Logging,您应该能够看到整个异常。