This repository has been archived by the owner on Nov 11, 2022. It is now read-only.
Version 1.7.0
- Added support for Cloud Datastore API v1 in the new
com.google.cloud.dataflow.sdk.io.datastore.DatastoreIO
. Deprecated the oldDatastoreIO
class that supported only the deprecated Cloud Datastore API v1beta2. - Improved
DatastoreIO.Read
to support dynamic work rebalancing, and added an option to control the number of query splits usingwithNumQuerySplits
. - Improved
DatastoreIO.Write
to work with an unboundedPCollection
, supporting writing to Cloud Datastore when using theDataflowPipelineRunner
in streaming mode. - Added the ability to delete Cloud Datastore
Entity
objects directly usingDatastore.v1().deleteEntity
or to delete entities by key usingDatastore.v1().deleteKey
. - Added support for reading from a
BoundedSource
to theDataflowPipelineRunner
in streaming mode. This enables the use ofTextIO.Read
,AvroIO.Read
and other bounded sources in these pipelines. - Added support for optionally writing a header and/or footer to text files produced with
TextIO.Write
. - Added the ability to control the number of output shards produced when using a
Sink
. - Added
TestStream
to enable testing of triggers with multiple panes and late data with theInProcessPipelineRunner
. - Added the ability to control the rate at which
UnboundedCountingInput
produces elements usingwithRate(long, Duration)
. - Improved performance and stability for pipelines using the
DataflowPipelineRunner
in streaming mode. - To support
TestStream
, reimplementedDataflowAssert
to useGroupByKey
instead ofsideInputs
to check assertions. This is an update-incompatible change toDataflowAssert
for pipelines run on theDataflowPipelineRunner
in streaming mode. - Fixed an issue in which a
FileBasedSink
would produce no files when writing an emptyPCollection
. - Fixed an issue in which
BigQueryIO.Read
could not query a table in a non-US
region when using theDirectPipelineRunner
or theInProcessPipelineRunner
. - Fixed an issue in which the combination of timestamps near the end of the global window and a large
allowedLateness
could cause anIllegalStateException
for pipelines run in theDirectPipelineRunner
. - Fixed a
NullPointerException
that could be thrown during pipeline submission when using anAfterWatermark
trigger with no late firings.