출시 노트: 자바용 Dataflow SDK 1.x

이 페이지는 자바용 Dataflow SDK 1.x에 대한 프로덕션 업데이트를 설명합니다. 이 페이지를 정기적으로 확인하면 새로운 기능이나 업데이트된 기능, 버그 수정, 알려진 문제, 지원이 중단된 기능에 대한 알림을 볼 수 있습니다. 자바용 Dataflow SDK 버전 2.x에 대한 자세한 내용은 자바용 Dataflow SDK 2.x 출시 노트를 참조하세요.

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

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

2018년 10월 16일

자바용 Cloud Dataflow SDK 1.x는 2018년 10월 16일부터 지원되지 않습니다. 이제 Cloud Dataflow 서비스가 자바용 Cloud Dataflow SDK 1.x를 기반으로 하는 새로운 Cloud Dataflow 작업을 거부합니다. 이전 지침은 자바용 Cloud Dataflow SDK 1.x에서 이전을 참조하세요.

1.9.1(2017년 8월 28일)

압축 형식이 BZIP2로 설정된 상태로 CompressedSource에서 읽기를 수행하는 Dataflow 작업 처리 중에 데이터가 손실될 수 있는 문제를 해결했습니다. 자세한 내용은 GitHub 저장소의 문제 #596을 참조하세요.

1.9.0(2016년 12월 20일)

확인된 문제: 압축 유형이 BZIP2로 설정된 상태로 CompressedSource에서 읽는 Dataflow 작업 처리 중에 데이터가 손실될 수 있습니다. 자세한 내용은 GitHub 저장소의 문제 #596을 참조하세요.

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

파이프라인 옵션에서 사용하기 위한 ValueProvider 인터페이스가 추가되었습니다. T 대신 ValueProvider<T> 유형의 옵션을 만들어 런타임에서 해당 값을 공급할 수 있고(파이프라인 구축 시간 대신) Cloud Dataflow 템플릿을 사용 설정할 수 있습니다. ValueProvider에 대한 지원이 TextIO, PubSubIO, BigQueryIO에 추가되었으며 임의 PTransforms에도 추가될 수 있습니다. 자세한 내용은 Cloud Dataflow 템플릿 문서를 참조하세요.

--saveProfilesToGcs 파이프라인 옵션을 사용하여 프로파일링 정보를 Google Cloud Storage에 자동으로 저장하는 기능이 추가되었습니다. DataflowPipelineRunner에서 실행되는 프로파일링 파이프라인의 자세한 내용은 GitHub 문제 #72를 참조하세요.

개별 작업자 디스크에 프로필을 저장한 --enableProfilingAgent 파이프라인 옵션 지원이 중단되었습니다. DataflowPipelineRunner에서 실행되는 프로파일링 파이프라인의 자세한 내용은 GitHub 문제 #72를 참조하세요.

일치 항목이 없는 파일 패턴에서 읽는 경우, 예외가 발생되도록 FileBasedSource가 변경되었습니다. 이 경우, 파이프라인은 자동으로 데이터를 읽지 않는 대신 런타임에 실패합니다. 이 변경 사항은 withoutValidation을 구성한 경우에 TextIO.Read 또는 AvroIO.Read에 영향을 미칩니다.

입력을 제대로 인코딩 및 디코딩할 수 없는 코더를 포착하도록 DirectPipelineRunner에서 Coder 유효성 검사가 강화되었습니다.

PipelineOptions에서 배열을 제대로 처리하는 것을 포함하여 핵심 변환 전체의 표시 데이터가 개선되었습니다.

스트리밍 모드에서 DataflowPipelineRunner를 사용하여 파이프라인 성능이 향상되었습니다.

InProcessRunner의 확장성을 개선해 더 큰 데이터 세트로 테스트할 수 있습니다.

TextIO, AvroIO를 비롯한 다른 FileBasedSource 구현으로 생성된 임시 파일 삭제가 향상되었습니다.

1.8.1(2016년 12월 12일)

확인된 문제: 압축 유형이 BZIP2로 설정된 상태로 CompressedSource에서 읽는 Dataflow 작업 처리 중에 데이터가 손실될 수 있습니다. 자세한 내용은 GitHub 저장소의 문제 #596을 참조하세요.

DataflowPipelineRunner에서 제한 있는 부차 입력 성능이 향상되었습니다.

1.8.0(2016년 10월 3일)

확인된 문제: 압축 유형이 BZIP2로 설정된 상태로 CompressedSource에서 읽는 Dataflow 작업 처리 중에 데이터가 손실될 수 있습니다. 자세한 내용은 GitHub 저장소의 문제 #596을 참조하세요.

.withStandardSQL()을 사용하여 새로운 BigQuery 표준 SQL 언어에서 쿼리를 수행하는 BigQueryIO.Read에 대한 지원이 추가되었습니다.

BigQueryIO에서 새로운 BYTES, TIME, DATE, DATETIME 유형에 대한 지원이 추가되었습니다.

.withKeyRange(ByteKeyRange)를 사용하여 제한된 키 범위에서 판독하는 BigtableIO.Read에 대한 지원이 추가되었습니다.

CompressedSource에서 압축하지 않은 큰 파일을 초기에 분할하는 성능이 향상되었습니다. 그 결과 Cloud Dataflow 서비스에서 TextIO.Read를 사용하는 일괄 파이프라인 실행 시 성능이 향상되었습니다.

스트리밍 모드에서 BigQueryIO.Write 사용 시 성능 회귀 현상이 수정되었습니다.

1.7.0(2016년 9월 9일)

확인된 문제: 압축 유형이 BZIP2로 설정된 상태로 CompressedSource에서 읽는 Dataflow 작업 처리 중에 데이터가 손실될 수 있습니다. 자세한 내용은 GitHub 저장소의 문제 #596을 참조하세요.

확인된 문제: BigQueryIO.Write에서 성능 회귀 현상이 확인되었습니다. 스트리밍 모드에서 실행 시 데이터가 손실되거나 복제되지 않지만 사용자는 삽입 실패가 약간 증가하는 현상이 나타날 수 있습니다. 자세한 내용은 GitHub 저장소의 문제 #451을 참조하세요.

새로운 com.google.cloud.dataflow.sdk.io.datastore.DatastoreIO에 Cloud Datastore API v1에 대한 지원이 추가되었습니다. 지원 중단된 Cloud Datastore API v1beta2만 지원하는 이전 DatastoreIO 클래스 지원이 중단되었습니다.

동적 작업 재균등화가 지원되도록 DatastoreIO.Read가 개선되었고, withNumQuerySplits를 사용하여 쿼리 분할 수를 제어하는 옵션이 추가되었습니다.

제한되지 않은 PCollection에서 작동하도록 DatastoreIO.Write가 개선되어 스트리밍 모드에서 DataflowPipelineRunner 사용 시 Cloud Datastore에 쓰기가 지원됩니다.

Datastore.v1().deleteEntity를 사용하여 Cloud Datastore Entity 객체를 직접 삭제하는 기능 또는 Datastore.v1().deleteKey를 사용하여 키로 항목을 삭제하는 기능이 추가되었습니다.

스트리밍 모드에서 BoundedSource에서 DataflowPipelineRunner로 읽기 지원이 추가되었습니다. 그 결과 이러한 파이프라인에서 TextIO.Read, AvroIO.Read, 기타 제한된 소스를 사용할 수 있습니다.

TextIO.Write로 생성된 텍스트 파일에 머리글 또는 바닥글을 선택적으로 작성하기 위한 지원이 추가되었습니다.

Sink를 사용하는 경우, 생성된 출력 분할 수를 제어하는 기능이 추가되었습니다.

InProcessPipelineRunner에서 다중 창과 지연 데이터로 트리거를 테스트할 수 있도록 TestStream이 추가되었습니다.

UnboundedCountingInputwithRate(long, Duration)를 사용하여 요소를 생성하는 속도를 제어하는 기능이 추가되었습니다.

스트리밍 모드에서 DataflowPipelineRunner를 사용하여 파이프라인 성능과 안정성이 향상되었습니다.

TestStream을 지원하기 위해 어설션을 확인하는 데 sideInputs 대신 GroupByKey를 사용하도록 DataflowAssert를 다시 구현했습니다. 이는 스트리밍 모드의 DataflowPipelineRunner에서 실행되는 파이프라인의 DataflowAssert에 대한 업데이트가 호환되지 않는 변경입니다.

PCollection에 쓰기를 수행하는 경우 FileBasedSink가 파일을 생성하지 않는 문제가 해결되었습니다.

DirectPipelineRunner 또는 InProcessPipelineRunner를 사용하는 경우 US 이외 지역에서 BigQueryIO.Read가 테이블을 쿼리하지 못하는 문제가 해결되었습니다.

DirectPipelineRunner에서 실행되는 파이프라인에서 전역 창 거의 끝에 있는 타임스탬프와 대형 allowedLateness가 결합되면 IllegalStateException이 발생할 수 있는 문제가 해결되었습니다.

지연 실행 없이 AfterWatermark 트리거를 사용하는 경우 파이프라인 제출 중에 발생할 수 있는 NullPointerException이 수정되었습니다.

1.6.1(2016년 8월 8일)

확인된 문제: 압축 유형이 BZIP2로 설정된 상태로 CompressedSource에서 읽는 Dataflow 작업 처리 중에 데이터가 손실될 수 있습니다. 자세한 내용은 GitHub 저장소의 문제 #596를 참조하세요.

압축 유형이 GZIP 또는 BZIP2로 설정된 상태로 TextIO에서 읽기를 수행하는 Dataflow 작업에서 발생하는 문제가 해결되었습니다. 자세한 내용은 GitHub 저장소의 문제 #356을 참조하세요.

1.6.0(2016년 6월 10일)

확인된 문제: 압축 유형이 BZIP2로 설정된 상태로 CompressedSource에서 읽는 Dataflow 작업 처리 중에 데이터가 손실될 수 있습니다. 자세한 내용은 GitHub 저장소의 문제 #596을 참조하세요.

확인된 문제: 압축 유형이 GZIP 또는 BZIP2로 설정된 상태로 TextIO에서 읽는 Dataflow 작업 처리 중에 데이터가 손실될 수 있습니다. GitHub 저장소의 문제 #356에서 논의된 해결 방법을 참고하세요.

정적 메타데이터를 포함한 주석 사용자 함수(DoFn, CombineFn, WindowFn), Source, Sink를 Dataflow 모니터링 인터페이스에 표시할 수 있게 하는 표시 데이터가 추가되었습니다. 표시 데이터는 핵심 구성요소에 구현되었으며 모든 PipelineOptions에 자동으로 적용됩니다.

소스에서 읽는 작업의 크기를 자동으로 확장하는 Dataflow 기능을 향상시키기 위해 getSplitPointsConsumedgetSplitPointsRemaining 메소드가 BoundedReader API에 추가되었습니다. 이러한 함수의 기본 구현은 제공되었지만 사용 가능한 경우 판독기 구현자는 더 나은 정보를 제공하기 위해 이를 재정의해야 합니다.

CombineFns.compose 또는 CombineFns.composeKeyed를 사용하여 여러 CombineFn을 단일 CombineFn으로 구성하는 기능이 추가되었습니다.

Dataflow 모델을 더욱 우수하게 구현하는 DirectPipelineRunner의 개선으로 InProcessPipelineRunner가 추가되었습니다. InProcessPipelineRunner는 사용자의 로컬 머신에서 실행되며 다중 스레드 실행, 제한되지 않은 PCollections, 추측 및 지연 출력에 대한 트리거를 지원합니다.

DirectPipelineRunnerInProcessPipelineRunner 구현이 DataflowPipelineRunner와 유사하게 실행되도록 BigQueryIO가 다시 구현되었습니다. 이제 DirectPipelineRunner 또는 InProcessPipelineRunner를 사용하는 경우, --tempLocation 실행 매개변수를 지정해야 합니다.

많은 코어가 있는 작업자를 사용하는 경우 부차 입력 성능이 향상되었습니다.

CombineFnWithContext를 사용할 때의 효율성이 개선되었습니다.

스트리밍 모드의 안정성과 관련된 몇 가지 문제가 해결되었습니다.

1.5.1(2016년 4월 15일)

  • Cloud Bigtable 행을 Read 변환에서 필터링할 수 있도록 BigtableIO.Read.withRowFilter가 숨겨지는 문제가 해결되었습니다.
  • 연결된 GZip 파일에 대한 지원이 수정되었습니다.
  • 병합 창에서 Write.to를 사용하지 못하게 하는 문제가 해결되었습니다.
  • 반복적인 복합 트리거에서 과도한 트리거링을 일으키는 문제가 해결되었습니다.
  • 창이 끝나기 전에 완료되는 병합 창과 트리거 문제가 해결되었습니다.

1.5.0(2016년 3월 14일)

이 버전에서는 궁극적으로 Apache Beam(인큐베이팅)으로 이동하기 위해 자바용 Dataflow SDK를 준비하기 시작했습니다. 다수의 내부 API를 리팩터링하고 작업자 내에서만 사용된 클래스를 SDK에서 삭제했습니다. 이러한 클래스는 이제 작업 실행 중에 Google Cloud Dataflow 서비스에서 제공됩니다. 이 리팩터링은 사용자 코드에는 영향을 미치지 않습니다.

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

  • Google Cloud Dataflow 서비스에서 실행되는 일괄 파이프라인에 대해 색인 생성된 부가 입력 형식을 사용할 수 있습니다. 색인 생성된 부가 입력은 View.asList, View.asMap, View.asMultimap, 비 전역 창 PCollectionView에 대한 성능을 크게 향상시킵니다.
  • 프로토콜 버퍼 버전 3.0.0-beta-1으로 업그레이드되었습니다. 커스텀 프로토콜 버퍼를 사용하는 경우 해당 protoc 컴파일러 버전으로 이를 다시 컴파일해야 합니다. 계속해서 프로토콜 버퍼 구문 2 및 3 버전을 모두 사용할 수 있으며 사용자 파이프라인 코드를 변경할 필요가 없습니다.
  • 프로토콜 버퍼 구문 2 및 3 버전을 모두 지원하는 프로토콜 버퍼 메시지에 대한 CoderProtoCoder가 추가되었습니다. 메시지를 결정성 있게 인코딩할 수 있는 경우에 이 코더를 감지할 수 있습니다. Proto2Coder는 이제 지원 중단되었으며, ProtoCoder로 전환하는 것이 좋습니다.
  • BigQuery에서 읽는 경우, 쿼리 결과가 평면화되지 않도록 하는 withoutResultFlatteningBigQueryIO.Read에 추가되었습니다.
  • Google Cloud Bigtable에서 읽기 및 쓰기를 지원하기 위해 BigtableIO가 추가되었습니다.
  • 파일 확장자에 따라 압축 형식을 감지하도록 CompressedSource가 개선되었습니다. 기본 전송 논리에 의해 투명하게 압축 해제되는 .gz 파일 읽기 지원이 추가되었습니다.
Apache Beam™은 미국 및/또는 다른 국가에서 사용되는 Apache Software Foundation 또는 해당 계열사의 상표입니다.

1.4.0(2016년 1월 22일)

  • 창 작업과 트리거를 포함한 일부 고급 주제를 설명하는 일련의 일괄 및 스트리밍 예 파이프라인이 모바일 게임 부문에 추가되었습니다.
  • 컨텍스트를 통해 파이프라인 옵션과 부가 입력에 액세스하기 위한 Combine 기능 지원이 추가되었습니다. 자세한 내용은 GlobalCombineFnPerKeyCombineFn을 참조하세요.
  • 연속된 호출이 누적되도록 ParDo.withSideInputs()가 수정되었습니다.
  • 프로토콜 버퍼 메시지의 자동 코더 감지가 수정되었습니다. 이러한 클래스에는 이제 해당 코더가 자동으로 제공됩니다.
  • DatastoreIO.Source가 반환하는 결과 수를 제한하는 기능이 추가되었습니다. 그러나 이 제한이 설정되면 Cloud Datastore에서 읽기 작업은 작업자 풀 전체에서 병렬로 실행되지 않고 단일 작업자에서 수행됩니다.
  • PaneInfo.{EARLY, ON_TIME, LATE}의 정의가 지연된 데이터만 포함한 창은 항상 LATE이고 ON_TIME 창이 지연된 계산으로 LATE 창을 생성할 수 없도록 수정되었습니다.
  • 만료된 창에 지연된 데이터가 도착하면 이 지연 데이터를 삭제하도록 GroupByKey가 수정되었습니다. 만료된 창이란 창 끝이 허용된 지연 기간 이상 경과했음을 의미합니다.
  • GlobalWindows를 사용한다면 삭제되는 데이터가 없으므로 더 이상 withAllowedLateness()를 지정할 필요가 없습니다.
  • gcloud 유틸리티의 새 버전으로 생성된 기본 프로젝트 구성에서 기본 프로젝트 ID를 가져오는 지원이 추가되었습니다. 기본 프로젝트 구성이 없으면 Dataflow가 이전 gcloud 유틸리티 버전으로 생성된 이전 프로젝트 구성을 다시 사용합니다.

1.3.0(2015년 12월 4일)

  • 작은 값을 효과적으로 인코딩하도록 IterableLikeCoder가 개선되었습니다. 이 변경 사항은 역호환될 수 있지만 SDK 1.3.0 이상의 버전에서 구성한 파이프라인을 실행하는 경우, 이 파이프라인을 SDK 1.2.1 이전 버전을 사용하여 구성된 대체 항목으로 '업데이트'할 수 없습니다. 그러나 실행 중인 파이프라인을 새 SDK 버전으로 구성된 파이프라인으로 업데이트할 수 있습니다.
  • TextIO.Write 또는 AvroIO.Write가 고정된 파일 개수로 출력되는 경우, 쓰기 단계 직전에 다시 분할(무작위) 단계가 추가되었습니다. 이 재분할 비용은 이전 단계에서 사용할 수 있는 추가 병렬 처리에 의해 초과되는 경우가 많습니다.
  • PubsubIO에 RFC 3339 타임스탬프 지원이 추가되었습니다. 이를 통해 타임스탬프 정보가 손실되지 않고 Cloud 로깅이 게시한 Cloud Pub/Sub 주제에서 읽을 수 있습니다.
  • 높은 메모리 사용률로 실행하는 경우 스트리밍 실행 모드에서 파이프라인이 중단되지 않도록 지원하는 메모리 관리가 개선되었습니다. GroupByKey 결과가 많은 파이프라인에서 특히 유용합니다.
  • 방출된 창의 타임스탬프를 맞춤설정하는 기능이 추가되었습니다. 이전에는 워터마크가 버퍼링된 입력의 가장 이른 타임스탬프로 유지되었습니다. 이 변경으로 나중에 워터마크 추가 진행 여부를 선택할 수 있습니다. 예를 들어, 창의 끝을 사용하면 기간이 오래된 세션이 출력을 유지하지 않도록 방지할 수 있습니다. Window.Bound.withOutputTime()을 참조하세요.
  • AfterWatermark.pastEndOfWindow().withEarlyFirings(...).withLateFirings(...)와 같이 AfterWatermark 트리거를 사용한 조기 및 지연된 실행에 대해 단순화된 구문이 추가되었습니다.

1.2.1(2015년 10월 21일)

  • DirectPipelineRunner를 사용하여 실행하는 경우, 불필요하게 많은 메시지를 인쇄하는 BigQueryIO의 회귀를 수정했습니다.

1.2.0(2015년 10월 5일)

  • 자바 8 지원이 추가되었습니다. ParDo의 전체 기능이 필요하지 않은 경우를 위해 자바 8 람다를 수용하는 새로운 MapElementsFlatMapElements 변환이 추가되었습니다. FilterPartition도 람다를 수용합니다. 자바 8 기능은 새로운 MinimalWordCountJava8 예에 설명되어 있습니다.
  • 일반 유형의 @DefaultCoder 주석 기능을 사용할 수 있습니다. 이전에는 일반 유형의 @DefaultCoder 주석이 무시되었으므로, 기능이 축소되고 혼란스러운 오류 메시지가 발생했습니다. 이제는 예상대로 작동합니다.
  • DatastoreIO가 이제 네임스페이스 내에서 (병렬) 읽기가 지원됩니다. Entity 키에 네임스페이스를 설정하여 항목을 네임스페이스에 쓸 수 있습니다.
  • slf4j-jdk14 중속성이 test 범위로 제한되었습니다. Dataflow 작업이 실행되면 시스템이 slf4j-api, slf4j-jdk14, jcl-over-slf4j, log4j-over-slf4j, log4j-to-slf4j 종속성을 제공합니다.

1.1.0(2015년 9월 15일)

  • 유형 T에 자체 등록된 코더가 있는 경우, 유형 Set<T>에 대한 코더가 코더 레지스트리에 추가되었습니다.
  • 요소에 null 값이 포함될 수 있는 PCollection을 인코딩하기 위해 다른 코더와 결합하여 사용할 수 있는 NullableCoder가 추가되었습니다.
  • Filter가 복합 PTransform으로 추가되었습니다. ParDo 변환을 반환하는 이전 Filter 구현의 정적 메소드 지원이 중단되었습니다.
  • Source 구현의 적합성을 테스트하기 위한 지원 함수 및 테스트 하네스 세트인 SourceTestUtils가 추가되었습니다.

1.0.0(2015년 8월 10일)

  • 초기 일반 가용성(GA) 버전은 모든 개발자에게 개방되어 있으며 프로덕션에 사용하기에 안정적이고 완전하게 적격한 것으로 여겨집니다. Dataflow Service의 일반 가용성도 마찬가지입니다.
  • numWorkers, maxNumWorkers, 이와 유사한 설정에 대한 기본값이 제거되었습니다. 이러한 값을 지정하지 않으면 Dataflow Service가 적합한 값을 선택합니다.
  • DoFn가 입력과 출력이 수정되지 않아야 한다는 기존 요구 사항을 준수할 수 있도록 DirectPipelineRunner에 대한 확인이 추가되었습니다.
  • AvroCoder에서 결정성 있는 인코딩을 포함한 @Nullable 필드에 대한 지원이 추가되었습니다.
  • 익명 CustomCoder 하위 클래스가 getEncodingId 메소드를 재정의해야 한다는 요구 사항이 추가되었습니다.
  • Source.Reader, BoundedSource.BoundedReader, UnboundedSource.UnboundedReader가 인터페이스 대신 추상 클래스가 되도록 변경되었습니다. AbstractBoundedReaderBoundedSource.BoundedReader에 병합되었습니다.
  • 변환 계층으로 getBytesPerOffset을 도입하여 ByteOffsetBasedSourceByteOffsetBasedReader의 이름이 OffsetBasedSourceOffsetBasedReader로 변경되었습니다.
  • 하위 클래스가 이제 startadvance 대신 startImpladvanceImpl을 재정의해야 하도록 OffsetBasedReader가 변경되었습니다. 보호된 변수 rangeTracker가 이제 숨겨지고 기본 클래스를 통해 자동으로 업데이트됩니다. 분할 지점을 나타내기 위해 isAtSplitPoint 메소드가 사용됩니다.
  • 워터마크 트리거를 조정하기 위한 메소드가 삭제되었습니다.
  • TimeTrigger에서 불필요한 일반 매개변수가 삭제되었습니다.
  • 명시적으로 요청된 경우를 제외하고 빈 창의 생성이 삭제되었습니다.

0.4.150727(2015년 7월 27일)

  • Google Cloud SDK에 기본 프로젝트 구성이 설정된 경우, --project를 명시적으로 설정해야 하는 요구 사항이 삭제되었습니다.
  • 쿼리에서 BigQuery 소스를 생성하는 기능이 추가되었습니다.
  • DirectPipelineRunnerDataflowPipelineRunner에서 제한되지 않은 커스텀 소스에 대한 지원이 추가되었습니다. 자세한 내용은 UnboundedSource를 참조하세요.
  • BoundedSource.createReader에서 불필요한 ExecutionContext 인수와 관련 메소드가 삭제되었습니다.
  • 스레드 안전(즉, advance 또는 start를 비동기식으로 안전하게 호출)을 요구하도록 BoundedReader.splitAtFraction이 변경되었습니다. 스레드 안전 판독기를 쉽게 구현할 수 있도록 RangeTracker가 추가되었습니다. 임시 솔루션을 구현하기보다 이 클래스를 사용하는 것이 훨씬 좋습니다.
  • 성능 향상을 위해 GroupByKey로(및 그 위로) 올라가도록 Combine 변환이 수정되었습니다.
  • GroupByKey 이후에 시스템이 '연속 트리거'로 전환하도록 트리거가 수정되었습니다. 이는 기본 트리거로 돌아가는 대신 추측 및 지연된 트리거 처리와 관련하여 원래의 의도를 보존하기 위함입니다.
  • 불완전한 중첩 창이 완료된 이전 창의 진행을 보류시키지 않도록 WindowFn.getOutputTimestamp가 추가되고 GroupByKey 동작이 변경되었습니다.
  • 워터마크(ON_TIME) 또는 마지막 창 이후 첫 번째 창인 경우, 빈 창이 생성되도록 트리거 동작이 변경되었습니다.
  • Window.Trigger 중간 빌더 클래스가 삭제되었습니다.
  • 트리거가 지정되는 경우, WindowPTransform에서 허용된 지연이 지정되었는지 확인하는 유효성 검사가 추가되었습니다.
  • GroupByKey 사용 확인을 다시 사용할 수 있습니다. 구체적으로, 키에는 결정성 있는 코더가 있어야 하며 제한되지 않는 PCollection와 함께 GroupByKey를 사용하려면 창 지정이나 트리거가 필요합니다.
  • 더 이상 '=' 또는 ';' 문자가 포함되지 않도록 PTransform 이름이 변경되었습니다.

0.4.150710(2015년 7월 10일)

  • BigQueryIO에 창별 테이블에 대한 지원이 추가되었습니다.
  • Avro에 대한 커스텀 설정 소스 구현에 대한 지원이 추가되었습니다. 자세한 내용은 AvroSource를 참조하세요.
  • 250GiB Google Cloud Storage 파일 크기 업로드 제한이 삭제되었습니다.
  • 스트리밍 모드에서 BigQueryIO.Write 테이블 생성 버그가 수정되었습니다.
  • 추상되도록 Source.createReader()BoundedSource.createReader()가 변경되었습니다.
  • Source.splitIntoBundles()BoundedSource.splitIntoBundles()로 이동되었습니다.
  • 비 스트리밍 DataflowPipelineDirectPipeline에 대해 PubsubIO에서 게시/구독 스트림의 제한된 보기를 읽기 위한 지원이 추가되었습니다.
  • Class를 사용하여 CoderCoderRegistry에 가져오기 위한 지원이 추가되었습니다.
  • 제공된 코더가 실제로 특정 클래스 값을 인코딩하도록 그리고 올바르게 작동하는 경우가 드물기 때문에 일반 클래스의 원시 유형에서 이 코더가 사용되지 않도록 CoderRegistry.registerCoder(Class<T>, Coder<T>)가 변경되었습니다.
  • Create PTransform이 적용된 경우, 결과 PCollection에서 setCoder()를 호출하는 대신 Create.withCoder()CreateTimestamped.withCoder()로 이전됩니다.
  • 연속해서 더 상세해지는 WordCount 예 세 개가 추가되었습니다.
  • PTransform.getKindString()과 중복된 PTransform.getDefaultName()이 삭제되었습니다.
  • 작업 생성 중 PTransform의 고유 이름 확인 지원이 추가되었습니다.
  • PTransform.withName()PTransform.setName()이 삭제되었습니다. 이제 변환의 이름은 구성 후에 변경되지 않습니다. 라이브러리 변환(Combine 등)이 이름을 변경하기 위한 빌더와 유사한 메소드를 제공할 수 있습니다. 이름은 apply("name", transform)을 사용하여 변환이 적용되는 위치에서 언제나 재정의될 수 있습니다.
  • DataflowPipelineWorkerPoolOptions.setNetwork(String)를 사용하여 작업자 VM에 대한 네트워크를 선택하는 기능이 추가되었습니다.

0.4.150602(2015년 6월 2일)

  • gcloud core 구성요소 버전 2015.02.05 이상에서 종속 항목이 추가되었습니다. gcloud components update를 실행하여 최신 버전의 gcloud로 업데이트합니다. 사용자 인증 정보를 지정하는 방법의 자세한 내용은 애플리케이션 기본 사용자 인증 정보를 참조하세요.
  • 이전에 지원 중단되었던 Flatten.create()가 삭제되었습니다. 대신 Flatten.pCollections()를 사용합니다.
  • 이전에 지원 중단되었던 Coder.isDeterministic()이 삭제되었습니다. 대신 Coder.verifyDeterministic()을 구현합니다.
  • DoFn.Context#createAggregatorDoFn#createAggregator로 바뀌었습니다.
  • Aggregator의 현재 값을 쿼리하기 위한 지원이 추가되었습니다. 자세한 내용은 PipelineResult를 참조하세요.
  • DoFn에서 추가 정보 액세스를 단순화하는 실험적 DoFnWithContext가 추가되었습니다.
  • 실험적 RequiresKeyedState가 삭제되었습니다.
  • 각 경우에 null을 반환하는 대신 코더를 추론할 수 없음을 나타내는 CannotProvideCoderException이 추가되었습니다.
  • 맞춤 설정 코더에 대한 테스트 도구 모음을 어셈블하기 위한 CoderProperties가 추가되었습니다.
  • PDone의 생성자가 정적 팩토리 PDone.in(Pipeline)로 교체되었습니다.
  • DirectPipelineRunner를 사용하는 경우 또는 BigQuery 데이터가 부가 입력으로 사용되는 경우, BigQuery 소스에서 반환된 TIMESTAMP 값의 문자열 형식 지정이 BigQuery 데이터가 주 입력으로 사용되는 경우와 일치하도록 업데이트되었습니다.
  • Source.Reader.getCurrent()에서 반환된 값이 변경될 수 없으며 무한정 유효해야 한다는 요구사항이 추가되었습니다.
  • Source의 일부 사용이 BoundedSource로 교체되었습니다. 예를 들어, Read.from() 변환은 이제 BoundedSource 객체에만 적용될 수 있습니다.
  • 실험적 지연 데이터 처리, 즉 워터마크가 이미 전달된 후에 스트리밍 파이프라인에 도착하는 데이터 처리가 PubSubIO에서 Window로 이동했습니다. 기본적으로 지연 데이터는 Read 작업 후 첫 번째 GroupByKey에서 삭제됩니다. 지연 데이터가 계속 유지되도록 하려면 Window.Bound#withAllowedLateness를 사용합니다.
  • 창 전체에서 창 내에 요소를 누적하기 위한 실험적 지원이 추가되었습니다.

0.4.150414(2015년 4월 14일)

  • 자바용 Dataflow SDK의 초기 베타 출시
  • 시스템의 많은 부분에서 실행 성능이 향상되었습니다.
  • 맞춤 설정 소스에 대한 진행 평가와 동적 작업 리밸런스 지원이 추가되었습니다.
  • Reader.getCurrentTimestamp()를 통해 읽은 값의 타임스탬프를 제공하기 위해 맞춤 설정 소스에 대한 지원이 추가되었습니다.
  • 맞춤 설정 싱크에 대한 지원이 추가되었습니다.
  • PubsubIO에서 커스텀 유형에 대한 지원이 추가되었습니다.
  • XML 파일 읽기 및 쓰기에 대한 지원이 추가되었습니다. XmlSourceXmlSink를 참조하세요.
  • DatastoreIO.Write.to의 이름이 DatastoreIO.writeTo로 변경되었습니다. 또한, Cloud Datastore에 작성된 항목에는 완벽한 키가 있어야 합니다.
  • ReadSource 변환 이름이 Read로 변경되었습니다.
  • Source.createBasicReaderSource.createReader로 교체되었습니다.
  • 창에 대한 조기 또는 부분 결과를 가져오고 지연 데이터의 처리 시기를 지정할 수 있는 트리거 지원이 추가되었습니다. Window.into.triggering을 참조하세요.
  • PTransformgetInput(), getOutput(), getPipeline(), getCoderRegistry()에 대한 가시성이 감소했습니다. 이러한 메소드는 곧 삭제됩니다.
  • DoFn.ProcessContext#windows 이름이 DoFn.ProcessContext#window로 바뀌었습니다. DoFnDoFn.ProcessContext#window를 호출하려면 RequiresWindowAccess를 구현해야 합니다.
  • 타사 실행기에서 윈도우를 사용 설정할 수 있도록 DoFn.ProcessContext#windowingInternals가 추가되었습니다.
  • [Blocking]DataflowPipelineRunner에서 스트리밍 파이프라인을 실행하는 경우, 부가 입력에 대한 지원이 추가되었습니다.
  • 새로운 누적기 값을 반환하도록 [Keyed]CombineFn.addInput()이 변경되었습니다. Combine.perElement().withHotKeys()의 이름이 Combine.perElement().withHotKeyFanout()으로 변경되었습니다.
  • 기능을 보다 잘 나타내도록 First.of 이름이 Sample.any로 변경되고 RateLimiting 이름이 IntraBundleParallelization으로 변경되었습니다.

0.3.150326(2015년 3월 26일)

  • Dataflow 작업자에서 PipelineOptions에 액세스하기 위한 지원이 추가되었습니다.
  • PCollectionView를 사용하는 사용자 코드에 대한 간단한 변경이 필요할 수 있는 유형 매개변수 중 하나가 PCollectionView에서 삭제되었습니다.
  • 창별로 적용되도록 부가 입력 API가 변경되었습니다. 이제 sideInput()에 대한 호출로 전체 부가 입력 PCollectionView가 아니라 기본 입력 요소의 창에 해당하는 특정 창에서만 값이 반환됩니다. 그 결과, DoFnstartBundlefinishBundle에서 sideInput()이 더 이상 호출될 수 없습니다.
  • 부가 입력으로 사용된 경우, PCollectionMap으로 보기 위한 지원이 추가되었습니다. View.asMap()을 참조하세요.
  • 모든 이름에서 'shard' 대신 'bundle' 용어를 사용하도록 커스텀 소스 API 이름이 변경되었습니다. 또한, 'fork' 용어는 'dynamic split'으로 교체되었습니다.
  • 이제 커스텀 소스 Reader에서 새로운 메소드 start()를 구현해야 합니다. advance()를 호출하여 해당 값을 반환하는 이 메소드를 추가하기만 하여 기존 코드를 수정할 수 있습니다. 또한, advance()만이 아닌 start()advance() 모두가 사용되도록 Reader를 사용하는 코드를 업데이트해야 합니다.

0.3.150227(2015년 2월 27일)

  • 스트리밍 파이프라인을 지원하는 자바용 Dataflow SDK의 초기 알파 버전
  • GroupByKey와 보다 쉽게 상호 운용되도록 AvroCoder에 결정성 검사기가 추가되었습니다.
  • 작업자에서 PipelineOptions에 액세스하기 위한 지원이 추가되었습니다.
  • 압축된 소스에 대한 지원이 추가되었습니다.

0.3.150211(2015년 2월 11일)

  • gcloud core 구성요소 버전 2015.02.05 이상에서 종속성이 삭제되었습니다.

0.3.150210(2015년 2월 11일)

주의: gcloud core 구성요소 버전 2015.02.05 이상에 따라 다릅니다.

  • 스트리밍 파이프라인 실행기가 포함됐으며, 이로 인해 이제 추가 허용 목록을 작성해야 합니다.
  • 역호환되지 않는 방식으로 다수의 창 작업 관련 API 이름이 변경되었습니다.
  • 자체 입력 형식에서 읽기 위해 사용할 수 있는 커스텀 소스에 대한 지원이 추가되었습니다.
  • 작업자 병렬 처리를 도입하여 프로세서당 작업이 한 개 처리됩니다.

0.3.150109(2015년 1월 10일)

  • 몇 가지 Microsoft Windows 플랫폼 특정 문제가 해결되었습니다.
  • 몇 가지 자바 8 특정 문제가 해결되었습니다.
  • 몇 가지 새로운 예가 추가되었습니다.

0.3.141216(2014년 12월 16일)

  • 자바용 Dataflow SDK의 초기 알파 버전
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

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

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