출시 노트: Python용 Cloud Dataflow SDK

참고: Apache Beam 다운로드 페이지에는 Apache Beam SDK 출시 버전별 출시 노트가 포함되어 있습니다.

이 페이지에는 Python용 Cloud Dataflow SDK의 프로덕션 업데이트 내역이 정리되어 있습니다. 이 페이지를 정기적으로 확인하여 새로운 기능이나 업데이트된 기능, 버그 수정, 알려진 문제, 지원 중단된 기능에 대한 공지를 볼 수 있습니다.

이제 Python용 Cloud Dataflow SDK 2.5.0부터 스트리밍 실행(베타)을 지원합니다.

SDK 버전 지원 상태 페이지에는 Cloud Dataflow SDK의 각 출시 버전에 대한 지원 상태 정보가 있습니다.

Cloud Dataflow SDK를 설치 및 사용하려면 Cloud Dataflow SDK 설치 가이드를 참조하세요.

Cloud Dataflow SDK 배포 내용

Cloud Dataflow SDK 배포에는 Apache Beam 생태계의 하위 집합이 포함되어 있습니다. 이 하위 집합에는 파이프라인을 정의하고 이를 로컬과 다음과 같은 Cloud Dataflow 서비스에서 실행하는 데 필요한 구성요소가 포함되어 있습니다.

  • 핵심 SDK
  • DirectRunner 및 DataflowRunner
  • 다른 Google Cloud Platform(GCP) 서비스를 위한 I/O 구성요소

Cloud Dataflow SDK 배포에 다음과 같은 다른 Beam 구성요소가 포함되지 않습니다.

  • 배포된 다른 처리 엔진용 실행기
  • 비 GCP 서비스용 I/O 구성요소

출시 노트

이 섹션은 각 버전에서 Cloud Dataflow 고객에게 가장 관련 있는 변경 내용을 설명합니다.

2018년 12월 17일

다음 SDK 버전은 JSON-RPC 및 글로벌 HTTP 배치 엔드포인트 지원 중단으로 인해 2019년 3월 25일에 사용 중단됩니다. 이 날짜가 지나면 새 Cloud Dataflow 작업을 제출하거나 사용 중단된 SDK를 사용하는 실행 중인 Cloud Dataflow 작업을 업데이트할 수 없습니다. 또한 다음 SDK 버전을 사용하는 기존 스트리밍 작업이 실패할 수 있습니다.

  • 자바용 Apache Beam SDK, 버전 2.0.0~2.4.0(포함)
  • Python용 Apache Beam SDK, 버전 2.0.0~2.4.0(포함)
  • 자바용 Cloud Dataflow SDK, 버전 2.0.0~2.4.0(포함)
  • Python용 Cloud Dataflow SDK, 버전 2.0.0~2.4.0(포함)

자세한 SDK 지원 상태는 SDK 버전 지원 상태 페이지를 참조하세요.

2.5.0(2018년 6월 27일)

향후 지원 중단 알림: Cloud Dataflow SDK 2.5.0은 Apache Beam SDK와 별개로 출시되는 마지막 Python용 Cloud Dataflow SDK입니다 Cloud Dataflow 서비스는 Apache Beam SDK 공식 출시 버전을 완벽하게 지원합니다. 사용자는 파이프라인에 Cloud Dataflow SDK가 아닌 Apache Beam SDK를 사용할 계획을 세우는 것이 좋습니다. 또한 Cloud Dataflow 서비스는 이전에 출시된 Apache Beam SDK 버전 2.0.0 이상을 지원합니다. 각 SDK에 대한 지원 여부는 Cloud Dataflow 지원 페이지를 참조하세요.

버전 2.5.0은 Apache Beam 2.5.0의 하위 집합을 토대로 합니다. 자세한 변경 정보는 [Apache Beam 2.5.0 출시 발표](https://lists.apache.org/thread.html/9cd70450319147ef1fd34305089216fed156a26d9ee77f386c024629@%3Cuser.beam.apache.org%3E)를 참조하세요.

스트리밍 파이프라인의 부가 입력에 대한 지원이 추가되었습니다.

ReadFromPubSubPTransformlabel_idstimestamp_attributes를 지원하도록 변경되었습니다.

HDFS FileSystem이 추가되었습니다.

일부 안정성, 성능, 문서 문제가 개선되었습니다.

2.4.0(2018년 3월 30일)

버전 2.4.0은 Apache Beam 2.4.0의 하위 집합에 기초합니다. 추가 변경 정보는 Apache Beam 2.4.0 출시 공지를 참조하세요.

이전 DirectRunner보다 최대 15배 빠른 새 Python DirectRunner가 추가되었습니다.

새로운 변환 tfrecordio.ReadAllFromTfRecord(TfRecord 파일을 포함한 glob의 PCollection을 읽음)가 추가되었습니다.

Hadoop 분산 파일 시스템(HDFS)의 초기 지원이 추가되었습니다.

몇 가지 안정성, 성능, 문서 문제가 개선되었습니다.

2.3.0(2018년 2월 28일)

버전 2.3.0은 Apache Beam 2.3.0의 하위 집합에 기초합니다. 추가 변경 내용은 Apache Beam 2.3.0 출시 공지를 참조하세요.

VCF(Variant Call Format)용 vcfio I/O 커넥터가 추가되었습니다.

이제 작업자가 어떤 상태에서 5분 이상 지체할 때마다 Stackdriver 로그에 전체 메시지가 포함됩니다.

DirectRunner에서 분할 가능한 DoFn API에 대한 지원이 추가되었습니다.

이제 DirectRunner에 대한 번들 다시 시도는 기본 동작입니다.

DataflowPipelineResultcancel 메소드와 관련된 문제가 해결되었습니다.

공개 Cloud Storage 파일을 읽을 때 더 이상 인증이 필요하지 않습니다.

2.2.0(2017년 12월 8일)

버전 2.2.0은 Apache Beam 2.2.0의 하위 집합에 기초합니다. 추가 변경 내용은 Apache Beam 2.2.0 출시 노트를 참조하세요.

다수의 파일을 읽는 데 사용할 수 있는 새로운 두 가지 Read PTransforms(textio.ReadAllFromTextavroio.ReadAllFromText)가 추가되었습니다.

DatastoreIO에 적응형 제한 지원이 추가되었습니다.

DirectRunner 개선: DirectRunner는 실패한 번들의 처리를 선택적으로 다시 시도하며 이제 스트리밍 파이프라인을 Ctrl + C로 취소할 수 있습니다.

DataflowRunner 개선: cancel, wait_until_finish(duration), 작업 라벨에 대한 지원이 추가되었습니다.

pydoc 텍스트와 형식 지정이 개선되었습니다.

몇 가지 안정성, 성능, 문서 문제가 개선되었습니다.

2.1.1(2017년 9월 22일)

버전 2.1.1은 Apache Beam 2.1.1의 하위 집합에 기초합니다.

Python six 패키지와의 호환성 문제가 해결되었습니다.

2.1.0(2017년 9월 1일)

버전 2.1.0은 Apache Beam 2.1.0의 하위 집합에 기초합니다. 추가 변경 내용은 Apache Beam 2.1.0 출시 공지를 참조하세요.

확인된 문제: 이 출시 버전에는 Python six 1.11.0 패키지와의 호환성 문제가 있습니다. pip install google-cloud-dataflow==2.1.0 six==1.10.0을 실행하여 이 문제를 해결하세요.

Cloud Pub/Sub 소스와 싱크, BigQuery 싱크를 사용한 DirectRunner의 스트리밍 지원이 제한되었습니다.

새 파이프라인 옵션 --subnetwork--dry_run에 대한 지원이 추가되었습니다. 새 파이프라인 옵션 --beam_plugins에 대한 실험적 지원이 추가되었습니다.

bzip2 파일이 부분적으로 판독되는 문제가 해결되었습니다. 연결된 bzip2 파일에 대한 지원이 추가되었습니다.

몇 가지 안정성, 성능, 문서 문제가 개선되었습니다.

2.0.0(2017년 5월 31일)

버전 2.0.0은 Apache Beam 2.0.0의 하위 집합에 기초합니다. 추가 변경 내용은 Apache Beam 2.0.0 출시 공지를 참조하세요.

이 버전에는 호환성이 손상되는 변경이 포함되었습니다.

확인된 문제: 이 출시 버전에는 Python six 1.11.0 패키지와의 호환성 문제가 있습니다. pip install google-cloud-dataflow==2.0.0 six==1.10.0을 실행하여 이 문제를 해결하세요.

Stackdriver 오류 보고 인터페이스를 사용하기 위한 지원이 추가되었습니다.

파일 기반 소스와 싱크에 Cloud Dataflow 템플릿에 대한 지원이 추가되었습니다(예: TextIO, TfRecordIO, AvroIO).

region 신고에 대한 지원이 추가되었습니다.

Google API 요구 사항이 추가되었습니다. 이제 Cloud Resource Manager API도 사용해야 합니다.

파이프라인 옵션이 옵션 모듈로 이동했습니다.

이제 finish_bundle이 방출 창 값만 허용합니다.

테스트와 관련된 코드가 apache_beam.testing로 이동하고 assert_that, equal_to, is_emptyapache_beam.testing.util로 이동했습니다.

다음 이름이 변경되었습니다.

  • apache_beam.io.file 대신 apache_beam.io.filebasedsink를 사용합니다.
  • apache_beam.io.filesystem 대신 apache_beam.io.fileio를 사용합니다.
  • SideOutputValue 대신 TaggedOutput을 사용합니다.
  • AfterFirst 대신 AfterAny를 사용합니다.
  • pipeline_options 및 관련 가져오기에 대해 apache_beam.util 대신 apache_beam.options를 사용합니다.

start_bundle에서 값을 방출하는 기능이 삭제되었습니다.

애플리케이션 기본 사용자 인증 정보를 제외하고 모든 사용자 인증 정보에 대한 지원이 삭제되었습니다. --service_account_name--service_account_key_file 신고가 삭제되었습니다.

IOChannelFactory가 삭제되고 BeamFileSystem으로 교체되었습니다.

지원 중단된 context 매개변수가 DoFn에서 삭제되었습니다.

SingletonPCollectionView, IterablePCollectionView, ListPCollectionView, DictPCollectionView가 삭제되었습니다. 대신 AsSingleton, AsIter, AsList, AsDict가 사용됩니다.

몇 가지 안정성, 성능, 문서 문제가 개선되었습니다.


참고: 2.0.0 이전의 모든 버전은 지원 중단됩니다.

0.6.0(2017년 3월 23일)

이 버전에는 호환성이 손상되는 변경이 포함되었습니다.

확인된 문제: 여러 GroupByKey가 동일한 ParDo 결과를 사용하거나 파이프라인 코드의 동일한 데이터에 대해 반복 실행함으로써 GroupByKey 결과를 한 번 이상 읽는 Cloud Dataflow 파이프라인에서 일부 데이터가 손실될 수 있습니다. 이 문제의 영향을 받지 않으려면 Python용 Cloud Dataflow SDK 버전 2.0.0 이상으로 업그레이드하세요.

DataflowRunner에 Metrics API 지원이 추가되었습니다.

텍스트 파일에 헤더를 읽고 쓰는 기능이 추가되었습니다.

GCP 특정 IO 모듈이 apache_beam.io.gcp 네임스페이스로 이동했습니다.

PTransform에 대한 첫 번째 인수 옵션으로 라벨이 삭제되었습니다. 대신 label >> PTransform(...)이 사용됩니다.

BlockingDataflowPipelineRunner가 삭제되었습니다.

DataflowPipelineRunnerDirectPipelineRunner가 삭제되었습니다. 대신 DataflowRunnerDirectRunner가 사용됩니다.

몇 가지 안정성, 성능, 문서 문제가 개선되었습니다.

0.5.5(2017년 2월 8일)

이 버전에는 호환성이 손상되는 변경이 포함되었습니다.

Cloud Dataflow 모니터링 인터페이스에 새 측정항목인 총 실행 시간이 추가되었습니다.

Aggregators API가 삭제되었습니다. 참고로, Metrics API가 유사한 기능을 제공합니다.

비 주석 기반 DoFn 사용이 삭제되었습니다.

몇 가지 안정성과 성능 문제가 개선되었습니다.

0.5.1(2017년 1월 27일)

이 버전에는 호환성이 손상되는 변경이 포함되었습니다.

DirectRunner에 Metrics API 지원이 추가되었습니다.

TFRecordsIO에 대한 소스와 싱크 구현이 추가되었습니다.

주석 기반 DoFn에 대한 지원이 추가되었습니다.

autoscaling_algorithm 인수가 명시적으로 NONE으로 설정된 경우가 아니면 기본적으로 자동 확장은 Cloud Dataflow 서비스를 사용하여 실행되는 작업을 사용합니다.

PTransform.apply 이름이 PTransform.expand로 변경되었습니다.

apache_beam.utils.options 이름을 apache_beam.utils.pipeline_options로 변경되었습니다.

파이프라인 옵션에 몇 가지 사항이 변경되었습니다.

  • 이제 job_name option은 선택 사항이며 기본값은 beamapp-username-date(mmddhhmmss)-microseconds입니다.
  • 이제 temp_location은 필수 항목입니다.
  • 이제 staging_location은 선택 사항이며 temp_location option 값이 기본값입니다.
  • teardown_policy, disk_source_image, no_save_main_session, pipeline_type_check 옵션이 삭제되었습니다.
  • machine_typedisk_type 옵션 별칭이 삭제되었습니다.

DataflowPipelineRunner 이름이 DataflowRunner로 변경되었습니다.

DirectPipelineRunner 이름이 DirectRunner로 변경되었습니다.

DirectPipelineRunner가 더 이상 차단되지 않습니다. 파이프라인이 완료될 때까지 차단하려면 실행기의 wait_until_finish() 메소드에서 반환된 PipelineResult 객체의 run() 메소드를 사용합니다.

이제 BlockingDataflowPipelineRunner는 사용되지 않으며 향후 버전에서 삭제될 예정입니다.

0.4.4(2016년 12월 13일)

BigQuery 표준 SQL을 선택적으로 사용하기 위한 지원이 추가되었습니다.

표시 데이터에 대한 지원이 추가되었습니다.

번들에 기초한 실행을 지원하도록 DirectPipelineRunner가 업데이트되었습니다.

--profile 신고 이름이 --profile_cpu로 변경되었습니다.

이제 창의 부가 입력이 올바르게 지원됩니다.

서비스 계정 기반의 인증이 개선되었습니다. (참고: --service_account_key_file 명령줄 옵션을 사용하려면 pyOpenSSL을 설치해야 합니다.)

몇 가지 안정성과 성능 문제가 개선되었습니다.

0.4.3(2016년 10월 17일)

패키지 요구 사항이 수정되었습니다.

0.4.2(2016년 9월 28일)

2016년 10월 14일 이후에 이 버전을 설치하면 호환성이 손상되는 변경을 포함한 새 버전의 oauth2client가 선택됩니다. Cloud Machine Learning SDK는 영향을 받지 않습니다.
해결 방법: pip install google-cloud-dataflow oauth2client==3.0.0을 실행합니다.

I/O 작업의 성능과 안정성이 향상되었습니다.

몇 가지 사소한 버그가 수정되었습니다.

0.4.1(2016년 9월 1일)

TopCombineFn이 비교 연산자 대신 키 인수를 취하도록 할 수 있습니다.

gcsio의 성능과 안정성 문제가 해결되었습니다.

다양한 성능 문제가 개선되었습니다.

0.4.0(2016년 7월 27일)

이 버전은 최초의 베타 버전이며 호환성이 손상되는 변경을 포함합니다.

google.cloud.dataflow 패키지 이름이 apache_beam으로 변경되었습니다.

더 이상 기본적으로 저장되지 않도록 기본 세션이 업데이트되었습니다. save_main_session 파이프라인 옵션을 사용하여 기본 세션을 저장합니다.

커스텀 소스에 대한 테스트 프레임워크가 발표되었습니다.

새 파일 형식의 소스를 생성하기 위한 프레임워크를 제공하는 새로운 모듈인 filebasedsource가 발표되었습니다.

Avro 파일을 읽는 새 SDK 제공 소스인 AvroSource가 발표되었습니다.

zlib 및 DEFLATE 압축을 위한 지원이 발표되었습니다.

PTransforms 라벨 지정을 위해 >> 연산자에 대한 지원이 발표되었습니다.

Python SDK Coder에 대한 크기 추정에 대한 지원이 발표되었습니다.

다양한 성능 문제가 개선되었습니다.

Apache Beam™은 미국 및/또는 다른 국가에서 사용되는 Apache Software Foundation 또는 해당 계열사의 상표입니다.

0.2.7


0.2.7 버전에는 다음 변경 사항이 포함됩니다.

  • 크기 추정을 위한 샘플링을 위해 OperationCounters.should_sample이 도입되었습니다.
  • TextFileSink에서 고정 분할이 구현되었습니다.
  • finalize_write 메소드에서 여러 파일 이름 변경 스레드가 사용됩니다.
  • Cloud Storage 시간제한에서 멱등적 I/O 작업이 다시 시도됩니다.

0.2.6


0.2.6 버전에는 다음 변경 사항이 포함됩니다.

  • 이제 파이프라인 객체를 Python에서 문과 함께 사용할 수 있습니다.
  • 빠른 OutputStream에서 모듈 사전 제거 및 버퍼 오버런을 포함하여 몇 가지 버그가 수정되었습니다.

0.2.5


0.2.5 버전에는 다음 변경 사항이 포함됩니다.

  • 커스텀 소스를 만들고, DirectRunnerDataflowRunner를 사용하여 실행된 파이프라인의 커스텀 소스에서 읽는 지원이 추가되었습니다.
  • DirectRunner 대신 디스크를 사용하는 방식으로 DiskCachedPipelineRunner가 추가되었습니다.
  • 클라우드 실행자에서 DoFn의 선언되지 않은 부차 출력이 처리되는 방식이 변경되었습니다. 이제 이러한 출력은 무시됩니다.
  • Seaborn 패키지 로드 시의 제거 문제가 해결되었습니다.
  • 이제 텍스트 파일 출력 싱크가 gzip 압축 파일을 작성할 수 있습니다.

0.2.4


0.2.4 버전에는 다음 변경 사항이 포함됩니다.

  • 반복 가능한 대량 부가 입력에 대한 지원이 추가되었습니다.
  • 지원되는 모든 카운터 유형에 대한 지원이 사용됩니다.
  • 패키지를 로컬로 캐싱하는 --requirements_file 동작이 수정되었습니다.
  • 비 기본 TextFileSink에 대한 지원이 추가되었습니다.

0.2.3


0.2.3 버전에는 다음 수정 사항이 포함됩니다.

  • google-apitools 버전을 더 이상 고정하지 않아도 됩니다.
  • oauth2client 버전을 더 이상 고정하지 않아도 됩니다.
  • import google 문에 대해 최신 gcloud 패키지와 Cloud Dataflow SDK를 설치하는 동안에 발생했던 가져오기 오류가 해결되었습니다.
  • DoFn 메소드 시작과 끝에서 실패에 대해 올바른 예외가 발생되도록 코드가 수정되었습니다.

0.2.2


0.2.2 버전에는 다음 변경 사항이 포함됩니다.

  • DirectPipelineRunner의 메모리 사용 공간이 향상되었습니다.
  • 여러 가지 버그가 수정되었습니다.
    • BigQuerySink 스키마 레코드 필드 유형 처리가 수정되었습니다.
    • 누락된 파일을 보다 분명하게 설명하는 오류 메시지가 추가되었습니다.
  • 보다 복잡한 BigQuery 스키마를 사용하여 새 예가 생성되었습니다.
  • 다음을 통해 몇 가지 성능 문제가 개선되었습니다.
    • 디버그 로깅 감소
    • 일부 파일을 Cython으로 컴파일링

0.2.1


0.2.1 버전에는 다음 변경 사항이 포함됩니다.

  • 다음 기능에 대한 성능이 최적화되었습니다.
    • 로깅
    • 셔플 쓰기
    • Coder 사용
    • 일부 작업자 모듈을 Cython으로 컴파일
  • Cloud 실행의 기본 동작 변경: Cloud Storage 버킷에서 SDK를 다운로드하지 않고 이제 GitHub에서 SDK를 tarball로 다운로드합니다. Cloud Dataflow 서비스를 사용하여 작업을 실행하는 경우, 사용된 SDK 버전이 다운로드한(로컬 환경으로) 버전과 일치합니다. --sdk_location 파이프라인 옵션을 사용하여 이 동작을 재정의하고 명시적 tarball 위치(Cloud Storage 경로 또는 URL)를 제공할 수 있습니다.
  • Cloud Dataflow가 사용자 함수와 데이터를 직렬화하는 방식과 관련된 몇 가지 제거 문제가 해결되었습니다.
  • 대량의 데이터세트 처리 시 발생하는 몇 가지 작업자 임대 만료 문제가 해결되었습니다.
  • 액세스 문제와 잘못된 매개변수 결합 등 일반적인 다양한 오류를 보다 빨리 감지할 수 있도록 유효성 검사가 개선되었습니다.
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.