FileNotFoundError во временном местоположении задания во время операции Cloud Dataflow Shuffle - PullRequest
0 голосов
/ 25 октября 2019

Во время выполнения пакетного задания в облачном потоке данных Google произошла ошибка во время определенного шага, в котором используется Сервисная функция перемешивания в потоке данных . В сообщении об ошибке утверждается, что определенный файл больше не присутствует во временном местоположении задания, которое я указал для этого конвейера.

Вот наиболее релевантный фрагмент полной трассировки стека:

An exception was raised when trying to execute the workitem 2931621256965625980 : Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/apache_beam/io/gcp/gcsio.py", line 490, in __init__
    metadata = self._get_object_metadata(self._get_request)
  File "/usr/local/lib/python3.7/site-packages/apache_beam/utils/retry.py", line 206, in wrapper
    return fun(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/apache_beam/io/gcp/gcsio.py", line 513, in _get_object_metadata
    return self._client.objects.Get(get_request)
  File "/usr/local/lib/python3.7/site-packages/apache_beam/io/gcp/internal/clients/storage/storage_v1_client.py", line 1100, in Get
    download=download)
  File "/usr/local/lib/python3.7/site-packages/apitools/base/py/base_api.py", line 731, in _RunMethod
    return self.ProcessHttpResponse(method_config, http_response, request)
  File "/usr/local/lib/python3.7/site-packages/apitools/base/py/base_api.py", line 737, in ProcessHttpResponse
    self.__ProcessHttpResponse(method_config, http_response, request))
  File "/usr/local/lib/python3.7/site-packages/apitools/base/py/base_api.py", line 604, in __ProcessHttpResponse
    http_response, method_config=method_config, request=request)
apitools.base.py.exceptions.HttpNotFoundError: HttpError accessing <https://www.googleapis.com/storage/v1/b/<CLOUD STORAGE PATH FOR TEMPORARY JOB FILES>%2F<DATAFLOW JOB NAME>.1571774420.011973%2Ftmp-626a66561e20e8b6-00000-of-00003.avro?alt=json>: response: <{'x-guploader-uploadid': 'AEnB2UrVuWRWrrcneEjgvuGSwYR82tBqDdVa727Ylo8tVW6ucnPdeNbE2A8DXf7mDYqKKP42NdJapXZLR1UbCjvJ8n7w2SOVTMGFsrcbywKD1K9yxMWez7k', 'content-type': 'application/json; charset=UTF-8', 'date': 'Tue, 22 Oct 2019 20:43:59 GMT', 'vary': 'Origin, X-Origin', 'cache-control': 'no-cache, no-store, max-age=0, must-revalidate', 'expires': 'Mon, 01 Jan 1990 00:00:00 GMT', 'pragma': 'no-cache', 'content-length': '473', 'server': 'UploadServer', 'status': '404'}>, content <{
  "error": {
    "code": 404,
    "message": "No such object: <CLOUD STORAGE PATH FOR TEMPORARY JOB FILES>/<DATAFLOW JOB NAME>.1571774420.011973/tmp-626a66561e20e8b6-00000-of-00003.avro",
    "errors": [
      {
        "message": "No such object: <CLOUD STORAGE PATH FOR TEMPORARY JOB FILES>/<DATAFLOW JOB NAME>.1571774420.011973/tmp-626a66561e20e8b6-00000-of-00003.avro",
        "domain": "global",
        "reason": "notFound"
      }
    ]
  }
}

Любой совето том, как решить эту ошибку будет принята с благодарностью. Мне кажется, что Dataflow создал временный файл в ходе перемешивания. Этот файл должен был быть удален вскоре после этого, но через некоторое время Dataflow пытается получить доступ к этому файлу и вызывает эту ошибку.

1 Ответ

0 голосов
/ 29 октября 2019

Вам нужно будет добавить stagingLocation или gcpTempLocation, чтобы устранить эту ошибку.

Более подробную информацию можно найти здесь [1].

1 - https://cloud.google.com/dataflow/docs/guides/specifying-exec-params#configuring-pipelineoptions-for-execution-on-the-cloud-dataflow-service

...