Задание потока данных завершается ошибкой HttpError, NotImplementedError - PullRequest
0 голосов
/ 09 июля 2020

Я выполняю задание Dataflow, которое, как мне кажется, должно работать, и через 1,5 часа выдает ошибку, что выглядит как сетевые ошибки. Он отлично работает при работе с подмножеством данных.

Первым признаком проблемы является целая строка предупреждений, например:

Refusing to split <dataflow_worker.shuffle.GroupedShuffleRangeTracker object at 0x7f2bcb629950> at b'\xa4r\xa6\x85\x00\x01': proposed split position is out of range [b'\xa4^E\xd2\x00\x01', b'\xa4r\xa6\x85\x00\x01'). Position of last group processed was b'\xa4r\xa6\x84\x00\x01'.

Тогда есть четыре ошибки, которые, похоже, связаны с записью файлов CSV в GCS:

Error in _start_upload while inserting file gs://(redacted).csv: Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/apache_beam/io/gcp/gcsio.py", line 565, in _start_upload self._client.objects.Insert(self._insert_request, upload=self._upload) File "/usr/local/lib/python3.7/site-packages/apache_beam/io/gcp/internal/clients/storage/storage_v1_client.py", line 1156, in Insert upload=upload, upload_config=upload_config) 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.HttpError: HttpError accessing <https://www.googleapis.com/resumable/upload/storage/v1/b/(redacted).csv&uploadType=resumable&upload_id=(redacted)>: response: <{'content-type': 'text/plain; charset=utf-8', 'x-guploader-uploadid': '(redacted)', 'content-length': '0', 'date': 'Wed, 08 Jul 2020 22:17:28 GMT', 'server': 'UploadServer', 'status': '503'}>, content <>

Error in _start_upload while inserting file gs://(redacted).csv: Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/apache_beam/io/gcp/gcsio.py", line 565, in _start_upload self._client.objects.Insert(self._insert_request, upload=self._upload) File "/usr/local/lib/python3.7/site-packages/apache_beam/io/gcp/internal/clients/storage/storage_v1_client.py", line 1156, in Insert upload=upload, upload_config=upload_config) File "/usr/local/lib/python3.7/site-packages/apitools/base/py/base_api.py", line 715, in _RunMethod http_request, client=self.client) File "/usr/local/lib/python3.7/site-packages/apitools/base/py/transfer.py", line 908, in InitializeUpload return self.StreamInChunks() File "/usr/local/lib/python3.7/site-packages/apitools/base/py/transfer.py", line 1020, in StreamInChunks additional_headers=additional_headers) File "/usr/local/lib/python3.7/site-packages/apitools/base/py/transfer.py", line 971, in __StreamMedia self.RefreshResumableUploadState() File "/usr/local/lib/python3.7/site-packages/apitools/base/py/transfer.py", line 873, in RefreshResumableUploadState self.stream.seek(self.progress) File "/usr/local/lib/python3.7/site-packages/apache_beam/io/filesystemio.py", line 301, in seek offset, whence, self.position, self.last_block_position)) NotImplementedError: offset: 0, whence: 0, position: 411, last: 411

Идентификатор задания Dataflow: 2020-07-07_13_08_31-7649894576933400587 - Если кто-нибудь из службы поддержки Google Cloud сможет взглянуть на это, я был бы очень благодарен. Большое спасибо.

PS Я задал аналогичный вопрос в прошлом году ( задание потока данных не выполняется при записи BigQuery с ошибками бэкэнд ), разрешение было использовать --experiments = use_beam_bq_sink - Я уже делает это.

1 Ответ

0 голосов
/ 09 июля 2020

Ошибки «Отказ от разделения» можно спокойно игнорировать. Это просто означает, что предоставленная служба потока данных разделенной позиции, вероятно, была получена работником после того, как эта позиция уже была прочитана рабочим. Следовательно, рабочий должен игнорировать запрос разделения.

Ошибка «Ошибка в _start_upload при вставке» кажется более проблемной c и похожа на https://issues.apache.org/jira/browse/BEAM-7014. Я подозреваю, что это редкая проблема, поэтому я не уверен, было ли это причиной отказа вашей работы (задание не выполняется только из-за одного и того же рабочего элемента четыре раза).

Можете ли вы связаться со службой поддержки Google Cloud чтобы они могли изучить вашу работу?

Я упомяну об этом в JIRA.

...