リリースノート: Dataflow SDK 1.x for Java

このページには、Dataflow SDK 1.x for Java に関する更新内容が記載されています。このページを定期的にチェックして、新機能や更新された機能、バグ修正、既知の問題、非推奨になった機能に関するお知らせを確認してください。Dataflow SDK for Java のバージョン 2.x については、Dataflow SDK 2.x for Java リリースノートをご覧ください。

サポートページには、Dataflow SDK の各リリースのサポート状況に関する情報が記載されています。

Dataflow SDK をインストールして使用する方法については、Dataflow SDK インストール ガイドをご覧ください。

2018 年 10 月 16 日

Cloud Dataflow SDK 1.x for Java は 2018 年 10 月 16 日にサポート対象外になりました。近い将来、Cloud Dataflow サービスでは Cloud Dataflow SDK 1.x for Java に基づく新しい Cloud Dataflow ジョブが拒否されます。移行ガイダンスについては、Cloud for Dataflow SDK 1.x for Java からの移行をご覧ください。

1.9.1(2017 年 8 月 28 日)

圧縮タイプが BZIP2 に設定された CompressedSource から Dataflow ジョブが読み取る際、処理中にデータが失われる可能性のある問題を修正しました。詳しくは、GitHub レポジトリの問題 #596 をご覧ください。

1.9.0(2016 年 12 月 20 日)

確認された問題: 圧縮タイプが BZIP2 に設定された CompressedSource から Dataflow ジョブが読み取る際、処理中にデータが失われる可能性があります。詳しくは、GitHub レポジトリの問題 #596 をご覧ください。

Stackdriver Error Reporting Interface が使用できるようになりました。

パイプライン オプションで使用する ValueProvider インターフェースを追加しました。T ではなく ValueProvider<T> タイプのオプションを作成することで、その値が(パイプラインの作成時ではなく)ランタイムで供給され、Cloud Dataflow テンプレートが有効になります。ValueProvider のサポートが TextIOPubSubIOBigQueryIO に追加され、どの PTransforms にも追加できるようになりました。詳しくは、Cloud Dataflow テンプレートのドキュメントをご覧ください。

--saveProfilesToGcs パイプライン オプションを使用して、プロファイリングの情報を Google Cloud Storage に自動的に保存する機能が追加されました。DataflowPipelineRunner によって実行されるパイプラインのプロファイリングについては、GitHub の問題 #72 をご覧ください。

プロファイルを個々のワーカーのディスクに保存する、--enableProfilingAgent パイプライン オプションが非推奨になりました。DataflowPipelineRunner によって実行されるパイプラインのプロファイリングについては、GitHub の問題 #72 をご覧ください。

一致しないファイル パターンからの読み取り時に例外をスローするように FileBasedSource を変更しました。この場合、エラーを表示せずに該当しないデータを読み取るのではなく、パイプラインがランタイムで失敗するようになりました。この変更は、withoutValidation を設定した場合に、TextIO.ReadAvroIO.Read に影響を与えます。

DirectPipelineRunner での Coder の検証が強化され、入力のエンコードとデコードを適切に行えないコーダーをキャッチできるようになりました。

コア変換の表示データが改善され、PipelineOptions 内の配列を正しく処理できるようになりました。

ストリーミング モードで DataflowPipelineRunner を使用することで、パイプラインのパフォーマンスが向上しました。

InProcessRunner のスケーラビリティが向上し、より大きなデータセットのテストが可能になりました。

TextIOAvroIO などの FileBasedSource の実装によって作成される一時ファイルのクリーンアップが改善されました。

1.8.1(2016 年 12 月 12 日)

確認された問題: 圧縮タイプが BZIP2 に設定された CompressedSource から Dataflow ジョブが読み取る際、処理中にデータが失われる可能性があります。詳しくは、GitHub レポジトリの問題 #596 をご覧ください。

DataflowPipelineRunner 内の制限付き副入力のパフォーマンスが向上しました。

1.8.0(2016 年 10 月 3 日)

確認された問題: 圧縮タイプが BZIP2 に設定された CompressedSource から Dataflow ジョブが読み取る際、処理中にデータが失われる可能性があります。詳しくは、GitHub レポジトリの問題 #596 をご覧ください。

BigQueryIO.Read.withStandardSQL() を使用した新しい BigQuery 標準 SQL 言語のクエリを実行できるようになりました。

BigQueryIO で新たに BYTESTIMEDATEDATETIMEを使用できるようになりました。

BigtableIO.Read で、.withKeyRange(ByteKeyRange) を使用して制限付きのキー範囲から読み取りを行うことが可能になりました。

CompressedSource で、サイズの大きい非圧縮ファイルの初期分割を改善しました。Cloud Dataflow サービスで TextIO.Read を使用するバッチ パイプラインのパフォーマンスが向上しました。

ストリーミング モードで BigQueryIO.Write を使用するとパフォーマンスが低下するという問題を解決しました。

1.7.0(2016 年 9 月 9 日)

確認された問題: 圧縮タイプが BZIP2 に設定された CompressedSource から Dataflow ジョブが読み取る際、処理中にデータが失われる可能性があります。詳しくは、GitHub レポジトリの問題 #596 をご覧ください。

確認された問題: BigQueryIO.Write でパフォーマンスの低下が確認されています。ストリーミング モードで実行すると、挿入の失敗回数が若干増える可能性があります。データの消失や重複は発生しません。詳細については、GitHub レポジトリの問題 #451 をご覧ください。

Cloud Datastore API v1 をサポートする新しい com.google.cloud.dataflow.sdk.io.datastore.DatastoreIO を追加しました。非推奨の 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.ReadAvroIO.Read、他の制限付きソースを使用できます。

TextIO.Write で生成されたテキスト ファイルにヘッダーまたはフッターを追加できるようになりました。

Sink の使用時に生成される出力の分割数を制御できるようになりました。

TestStream を追加しました。InProcessPipelineRunner で複数のペインと遅延データを使用してトリガーをテストできます。

UnboundedCountingInputwithRate(long, Duration) を使用して要素を生成するレートを制御できるようになりました。

ストリーミング モードの DataflowPipelineRunner を使用するパイプラインのパフォーマンスと安定性を改善しました。

TestStream をサポートするには、sideInputs ではなく GroupByKey でアサーションを検査するように DataflowAssert を再実装します。これは、ストリーミング モードの DataflowPipelineRunner で実行されるパイプラインの DataflowAssert に対する変更です。更新による互換性はありません。

空の PCollection の書き込み中に FileBasedSink がファイルを生成しないという問題を解決しました。

BigQueryIO.ReadUS 以外のリージョンにあるテーブルに DirectPipelineRunner または InProcessPipelineRunner を使用してクエリを実行できないという問題を解決しました。

グローバル ウィンドウの終端に近いタイムスタンプを組み合わせ、サイズの大きい allowedLateness を使用したときに、DirectPipelineRunner で実行されるパイプラインで IllegalStateException が発生するという問題を解決しました。

NullPointerException を修正しました。遅延起動を指定せずに AfterWatermark トリガーを使用しても、パイプライン送信時にこの例外は発生しません。

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 にある回避策を実施してください。

Dataflow Monitoring Interface に表示する静的メタデータでユーザー関数(DoFnCombineFnWindowFn)、SourceSink に注釈を付けることのできる表示データを追加しました。表示データはコア コンポーネント用に実装されており、すべての PipelineOptions に自動的に適用されます。

メソッド getSplitPointsConsumedgetSplitPointsRemainingBoundedReader API に追加して、これらのソースから読み取るジョブを Dataflow が自動的にスケーリングする機能を向上させました。これらの関数のデフォルト実装が提供されていますが、読み取りの実装者はこれらをオーバーライドして、より適切な情報が使用可能な場合にそれを提供する必要があります。

CombineFns.compose または CombineFns.composeKeyed を使用して複数の CombineFn を 1 つの 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 日)

このリリースでは、Dataflow SDK for Java を最終的に Apache Beam(準備中)に移行する準備を開始しました。具体的には、いくつかの内部 API をリファクタリングし、ワーカー内のみで使用される SDK クラスから削除しました。これは、ジョブ実行中に Google Cloud Dataflow サービスにより提供されるようになります。このリファクタリングはユーザーのコードに影響しません。

また、1.5.0 リリースには以下の変更が含まれています。

  • Google Cloud Dataflow サービスで実行されるバッチ パイプラインに対してインデックス登録済み副入力形式を有効にしました。インデックス登録済みの副入力により、View.asListView.asMapView.asMultimap とグローバルにウィンドウ処理されていない PCollectionView のパフォーマンスが大幅に向上します。
  • Protocol Buffers バージョン 3.0.0-beta-1 にアップグレードしました。カスタム Protocol Buffers を使用する場合は、対応するバージョンの protoc コンパイラでそれらを再コンパイルする必要があります。Protocol Buffers 構文のバージョン 2 と 3 の両方を使い続けることができ、ユーザー パイプライン コードを変更する必要はありません。
  • ProtoCoder を追加しました。これは Protocol Buffers 構文のバージョン 2 と 3 の両方をサポートする Protocol Buffers メッセージ用の Coder です。このコーダーは、メッセージを確定的にエンコードできる場合にそれを検出できます。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() を修正しました。
  • Protocol Buffer メッセージの自動コーダー検出を修正しました。このようなクラスのコーダーは自動的に提供されます。
  • 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 が固定数のファイルに出力する場合、書き込みステップの直前に再シャード(シャッフル)ステップを追加しました。多くの場合、前のステージに利用できる追加の並列処理はこの再シャードのコストを超過します。
  • RFC 3339 タイムスタンプのサポートを PubsubIO に追加しました。これにより、タイムスタンプ情報を失わずに、Cloud Logging によって発行される Cloud Pub/Sub トピックから読み取ることができます。
  • 高いメモリ使用率で実行されている場合、ストリーミング実行モードのパイプラインが滞るのを防ぐようにメモリ管理を改善しました。これは、GroupByKey 結果が大きいパイプラインに特にメリットがあります。
  • 排出されたウィンドウのタイムスタンプをカスタマイズする機能を追加しました。以前は、ウォーターマークはバッファされた入力のタイムスタンプのうち最も古いものに維持されました。この変更により、より遅い時間を選択して、ウォーターマークをさらに進めることを選択できます。たとえば、ウィンドウの終わりを使用すると、長時間セッションによる出力の停滞が阻止されます。Window.Bound.withOutputTime() をご覧ください。
  • 次のように、AfterWatermark トリガーでの早期起動と遅延起動の簡略化された構文を追加しました。AfterWatermark.pastEndOfWindow().withEarlyFirings(...).withLateFirings(...)

1.2.1(2015 年 10 月 21 日)

  • DirectPipelineRunner を使用して実行された場合に大量のメッセージを不必要に出力していた BigQueryIO の回帰を修正しました。

1.2.0(2015 年 10 月 5 日)

  • Java 8 のサポートを追加しました。ParDo の完全な機能が必要でない場合に Java 8 ラムダを受け入れる新しい MapElements 変換と FlatMapElements 変換を追加しました。FilterPartition もラムダを受け入れます。Java 8 機能は新しい MinimalWordCountJava8 例で示されています。
  • ジェネリック型に対して @DefaultCoder アノテーションを有効にしました。以前はジェネリック型に対する @DefaultCoder アノテーションは無視されていたため、機能性が損なわれ、紛らわしいエラー メッセージが生成されていました。現在は期待どおりに機能するようになりました。
  • DatastoreIO は、名前空間内で(並列)読み取りをサポートするようになりました。エンティティは、Entity キーに名前空間を設定することで名前空間に書き込むことができます。
  • slf4j-jdk14 依存関係を test スコープに限定しました。Dataflow ジョブが実行されている場合、slf4j-apislf4j-jdk14jcl-over-slf4jlog4j-over-slf4jlog4j-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 サービスの一般提供と一致します。
  • numWorkersmaxNumWorkers、および同様の設定のデフォルト値を削除しました。これらが指定されていない場合、Dataflow サービスが適切な値を選択します。
  • 入力と出力を変更してはならないという既存の要件に DoFn が従っていることを確認するのに役立つチェックを DirectPipelineRunner に追加しました。
  • 確定的エンコーディングでの @Nullable フィールドのサポートを AvroCoder に追加しました。
  • 匿名の CustomCoder サブクラスが getEncodingId メソッドをオーバーライドするという要件を追加しました。
  • Source.ReaderBoundedSource.BoundedReaderUnboundedSource.UnboundedReader がインターフェースではなく、抽象クラスに変更されました。 AbstractBoundedReaderBoundedSource.BoundedReader に統合されました。
  • ByteOffsetBasedSourceByteOffsetBasedReader の名前を OffsetBasedSourceOffsetBasedReader に変更し、getBytesPerOffset を変換層として導入しました。
  • サブクラスが 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 中間ビルダークラスが削除されました。
  • トリガーが指定されている場合に Window PTransform で許容される遅延が指定されていることの検証を追加しました。
  • GroupByKey の使用の検証を再有効化しました。具体的には、キーには確定的コーダーが必要で、GroupByKey を制限のない PCollection とともに使用するにはウィンドウ処理とトリガーが必要です。
  • '=' または ';' 文字を含まなくなるように PTransform 名を変更しました。

0.4.150710(2015 年 7 月 10 日)

  • ウィンドウ別テーブルのサポートを BigQueryIO に追加しました。
  • Avro のカスタムソース実装のサポートを追加しました。詳しくは、AvroSource をご覧ください。
  • 250 GiB の Google Cloud Storage ファイルサイズ アップロード制限を削除しました。
  • ストリーミング モードでの BigQueryIO.Write テーブル作成のバグを修正しました。
  • Source.createReader()BoundedSource.createReader() を抽象に変更しました。
  • Source.splitIntoBundles()BoundedSource.splitIntoBundles() に移動しました。
  • 非ストリーミング DataflowPipelineDirectPipelinePubsubIO に Pub/Sub ストリームの制限付きビューの読み取りのサポートを追加しました。
  • Class を使用した Coder の取得のサポートを CoderRegistry に追加しました。
  • 提供されるコーダーが実際に特定のクラスの値をエンコードし、汎用クラスの行タイプでの使用が禁止されるように(これはまれに正しく動作しないことがあるため)、CoderRegistry.registerCoder(Class<T>, Coder<T>) を変更しました。
  • Create PTransform が適用されるときに出力される PCollectionsetCoder() を呼び出す代わりに Create.withCoder()CreateTimestamped.withCoder() に移行します。
  • 3 つの連続する詳細な 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 を実行することで最新バージョンの gcloud components update に更新します。認証情報の指定方法について詳しくは、アプリケーションのデフォルト認証情報をご覧ください。
  • すでに非推奨となっていた 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 for Java の初期ベータ版リリースです。
  • システムの多くの領域で実行パフォーマンスを改善しました。
  • ユーザー定義ソースに対する進行状況の見積もりと動的作業再調整のサポートを追加しました。
  • 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 の型パラメータの 1 つを削除しました。これにより、PCollectionView を使用するユーザーのコードに単純な変更が必要になることがあります。
  • ウィンドウごとに適用するように副入力 API を変更しました。sideInput() の呼び出しでは、副入力 PCollectionView 全体ではなくメイン入力要素のウィンドウに対応する特定のウィンドウでのみ値を返すようになりました。その結果、sideInput()DoFnstartBundlefinishBundle から呼び出せなくなりました。
  • 副入力として使用されるときに PCollectionMap として表示するためのサポートを追加しました。View.asMap() をご覧ください。
  • すべての名前で「shard」ではなく「bundle」という用語を使用するようにカスタムソース API の名前を変更しました。また、「fork」は「dynamic split」に置換されました。
  • カスタムソース Reader には、新しいメソッド start() の実装が必要になりました。既存のコードは、単純に advance() を呼び出してその値を返すこのメソッドを追加するだけで修正できます。また、Reader を使用するコードは、advance() のみではなく start()advance() の両方を使用するように更新する必要があります。

0.3.150227(2015 年 2 月 27 日)

  • ストリーミング パイプラインをサポートする Dataflow SDK for Java の初期アルファ版です。
  • AvroCoder に確定的チェッカーを追加して、GroupByKey との相互運用を簡単にしました。
  • ワーカーで PipelineOptions にアクセスするためのサポートを追加しました。
  • 圧縮ソースのサポートを追加しました。

0.3.150211(2015 年 2 月 11 日)

  • gcloud core コンポーネント バージョン 2015.02.05 以降に対する依存関係を削除しました。

0.3.150210(2015 年 2 月 11 日)

注意: gcloud core コンポーネント バージョン 2015.02.05 以降に依存します。

  • ストリーミング パイプライン ランナーを含めました。現在のところ、追加のホワイトリストが必要です。
  • 下位互換性のない方法で、いくつかのウィンドウ関連 API の名前を変更しました。
  • 独自の入力形式から読み取るために使用できるカスタムソースのサポートを追加しました。
  • プロセッサごとに 1 タスクのワーカー並列処理を導入しました。

0.3.150109(2015 年 1 月 10 日)

  • Microsoft Windows でのプラットフォーム固有の問題を修正しました。
  • Java 8 固有の複数の問題を修正しました。
  • いくつかの新しい例を追加しました。

0.3.141216(2014 年 12 月 16 日)

  • Dataflow SDK for Java の初期アルファ版です。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。