2016-09-13 7 views

답변

4

이 동작은 HDFS와 매우 유사 할 것입니다. 기내에서의 읽기는 괜찮을 것이므로 운이 좋게 완성 될 것입니다. 대부분의 경우 Dataproc에서 사용하는 GoogleCloudStorageReadChannel은 읽기의 전체 기간 동안 단일 제한없는 범위의 스트림을 가지며 파일의 메타 데이터가 삭제 된 후에도 일시적으로 남아 있기 때문입니다.

그러나 기술적으로 파일이 삭제 된 경우이 스트림이 완료 될 것이라고 보장 할 수 없으며 단일 스트림이 완료 될 것으로 예상되는 경우에도 일시적인 오류로 인해 채널이 attempt explicit low-level retries으로 실패 할 수 있습니다 파일이 삭제 된 경우.

업데이트의 경우 파일의 첫 번째 부분의 내용을 변경하지 않고 전체 파일을 다시 작성하여 추가 시뮬레이션과 같이 엄격하게 더 많은 데이터로 단일 파일을 다시 작성하는 것과 같은 작업을 수행하면 올바른 동작을 유지해야합니다 Hadoop의 분할 계산은 파일이 작업의 중간에 큰 파일로 대체 되더라도 작업자가 그 한계까지만 읽도록해야하기 때문에 채널이 처음 열 때 파일 크기를 읽습니다.

+0

@ denis-huo 나는 HDS없이 Golang의 Cloud Storage API를 사용하는 유사한 시나리오를 가지고 있습니다. 하나의 프로세스가 다른 프로세스에 의해 덮어 쓰여지고, 어떤 프로세스가 독자에게 일어날 때 어떤 일이 발생하는지 궁금합니다. 문서를 찾을 수는 없지만 Google의 누군가가 그것에 대해 생각할 것입니다. –

관련 문제