Apache Beam 2.1.0은 BigQuery에서 읽은 템플릿 파이프 라인에 버그가있어 한 번만 실행할 수있었습니다. 자세한 내용은 여기 https://issues.apache.org/jira/browse/BEAM-2058BigQueryIO withTemplateCompatibility를 사용하여 성능 읽기
이 빔 2.2.0의 출시와 함께 수정되었습니다, 당신은 지금 withTemplateCompatibility 옵션을 사용하여 BigQuery를 읽을 수, 템플릿 파이프 라인은 이제 여러 번 실행할 수 있습니다.
pipeline
.apply("Read rows from table."
, BigQueryIO.readTableRows()
.withTemplateCompatibility()
.from("<your-table>")
.withoutValidation())
이 구현은 지금 일관되게 완료 45~50분을 복용 8-11분에 달렸다 무엇을 일괄 처리 파이프 라인을 가지고 BigQueryIO 작업을 읽기에 엄청난 성능의 비용으로 올 것으로 보인다. 두 파이프 라인 간의 유일한 차이점은 .withTemplateCompatibility()입니다.
성능이 크게 떨어지는 이유와 성능을 향상시킬 방법이 있는지 이해하려고합니다.
감사합니다.
해결책 :은 jkff의 입력을 기반으로합니다.
pipeline
.apply("Read rows from table."
, BigQueryIO.readTableRows()
.withTemplateCompatibility()
.from("<your-table>")
.withoutValidation())
.apply("Reshuffle", Reshuffle.viaRandomKey())
감사합니다. jkff. 이 방법으로 문제가 해결되지만 내부 변환을 위해 재편성 변환이 사용 중지 된 것으로 표시되어 있습니다. – Ken
우리가 교체가 필요하다는 것을 알 수있는 불행한 장소에 있지만, 우리는 아직 그것을 가지고 있지 않습니다. (지금은 안전하게 사용할 수 있습니다. – jkff