分布式数据处理引擎Apache Flink v1.1.0发布

jopen 8年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/7a91e857d7bc4ce0ce343b8f03841736.png" /></p>    <p>Flink 是一个针对流数据和批数据的分布式处理引擎。它主要是由 Java 代码实现。目前主要还是依靠开源社区的贡献而发展。对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个极限特例而已。再换句话说,Flink 会把所有任务当成流来处理,这也是其最大的特点。Flink 可以支持本地的快速迭代,以及一些环形的迭代任务。并且 Flink 可以定制化内存管理。在这点,如果要对比 Flink 和 Spark 的话,Flink 并没有将内存完全交给应用层。这也是为什么 Spark 相对于 Flink,更容易出现 OOM 的原因(out of memory)。就框架本身与应用场景来说,Flink 更相似与 Storm。如果之前了解过 Storm 或者 Flume 的读者,可能会更容易理解 Flink 的架构和很多概念。</p>    <p style="text-align: center;"><strong>Flink 的架构图</strong></p>    <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/a8faca43b327f0f15b19c8f26a0be2a0.png" /></p>    <h2>更新日志</h2>    <ul>     <li><a href="/misc/goto?guid=4958993009943906671">FLINK-1502</a>: Expose metrics to graphite, ganglia and JMX.</li>     <li><a href="/misc/goto?guid=4958993010041877421">FLINK-1550</a>: Show JVM Metrics for JobManager</li>     <li><a href="/misc/goto?guid=4958993010133404607">FLINK-3129</a>: Add tooling to ensure interface stability</li>     <li><a href="/misc/goto?guid=4958993010223750830">FLINK-3141</a>: Design of NULL values handling in operation</li>     <li><a href="/misc/goto?guid=4958993010315899596">FLINK-3223</a>: Translate Table API query into logical relational plans for Apache Calcite</li>     <li><a href="/misc/goto?guid=4958993010411644601">FLINK-3225</a>: Optimize logical Table API plans in Calcite</li>     <li><a href="/misc/goto?guid=4958993010511841722">FLINK-3226</a>: Translate optimized logical Table API plans into physical plans representing DataSet programs</li>     <li><a href="/misc/goto?guid=4958993010598320000">FLINK-3229</a>: Kinesis streaming consumer with integration of Flink's checkpointing mechanics</li>     <li><a href="/misc/goto?guid=4958993010690047128">FLINK-3230</a>: Kinesis streaming producer</li>     <li><a href="/misc/goto?guid=4958993010780277871">FLINK-3231</a>: Handle Kinesis-side resharding in Kinesis streaming consumer</li>     <li><a href="/misc/goto?guid=4958993010882324335">FLINK-3327</a>: Attach the ExecutionConfig to the JobGraph and make it accessible to the AbstractInvocable.</li>     <li><a href="/misc/goto?guid=4958993010978148980">FLINK-3489</a>: Refactor Table API before merging into master</li>     <li><a href="/misc/goto?guid=4958993011064225798">FLINK-3544</a>: ResourceManager runtime components</li>     <li><a href="/misc/goto?guid=4958993011153077779">FLINK-3545</a>: ResourceManager: YARN integration</li>     <li><a href="/misc/goto?guid=4958993011238572400">FLINK-3547</a>: Add support for streaming projection, selection, and union</li>     <li><a href="/misc/goto?guid=4958993011338476142">FLINK-3550</a>: Rework stream join example</li>     <li><a href="/misc/goto?guid=4958993011423733806">FLINK-3552</a>: Change socket WordCount to be properly windowed</li>     <li><a href="/misc/goto?guid=4958993011528764458">FLINK-3573</a>: Implement more String functions for Table API</li>     <li><a href="/misc/goto?guid=4958993011618481223">FLINK-3574</a>: Implement math functions for Table API</li>     <li><a href="/misc/goto?guid=4958993011704508594">FLINK-3586</a>: Risk of data overflow while use sum/count to calculate AVG value</li>     <li><a href="/misc/goto?guid=4958993011790216918">FLINK-3612</a>: Fix/adjust Table API examples</li>     <li><a href="/misc/goto?guid=4958993011879011516">FLINK-3714</a>: Add Support for "Allowed Lateness"</li>     <li><a href="/misc/goto?guid=4958993011969527328">FLINK-3727</a>: Add support for embedded streaming SQL (projection, filter, union)</li>     <li><a href="/misc/goto?guid=4958993012067013254">FLINK-3748</a>: Add CASE function to Table API</li>     <li><a href="/misc/goto?guid=4958993012154884464">FLINK-3756</a>: Introduce state hierarchy in CheckpointCoordinator</li>     <li><a href="/misc/goto?guid=4958993012249671366">FLINK-3837</a>: Create FLOOR/CEIL function</li>     <li><a href="/misc/goto?guid=4958993012338897045">FLINK-3923</a>: Unify configuration conventions of the Kinesis producer to the same as the consumer</li>     <li><a href="/misc/goto?guid=4958993012436755729">FLINK-3949</a>: Collect Metrics in Runtime Operators</li>     <li><a href="/misc/goto?guid=4958993012522210485">FLINK-3951</a>: Add Histogram Metric Type</li>     <li><a href="/misc/goto?guid=4958993012619482491">FLINK-4018</a>: Configurable idle time between getRecords requests to Kinesis shards</li>     <li><a href="/misc/goto?guid=4958993012719741980">FLINK-4019</a>: Expose approximateArrivalTimestamp through the KinesisDeserializationSchema interface</li>     <li><a href="/misc/goto?guid=4958993012811611097">FLINK-4020</a>: Remove shard list querying from Kinesis consumer constructor</li>     <li><a href="/misc/goto?guid=4958993012906167562">FLINK-4033</a>: Missing Scala example snippets for the Kinesis Connector documentation</li>     <li><a href="/misc/goto?guid=4958993012996543596">FLINK-4057</a>: Expose JobManager Metrics</li>     <li><a href="/misc/goto?guid=4958993013089638456">FLINK-4062</a>: Update Windowing Documentation</li>     <li><a href="/misc/goto?guid=4958993013199825296">FLINK-4080</a>: Kinesis consumer not exactly-once if stopped in the middle of processing aggregated records</li>     <li><a href="/misc/goto?guid=4958993013288911136">FLINK-4085</a>: Set Kinesis Consumer Agent to Flink</li>     <li><a href="/misc/goto?guid=4958993013381696319">FLINK-4191</a>: Expose shard information in KinesisDeserializationSchema</li>     <li><a href="/misc/goto?guid=4958993013471546196">FLINK-4239</a>: Set Default Allowed Lateness to Zero and Make Triggers Non-Purging</li>    </ul>    <h3>Bug修复</h3>    <ul>     <li><a href="/misc/goto?guid=4958993013568414397">FLINK-1159</a>: Case style anonymous functions not supported by Scala API</li>     <li><a href="/misc/goto?guid=4958993013660995689">FLINK-1964</a>: Rework 推terSource to use a Properties object instead of a file path</li>     <li><a href="/misc/goto?guid=4958993013752656109">FLINK-2392</a>: Instable test in flink-yarn-tests</li>     <li><a href="/misc/goto?guid=4958993013845190021">FLINK-2544</a>: Some test cases using PowerMock fail with Java 8u20</li>     <li><a href="/misc/goto?guid=4958993013924052913">FLINK-2832</a>: Failing test: RandomSamplerTest.testReservoirSamplerWithReplacement</li>     <li><a href="/misc/goto?guid=4958993014021816800">FLINK-2915</a>: JobManagerProcessFailureBatchRecoveryITCase</li>     <li><a href="/misc/goto?guid=4958993014114033635">FLINK-3086</a>: ExpressionParser does not support concatenation of suffix operations</li>     <li><a href="/misc/goto?guid=4958993014199554854">FLINK-3105</a>: Submission in per job YARN cluster mode reuses properties file of long-lived session</li>     <li><a href="/misc/goto?guid=4958993014297341312">FLINK-3126</a>: Remove accumulator type from "value" in web frontend</li>     <li><a href="/misc/goto?guid=4958993014393325171">FLINK-3179</a>: Combiner is not injected if Reduce or GroupReduce input is explicitly partitioned</li>     <li><a href="/misc/goto?guid=4958993014495889377">FLINK-3333</a>: Documentation about object reuse should be improved</li>     <li><a href="/misc/goto?guid=4958993014590973931">FLINK-3380</a>: Unstable Test: JobSubmissionFailsITCase</li>     <li><a href="/misc/goto?guid=4958993014672012824">FLINK-3396</a>: Job submission Savepoint restore logic flawed</li>     <li><a href="/misc/goto?guid=4958993014764774624">FLINK-3411</a>: Failed recovery can lead to removal of HA state</li>     <li><a href="/misc/goto?guid=4958993014852467566">FLINK-3444</a>: env.fromElements relies on the first input element for determining the DataSet/DataStream type</li>     <li><a href="/misc/goto?guid=4958993014940886818">FLINK-3466</a>: Job might get stuck in restoreState() from HDFS due to interrupt</li>     <li><a href="/misc/goto?guid=4958993015032831902">FLINK-3471</a>: JDBCInputFormat cannot handle null fields of certain types</li>     <li><a href="/misc/goto?guid=4958993015123702667">FLINK-3472</a>: JDBCInputFormat.nextRecord(..) has misleading message on NPE</li>     <li><a href="/misc/goto?guid=4958993015210591656">FLINK-3488</a>: Kafka08ITCase.testBigRecordJob fails on Travis</li>     <li><a href="/misc/goto?guid=4958993015298735855">FLINK-3491</a>: HDFSCopyUtilitiesTest fails on Windows</li>     <li><a href="/misc/goto?guid=4958993015393283369">FLINK-3495</a>: RocksDB Tests can't run on Windows</li>     <li><a href="/misc/goto?guid=4958993015486536138">FLINK-3505</a>: JoinUnionTransposeRule fails to push Join past Union.</li>     <li><a href="/misc/goto?guid=4958993015570115059">FLINK-3519</a>: Subclasses of Tuples don't work if the declared type of a DataSet is not the descendant</li>     <li><a href="/misc/goto?guid=4958993015663121212">FLINK-3530</a>: Kafka09ITCase.testBigRecordJob fails on Travis</li>     <li><a href="/misc/goto?guid=4958993015759626286">FLINK-3533</a>: Update the Gelly docs wrt examples and cluster execution</li>     <li><a href="/misc/goto?guid=4958993015838036181">FLINK-3534</a>: Cancelling a running job can lead to restart instead of stopping</li>     <li><a href="/misc/goto?guid=4958993015928029451">FLINK-3540</a>: Hadoop 2.6.3 build contains /com/google/common (guava) classes in flink-dist.jar</li>     <li><a href="/misc/goto?guid=4958993016014353263">FLINK-3556</a>: Unneeded check in HA blob store configuration</li>     <li><a href="/misc/goto?guid=4958993016110983312">FLINK-3561</a>: ExecutionConfig's timestampsEnabled is unused</li>     <li><a href="/misc/goto?guid=4958993016196613657">FLINK-3562</a>: Update docs in the course of EventTimeSourceFunction removal</li>     <li><a href="/misc/goto?guid=4958993016295455988">FLINK-3563</a>: .returns() doesn't compile when using .map() with a custom MapFunction</li>     <li><a href="/misc/goto?guid=4958993016386005241">FLINK-3565</a>: FlinkKafkaConsumer does not work with Scala 2.11</li>     <li><a href="/misc/goto?guid=4958993016480504077">FLINK-3566</a>: Input type validation often fails on custom TypeInfo implementations</li>     <li><a href="/misc/goto?guid=4958993016560801796">FLINK-3567</a>: Rework selection when grouping in Table API</li>     <li><a href="/misc/goto?guid=4958993016663736716">FLINK-3569</a>: Test cases fail due to Maven Shade plugin</li>     <li><a href="/misc/goto?guid=4958993016744422805">FLINK-3577</a>: Display anchor links when hovering over headers.</li>     <li><a href="/misc/goto?guid=4958993016841436477">FLINK-3578</a>: Scala DataStream API does not support Rich Window Functions</li>     <li><a href="/misc/goto?guid=4958993016930963425">FLINK-3579</a>: Improve String concatenation</li>     <li><a href="/misc/goto?guid=4958993017012676551">FLINK-3583</a>: Configuration not visible in gui when job is running</li>     <li><a href="/misc/goto?guid=4958993017108596241">FLINK-3585</a>: Deploy scripts don't support spaces in paths</li>     <li><a href="/misc/goto?guid=4958993017200519055">FLINK-3593</a>: DistinctITCase is failing</li>     <li><a href="/misc/goto?guid=4958993017290316675">FLINK-3595</a>: Kafka09 consumer thread does not interrupt when stuck in record emission</li>     <li><a href="/misc/goto?guid=4958993017384985923">FLINK-3601</a>: JobManagerTest times out on StopSignal test</li>     <li><a href="/misc/goto?guid=4958993017475950948">FLINK-3602</a>: Recursive Types are not supported / crash TypeExtractor</li>     <li><a href="/misc/goto?guid=4958993017569606931">FLINK-3608</a>: ImmutableSettings error in ElasticsearchSink</li>     <li><a href="/misc/goto?guid=4958993017660841559">FLINK-3611</a>: Wrong link in CONTRIBUTING.md</li>     <li><a href="/misc/goto?guid=4958993017749499442">FLINK-3619</a>: SavepointCoordinator test failure</li>     <li><a href="/misc/goto?guid=4958993017849852524">FLINK-3621</a>: Misleading documentation of memory configuration parameters</li>     <li><a href="/misc/goto?guid=4958993017946669072">FLINK-3622</a>: Improve error messages for invalid joins</li>     <li><a href="/misc/goto?guid=4958993018038678873">FLINK-3630</a>: Little mistake in documentation</li>     <li><a href="/misc/goto?guid=4958993018121919882">FLINK-3631</a>: CodeGenerator does not check type compatibility for equality expressions</li>     <li><a href="/misc/goto?guid=4958993018212640727">FLINK-3633</a>: Job submission silently fails when using user code types</li>     <li><a href="/misc/goto?guid=4958993018308461522">FLINK-3635</a>: Potential null deference in 推terExample#SelectEnglishAndTokenizeFlatMap#flatMap</li>     <li><a href="/misc/goto?guid=4958993018406152393">FLINK-3636</a>: NoClassDefFoundError while running WindowJoin example</li>     <li><a href="/misc/goto?guid=4958993018497269578">FLINK-3638</a>: Invalid default ports in documentation</li>     <li><a href="/misc/goto?guid=4958993018589191024">FLINK-3644</a>: WebRuntimMonitor set java.io.tmpdir does not work for change upload dir.</li>     <li><a href="/misc/goto?guid=4958993018685317359">FLINK-3645</a>: HDFSCopyUtilitiesTest fails in a Hadoop cluster</li>     <li><a href="/misc/goto?guid=4958993018779546637">FLINK-3651</a>: Fix faulty RollingSink Restore</li>     <li><a href="/misc/goto?guid=4958993018865460437">FLINK-3653</a>: recovery.zookeeper.storageDir is not documented on the configuration page</li>     <li><a href="/misc/goto?guid=4958993018963272913">FLINK-3663</a>: FlinkKafkaConsumerBase.logPartitionInfo is missing a log marker</li>     <li><a href="/misc/goto?guid=4958993019054156549">FLINK-3669</a>: WindowOperator registers a lot of timers at StreamTask</li>     <li><a href="/misc/goto?guid=4958993019146637167">FLINK-3675</a>: YARN ship folder incosistent behavior</li>     <li><a href="/misc/goto?guid=4958993019239340813">FLINK-3676</a>: WebClient hasn't been removed from the docs</li>     <li><a href="/misc/goto?guid=4958993019327791339">FLINK-3681</a>: CEP library does not support Java 8 lambdas as select function</li>     <li><a href="/misc/goto?guid=4958993019422364088">FLINK-3682</a>: CEP operator does not set the processing timestamp correctly</li>     <li><a href="/misc/goto?guid=4958993019519211817">FLINK-3684</a>: CEP operator does not forward watermarks properly</li>     <li><a href="/misc/goto?guid=4958993019610880699">FLINK-3689</a>: JobManager blocks cluster shutdown when not connected to ResourceManager</li>     <li><a href="/misc/goto?guid=4958993019712083633">FLINK-3693</a>: JobManagerHAJobGraphRecoveryITCase.testClientNonDetachedListeningBehaviour is unstable</li>     <li><a href="/misc/goto?guid=4958993019806868716">FLINK-3696</a>: Some Union tests fail for TableConfigMode.EFFICIENT</li>     <li><a href="/misc/goto?guid=4958993019900461959">FLINK-3697</a>: keyBy() with nested POJO computes invalid field position indexes</li>     <li><a href="/misc/goto?guid=4958993019992815940">FLINK-3701</a>: Cant call execute after first execution</li>     <li><a href="/misc/goto?guid=4958993020087991239">FLINK-3712</a>: YARN client dynamic properties are not passed correctly to the leader election service on the client</li>     <li><a href="/misc/goto?guid=4958993020180655089">FLINK-3713</a>: DisposeSavepoint message uses system classloader to discard state</li>     <li><a href="/misc/goto?guid=4958993020279187904">FLINK-3716</a>: Kafka08ITCase.testFailOnNoBroker() timing out before it has a chance to pass</li>     <li><a href="/misc/goto?guid=4958993020370568710">FLINK-3718</a>: Add Option For Completely Async Backup in RocksDB State Backend</li>     <li><a href="/misc/goto?guid=4958993020460578157">FLINK-3725</a>: Exception in thread "main" scala.MatchError: … (of class scala.Tuple4)</li>     <li><a href="/misc/goto?guid=4958993020554446605">FLINK-3728</a>: Throw meaningful exceptions for unsupported SQL features</li>     <li><a href="/misc/goto?guid=4958993020647139575">FLINK-3729</a>: Several SQL tests fail on Windows OS</li>     <li><a href="/misc/goto?guid=4958993020747993271">FLINK-3730</a>: Fix RocksDB Local Directory Initialization</li>     <li><a href="/misc/goto?guid=4958993020838679188">FLINK-3731</a>: Embedded SQL outer joins should fail during translation</li>     <li><a href="/misc/goto?guid=4958993020928140313">FLINK-3732</a>: Potential null deference in ExecutionConfig#equals()</li>     <li><a href="/misc/goto?guid=4958993021020375122">FLINK-3735</a>: Embedded SQL union should fail during translation</li>     <li><a href="/misc/goto?guid=4958993021112986194">FLINK-3737</a>: WikipediaEditsSourceTest.testWikipediaEditsSource() fails locally</li>     <li><a href="/misc/goto?guid=4958993021210966327">FLINK-3745</a>: TimestampITCase testWatermarkPropagationNoFinalWatermarkOnStop failing intermittently</li>     <li><a href="/misc/goto?guid=4958993021302561932">FLINK-3757</a>: addAccumulator does not throw Exception on duplicate accumulator name</li>     <li><a href="/misc/goto?guid=4958993021396601263">FLINK-3759</a>: Table API should throw exception is null value is encountered in non-null mode.</li>     <li><a href="/misc/goto?guid=4958993021486232326">FLINK-3762</a>: Kryo StackOverflowError due to disabled Kryo Reference tracking</li>     <li><a href="/misc/goto?guid=4958993021575117287">FLINK-3773</a>: Scanners are left unclosed in SqlExplainTest</li>     <li><a href="/misc/goto?guid=4958993021670750102">FLINK-3774</a>: Flink configuration is not correctly forwarded to PlanExecutor in ScalaShellRemoteEnvironment</li>     <li><a href="/misc/goto?guid=4958993021763801902">FLINK-3781</a>: BlobClient may be left unclosed in BlobCache#deleteGlobal()</li>     <li><a href="/misc/goto?guid=4958993021857361470">FLINK-3790</a>: Rolling File sink does not pick up hadoop configuration</li>     <li><a href="/misc/goto?guid=4958993021950569357">FLINK-3792</a>: RowTypeInfo equality should not depend on field names</li>     <li><a href="/misc/goto?guid=4958993022043233734">FLINK-3793</a>: Re-organize the Table API and SQL docs</li>     <li><a href="/misc/goto?guid=4958993022143218058">FLINK-3796</a>: FileSourceFunction doesn't respect InputFormat's life cycle methods</li>     <li><a href="/misc/goto?guid=4958993022229844833">FLINK-3803</a>: Checkpoint Stats Tracker Reads from Wrong Configuration</li>     <li><a href="/misc/goto?guid=4958993022320657793">FLINK-3824</a>: ResourceManager may repeatedly connect to outdated JobManager in HA mode</li>     <li><a href="/misc/goto?guid=4958993022415112275">FLINK-3826</a>: Broken test: StreamCheckpointingITCase</li>     <li><a href="/misc/goto?guid=4958993022517861439">FLINK-3835</a>: JSON execution plan not helpful to debug plans with KeySelectors</li>     <li><a href="/misc/goto?guid=4958993022609444458">FLINK-3838</a>: CLI parameter parser is munging application params</li>     <li><a href="/misc/goto?guid=4958993022698410967">FLINK-3840</a>: RocksDB local parent dir is polluted with empty folders with random names</li>     <li><a href="/misc/goto?guid=4958993022803675878">FLINK-3842</a>: Fix handling null record/row in generated code</li>     <li><a href="/misc/goto?guid=4958993022892632949">FLINK-3845</a>: Gelly allows duplicate vertices in Graph.addVertices</li>     <li><a href="/misc/goto?guid=4958993022985230165">FLINK-3846</a>: Graph.removeEdges also removes duplicate edges</li>     <li><a href="/misc/goto?guid=4958993023081224635">FLINK-3860</a>: WikipediaEditsSourceTest.testWikipediaEditsSource times out</li>     <li><a href="/misc/goto?guid=4958993023168783346">FLINK-3863</a>: Yarn Cluster shutdown may fail if leader changed recently</li>     <li><a href="/misc/goto?guid=4958993023263314554">FLINK-3864</a>: Yarn tests don't check for prohibited strings in log output</li>     <li><a href="/misc/goto?guid=4958993023353402804">FLINK-3877</a>: Create TranslateFunction interface for Graph translators</li>     <li><a href="/misc/goto?guid=4958993023447466858">FLINK-3878</a>: File cache doesn't support multiple duplicate temp directories</li>     <li><a href="/misc/goto?guid=4958993023541846370">FLINK-3882</a>: Errors in sample Java code for the Elasticsearch 2.x sink</li>     <li><a href="/misc/goto?guid=4958993023643890396">FLINK-3890</a>: Deprecate streaming mode flag from Yarn CLI</li>     <li><a href="/misc/goto?guid=4958993023732528139">FLINK-3892</a>: ConnectionUtils may die with NullPointerException</li>     <li><a href="/misc/goto?guid=4958993023824646005">FLINK-3893</a>: LeaderChangeStateCleanupTest times out</li>     <li><a href="/misc/goto?guid=4958993023926112676">FLINK-3908</a>: FieldParsers error state is not reset correctly to NONE</li>     <li><a href="/misc/goto?guid=4958993024017907791">FLINK-3909</a>: Maven Failsafe plugin may report SUCCESS on failed tests</li>     <li><a href="/misc/goto?guid=4958993024106755571">FLINK-3914</a>: BlobServer.createTemporaryFilename() has concurrency safety problem</li>     <li><a href="/misc/goto?guid=4958993024200266692">FLINK-3922</a>: Infinite recursion on TypeExtractor</li>     <li><a href="/misc/goto?guid=4958993024292585017">FLINK-3926</a>: Incorrect implementation of getFieldIndex in TupleTypeInfo</li>     <li><a href="/misc/goto?guid=4958993024392483177">FLINK-3927</a>: TaskManager registration may fail if Yarn versions don't match</li>     <li><a href="/misc/goto?guid=4958993024487270753">FLINK-3928</a>: Potential overflow due to 32-bit int arithmetic</li>     <li><a href="/misc/goto?guid=4958993024584282023">FLINK-3933</a>: Add an auto-type-extracting DeserializationSchema</li>     <li><a href="/misc/goto?guid=4958993024669051799">FLINK-3934</a>: Prevent translation of non-equi joins in DataSetJoinRule</li>     <li><a href="/misc/goto?guid=4958993024764234090">FLINK-3935</a>: Invalid check of key and ordering fields in PartitionNode</li>     <li><a href="/misc/goto?guid=4958993024853708267">FLINK-3938</a>: Yarn tests don't run on the current master</li>     <li><a href="/misc/goto?guid=4958993024950639537">FLINK-3939</a>: Prevent distinct aggregates and grouping sets from being translated</li>     <li><a href="/misc/goto?guid=4958993025041630713">FLINK-3944</a>: Add optimization rules to reorder Cartesian products and joins</li>     <li><a href="/misc/goto?guid=4958993025133395985">FLINK-3948</a>: EventTimeWindowCheckpointingITCase Fails with Core Dump</li>     <li><a href="/misc/goto?guid=4958993025226218712">FLINK-3953</a>: Surefire plugin executes unit tests twice</li>     <li><a href="/misc/goto?guid=4958993025319080391">FLINK-3956</a>: Make FileInputFormats independent from Configuration</li>     <li><a href="/misc/goto?guid=4958993025410372187">FLINK-3960</a>: Disable, fix and re-enable EventTimeWindowCheckpointingITCase</li>     <li><a href="/misc/goto?guid=4958993025500855333">FLINK-3962</a>: JMXReporter doesn't properly register/deregister metrics</li>     <li><a href="/misc/goto?guid=4958993025603024983">FLINK-3963</a>: AbstractReporter uses shaded dependency</li>     <li><a href="/misc/goto?guid=4958993025693318418">FLINK-3971</a>: Aggregates handle null values incorrectly.</li>     <li><a href="/misc/goto?guid=4958993025788469908">FLINK-3972</a>: Subclasses of ResourceID may not to be serializable</li>     <li><a href="/misc/goto?guid=4958993025878041027">FLINK-3973</a>: Table API documentation is "hidden" in Programming Guide menu list</li>     <li><a href="/misc/goto?guid=4958993025972708393">FLINK-3974</a>: enableObjectReuse fails when an operator chains to multiple downstream operators</li>     <li><a href="/misc/goto?guid=4958993026072794832">FLINK-3975</a>: Override baseurl when serving docs locally</li>     <li><a href="/misc/goto?guid=4958993026166916395">FLINK-3977</a>: Subclasses of InternalWindowFunction must support OutputTypeConfigurable</li>     <li><a href="/misc/goto?guid=4958993026261729016">FLINK-3981</a>: Don't log duplicate TaskManager registrations as exceptions</li>     <li><a href="/misc/goto?guid=4958993026348470133">FLINK-3982</a>: Multiple ResourceManagers register at JobManager in standalone HA mode</li>     <li><a href="/misc/goto?guid=4958993026433737681">FLINK-3994</a>: Instable KNNITSuite</li>     <li><a href="/misc/goto?guid=4958993026530330904">FLINK-3995</a>: Properly Structure Test Utils and Dependencies</li>     <li><a href="/misc/goto?guid=4958993026618592588">FLINK-4000</a>: Exception: Could not restore checkpointed state to operators and functions; during Job Restart (Job restart is triggered due to one of the task manager failure)</li>     <li><a href="/misc/goto?guid=4958993026714965232">FLINK-4002</a>: [py] Improve testing infraestructure</li>     <li><a href="/misc/goto?guid=4958993026797804396">FLINK-4009</a>: Scala Shell fails to find library for inclusion in test</li>     <li><a href="/misc/goto?guid=4958993026888038636">FLINK-4011</a>: Unable to access completed job in web frontend</li>     <li><a href="/misc/goto?guid=4958993026972486120">FLINK-4012</a>: Docs: Links to "Iterations" are broken (404)</li>     <li><a href="/misc/goto?guid=4958993027064026959">FLINK-4016</a>: FoldApplyWindowFunction is not properly initialized</li>     <li><a href="/misc/goto?guid=4958993027159161192">FLINK-4024</a>: FileSourceFunction not adjusted to new IF lifecycle</li>     <li><a href="/misc/goto?guid=4958993027248456311">FLINK-4027</a>: FlinkKafkaProducer09 sink can lose messages</li>     <li><a href="/misc/goto?guid=4958993027343939030">FLINK-4028</a>: AbstractAlignedProcessingTimeWindowOperator creates wrong TimeWindow</li>     <li><a href="/misc/goto?guid=4958993027432010684">FLINK-4030</a>: ScalaShellITCase gets stuck</li>     <li><a href="/misc/goto?guid=4958993027522366546">FLINK-4031</a>: Nightly Jenkins job doesn't deploy sources</li>     <li><a href="/misc/goto?guid=4958993027616381615">FLINK-4038</a>: Impossible to set more than 1 JVM argument in env.java.opts</li>     <li><a href="/misc/goto?guid=4958993027709536831">FLINK-4040</a>: Same env.java.opts is applied for TM , JM and ZK</li>     <li><a href="/misc/goto?guid=4958993027803105382">FLINK-4041</a>: Failure while asking ResourceManager for RegisterResource</li>     <li><a href="/misc/goto?guid=4958993027903122930">FLINK-4046</a>: Failing a restarting job can get stuck in JobStatus.FAILING</li>     <li><a href="/misc/goto?guid=4958993027993668776">FLINK-4052</a>: Unstable test ConnectionUtilsTest</li>     <li><a href="/misc/goto?guid=4958993028084766037">FLINK-4053</a>: Return value from Connection should be checked against null</li>     <li><a href="/misc/goto?guid=4958993028181401548">FLINK-4056</a>: SavepointITCase.testCheckpointHasBeenRemoved failed on Travis</li>     <li><a href="/misc/goto?guid=4958993028263192145">FLINK-4076</a>: BoltWrapper#dispose() should call AbstractStreamOperator#dispose()</li>     <li><a href="/misc/goto?guid=4958993028354271317">FLINK-4077</a>: Register Pojo DataSet/DataStream as Table requires alias expression.</li>     <li><a href="/misc/goto?guid=4958993028454942971">FLINK-4078</a>: Use ClosureCleaner for CoGroup where</li>     <li><a href="/misc/goto?guid=4958993028551500353">FLINK-4079</a>: YARN properties file used for per-job cluster</li>     <li><a href="/misc/goto?guid=4958993028641816703">FLINK-4083</a>: Use ClosureCleaner for Join where and equalTo</li>     <li><a href="/misc/goto?guid=4958993028725229960">FLINK-4089</a>: Ineffective null check in YarnClusterClient#getApplicationStatus()</li>     <li><a href="/misc/goto?guid=4958993028815295302">FLINK-4090</a>: Close of OutputStream should be in finally clause in FlinkYarnSessionCli#writeYarnProperties()</li>     <li><a href="/misc/goto?guid=4958993028909585612">FLINK-4097</a>: Cassandra Sink throws NPE on closing if server is not available</li>     <li><a href="/misc/goto?guid=4958993029002244266">FLINK-4099</a>: CliFrontendYarnAddressConfigurationTest fails</li>     <li><a href="/misc/goto?guid=4958993029095506159">FLINK-4111</a>: Flink Table & SQL doesn't work in very simple example</li>     <li><a href="/misc/goto?guid=4958993029196276429">FLINK-4113</a>: Always copy first value in ChainedAllReduceDriver</li>     <li><a href="/misc/goto?guid=4958993029285480108">FLINK-4115</a>: FsStateBackend filesystem verification can cause classpath exceptions</li>     <li><a href="/misc/goto?guid=4958993029378679906">FLINK-4122</a>: Cassandra jar contains 2 guava versions</li>     <li><a href="/misc/goto?guid=4958993029472258346">FLINK-4123</a>: CassandraWriteAheadSink can hang on cassandra failure</li>     <li><a href="/misc/goto?guid=4958993029570979684">FLINK-4125</a>: Yarn CLI incorrectly calculates slotsPerTM when parallelism < task manager count</li>     <li><a href="/misc/goto?guid=4958993029662411743">FLINK-4130</a>: CallGenerator could generate illegal code when taking no operands</li>     <li><a href="/misc/goto?guid=4958993029752118427">FLINK-4132</a>: Fix boxed comparison in CommunityDetection algorithm</li>     <li><a href="/misc/goto?guid=4958993029850802045">FLINK-4133</a>: Reflect streaming file source changes in documentation</li>     <li><a href="/misc/goto?guid=4958993029938152498">FLINK-4134</a>: EventTimeSessionWindows trigger for empty windows when dropping late events</li>     <li><a href="/misc/goto?guid=4958993030035916845">FLINK-4139</a>: Yarn: Adjust parallelism and task slots correctly</li>     <li><a href="/misc/goto?guid=4958993030123229503">FLINK-4141</a>: TaskManager failures not always recover when killed during an ApplicationMaster failure in HA mode on Yarn</li>     <li><a href="/misc/goto?guid=4958993030224170755">FLINK-4142</a>: Recovery problem in HA on Hadoop Yarn 2.4.1</li>     <li><a href="/misc/goto?guid=4958993030315035817">FLINK-4144</a>: Yarn properties file: replace hostname/port with Yarn application id</li>     <li><a href="/misc/goto?guid=4958993030408323553">FLINK-4145</a>: JmxReporterTest fails due to port conflicts</li>     <li><a href="/misc/goto?guid=4958993030506574372">FLINK-4146</a>: CliFrontendYarnAddressConfigurationTest picks wrong IP address on Travis</li>     <li><a href="/misc/goto?guid=4958993030603015430">FLINK-4149</a>: Fix Serialization of NFA in AbstractKeyedCEPPatternOperator</li>     <li><a href="/misc/goto?guid=4958993030696497177">FLINK-4150</a>: Problem with Blobstore in Yarn HA setting on recovery after cluster shutdown</li>     <li><a href="/misc/goto?guid=4958993030796160930">FLINK-4152</a>: TaskManager registration exponential backoff doesn't work</li>     <li><a href="/misc/goto?guid=4958993030883098050">FLINK-4154</a>: Correction of murmur hash breaks backwards compatibility</li>     <li><a href="/misc/goto?guid=4958993030968505454">FLINK-4156</a>: Job with -m yarn-cluster registers TaskManagers to another running Yarn session</li>     <li><a href="/misc/goto?guid=4958993031062729152">FLINK-4157</a>: FlinkKafkaMetrics cause TaskManager shutdown during cancellation</li>     <li><a href="/misc/goto?guid=4958993031155298590">FLINK-4158</a>: Scala QuickStart StreamingJob fails to compile</li>     <li><a href="/misc/goto?guid=4958993031248375538">FLINK-4159</a>: Quickstart poms exclude unused dependencies</li>     <li><a href="/misc/goto?guid=4958993031353246991">FLINK-4160</a>: YARN session doesn't show input validation errors</li>     <li><a href="/misc/goto?guid=4958993031440522769">FLINK-4166</a>: Generate automatic different namespaces in Zookeeper for Flink applications</li>     <li><a href="/misc/goto?guid=4958993031534862226">FLINK-4167</a>: TaskMetricGroup does not close IOMetricGroup</li>     <li><a href="/misc/goto?guid=4958993031627271585">FLINK-4168</a>: ForkableFlinkMiniCluster not available in Kinesis connector tests</li>     <li><a href="/misc/goto?guid=4958993031714833587">FLINK-4171</a>: StatsD does not accept metrics whose name contains ":"</li>     <li><a href="/misc/goto?guid=4958993031809253468">FLINK-4172</a>: Don't proxy a ProxiedObject</li>     <li><a href="/misc/goto?guid=4958993031901339306">FLINK-4176</a>: Travis build fails at flink-connector-kinesis for JDK: openjdk7</li>     <li><a href="/misc/goto?guid=4958993032008173383">FLINK-4184</a>: Ganglia and GraphiteReporter report metric names with invalid characters</li>     <li><a href="/misc/goto?guid=4958993032098921966">FLINK-4196</a>: Remove "recoveryTimestamp"</li>     <li><a href="/misc/goto?guid=4958993032189303007">FLINK-4199</a>: Misleading messages by CLI upon job submission</li>     <li><a href="/misc/goto?guid=4958993032278139711">FLINK-4201</a>: Checkpoints for jobs in non-terminal state (e.g. suspended) get deleted</li>     <li><a href="/misc/goto?guid=4958993032371731704">FLINK-4214</a>: JobExceptionsHandler will return all exceptions</li>     <li><a href="/misc/goto?guid=4958993032468501203">FLINK-4216</a>: WordWithCount example with Java has wrong generics type</li>     <li><a href="/misc/goto?guid=4958993032570057242">FLINK-4232</a>: Flink executable does not return correct pid</li>     <li><a href="/misc/goto?guid=4958993032661062618">FLINK-4235</a>: ClassLoaderITCase.testDisposeSavepointWithCustomKvState timed out on Travis</li>     <li><a href="/misc/goto?guid=4958993032752674485">FLINK-4238</a>: Only allow/require query for Tuple Stream in CassandraSink</li>     <li><a href="/misc/goto?guid=4958993032841896440">FLINK-4258</a>: Potential null pointer dereference in SavepointCoordinator#onFullyAcknowledgedCheckpoint</li>     <li><a href="/misc/goto?guid=4958993032934648930">FLINK-4261</a>: Setup atomic deployment of snapshots</li>     <li><a href="/misc/goto?guid=4958993033036803327">FLINK-4277</a>: TaskManagerConfigurationTest fails</li>     <li><a href="/misc/goto?guid=4958993033131713229">FLINK-4284</a>: DataSet/CEP link to non-existant "Linking with Flink" section</li>     <li><a href="/misc/goto?guid=4958993033223965889">FLINK-4296</a>: Scheduler accepts more tasks than it has task slots available</li>     <li><a href="/misc/goto?guid=4958993033312773330">FLINK-4307</a>: Broken user-facing API for ListState</li>    </ul>    <h3>改进</h3>    <ul>     <li><a href="/misc/goto?guid=4958993033402423678">FLINK-1827</a>: Move test classes in test folders and fix scope of test dependencies</li>     <li><a href="/misc/goto?guid=4958993033495282616">FLINK-1991</a>: Return Table as DataSet<Tuple></li>     <li><a href="/misc/goto?guid=4958993033592655837">FLINK-1996</a>: Add output methods to Table API</li>     <li><a href="/misc/goto?guid=4958993033683539379">FLINK-2227</a>: .yarn-properties file is not cleaned up</li>     <li><a href="/misc/goto?guid=4958993033773591693">FLINK-2522</a>: Integrate Streaming Api into Flink-scala-shell</li>     <li><a href="/misc/goto?guid=4958993033878497410">FLINK-2788</a>: Add type hint with TypeExtactor call on Hint Type</li>     <li><a href="/misc/goto?guid=4958993033971030656">FLINK-2829</a>: Confusing error message when Flink cannot create enough task threads</li>     <li><a href="/misc/goto?guid=4958993034056512930">FLINK-2929</a>: Recovery of jobs on cluster restarts</li>     <li><a href="/misc/goto?guid=4958993034148129499">FLINK-2935</a>: Allow scala shell to read yarn properties</li>     <li><a href="/misc/goto?guid=4958993034241386000">FLINK-2985</a>: Allow different field names for unionAll() in Table API</li>     <li><a href="/misc/goto?guid=4958993034346568613">FLINK-3115</a>: Update Elasticsearch connector to 2.X</li>     <li><a href="/misc/goto?guid=4958993034435450220">FLINK-3152</a>: Support all comparisons for Date type</li>     <li><a href="/misc/goto?guid=4958993034530150046">FLINK-3153</a>: Support all comparisons for String type</li>     <li><a href="/misc/goto?guid=4958993034627187441">FLINK-3174</a>: Add merging WindowAssigner</li>     <li><a href="/misc/goto?guid=4958993034725987127">FLINK-3272</a>: Generalize vertex value type in ConnectedComponents</li>     <li><a href="/misc/goto?guid=4958993034813368387">FLINK-3323</a>: Add documentation for NiFi connector</li>     <li><a href="/misc/goto?guid=4958993034898823534">FLINK-3332</a>: Provide an exactly-once Cassandra connector</li>     <li><a href="/misc/goto?guid=4958993035001655511">FLINK-3375</a>: Allow Watermark Generation in the Kafka Source</li>     <li><a href="/misc/goto?guid=4958993035088982612">FLINK-3383</a>: Separate Maven deployment from CI testing</li>     <li><a href="/misc/goto?guid=4958993035180793736">FLINK-3405</a>: Extend NiFiSource with interface StoppableFunction</li>     <li><a href="/misc/goto?guid=4958993035274205788">FLINK-3407</a>: Extend 推terSource with interface StoppableFunction</li>     <li><a href="/misc/goto?guid=4958993035371642544">FLINK-3428</a>: Add fixed time trailing timestamp/watermark extractor</li>     <li><a href="/misc/goto?guid=4958993035468408628">FLINK-3461</a>: Remove duplicate condition check in ZooKeeperLeaderElectionService</li>     <li><a href="/misc/goto?guid=4958993035558459308">FLINK-3467</a>: Remove superfluous objects from DataSourceTask.invoke</li>     <li><a href="/misc/goto?guid=4958993035662139516">FLINK-3469</a>: Improve documentation for grouping keys</li>     <li><a href="/misc/goto?guid=4958993035754028375">FLINK-3487</a>: FilterAggregateTransposeRule does not transform logical plan as desired.</li>     <li><a href="/misc/goto?guid=4958993035843999320">FLINK-3503</a>: ProjectJoinTransposeRule fails to push down project.</li>     <li><a href="/misc/goto?guid=4958993035941024633">FLINK-3506</a>: ReduceExpressionsRule does not remove duplicate expression in Filter</li>     <li><a href="/misc/goto?guid=4958993036029651939">FLINK-3507</a>: PruneEmptyRules does not prune empty node as expected.</li>     <li><a href="/misc/goto?guid=4958993036130268554">FLINK-3524</a>: Provide a JSONDeserialisationSchema in the kafka connector package</li>     <li><a href="/misc/goto?guid=4958993036223969673">FLINK-3535</a>: Decrease logging verbosity of StackTraceSampleCoordinator</li>     <li><a href="/misc/goto?guid=4958993036313731925">FLINK-3541</a>: Clean up workaround in FlinkKafkaConsumer09</li>     <li><a href="/misc/goto?guid=4958993036409251606">FLINK-3559</a>: Don't print pid file check if no active PID</li>     <li><a href="/misc/goto?guid=4958993036499201495">FLINK-3560</a>: Examples shouldn't always print usage statement</li>     <li><a href="/misc/goto?guid=4958993036591591382">FLINK-3570</a>: Replace random NIC selection heuristic by InetAddress.getLocalHost</li>     <li><a href="/misc/goto?guid=4958993036683255843">FLINK-3575</a>: Update Working With State Section in Doc</li>     <li><a href="/misc/goto?guid=4958993036788023353">FLINK-3589</a>: Allow setting Operator parallelism to default value</li>     <li><a href="/misc/goto?guid=4958993036880059394">FLINK-3590</a>: JDBC Format tests don't hide derby logs</li>     <li><a href="/misc/goto?guid=4958993036970639062">FLINK-3591</a>: Replace Quickstart K-Means Example by Streaming Example</li>     <li><a href="/misc/goto?guid=4958993037062659131">FLINK-3596</a>: DataSet RelNode refactoring</li>     <li><a href="/misc/goto?guid=4958993037148164899">FLINK-3597</a>: Table API operator names should reflect relational expression</li>     <li><a href="/misc/goto?guid=4958993037236520378">FLINK-3603</a>: Re-enable Table API explain</li>     <li><a href="/misc/goto?guid=4958993037332272621">FLINK-3604</a>: Enable ignored Table API tests</li>     <li><a href="/misc/goto?guid=4958993037421282270">FLINK-3607</a>: Decrease default forkCount for tests</li>     <li><a href="/misc/goto?guid=4958993037516025081">FLINK-3614</a>: Remove Non-Keyed Window Operator</li>     <li><a href="/misc/goto?guid=4958993037605353218">FLINK-3618</a>: Rename abstract UDF classes in Scatter-Gather implementation</li>     <li><a href="/misc/goto?guid=4958993037698844090">FLINK-3623</a>: Adjust MurmurHash algorithm</li>     <li><a href="/misc/goto?guid=4958993037796142892">FLINK-3632</a>: Clean up Table API exceptions</li>     <li><a href="/misc/goto?guid=4958993037894050758">FLINK-3634</a>: Fix documentation for DataSetUtils.zipWithUniqueId()</li>     <li><a href="/misc/goto?guid=4958993037981997988">FLINK-3637</a>: Change RollingSink Writer interface to allow wider range of outputs</li>     <li><a href="/misc/goto?guid=4958993038075639556">FLINK-3641</a>: Document registerCachedFile API call</li>     <li><a href="/misc/goto?guid=4958993038173518236">FLINK-3649</a>: Document stable API methods maxBy/minBy</li>     <li><a href="/misc/goto?guid=4958993038263421827">FLINK-3650</a>: Add maxBy/minBy to Scala DataSet API</li>     <li><a href="/misc/goto?guid=4958993038354994824">FLINK-3654</a>: Disable Write-Ahead-Log in RocksDB State</li>     <li><a href="/misc/goto?guid=4958993038450451325">FLINK-3657</a>: Change access of DataSetUtils.countElements() to 'public'</li>     <li><a href="/misc/goto?guid=4958993038539406003">FLINK-3658</a>: Allow the FlinkKafkaProducer to send data to multiple topics</li>     <li><a href="/misc/goto?guid=4958993038627750574">FLINK-3664</a>: Create a method to easily Summarize a DataSet</li>     <li><a href="/misc/goto?guid=4958993038724527703">FLINK-3665</a>: Range partitioning lacks support to define sort orders</li>     <li><a href="/misc/goto?guid=4958993038816688402">FLINK-3666</a>: Remove Nephele references</li>     <li><a href="/misc/goto?guid=4958993038911970521">FLINK-3667</a>: Generalize client<->cluster communication</li>     <li><a href="/misc/goto?guid=4958993039000614373">FLINK-3678</a>: Make Flink logs directory configurable</li>     <li><a href="/misc/goto?guid=4958993039103811384">FLINK-3691</a>: Extend AvroInputFormat to support Avro GenericRecord</li>     <li><a href="/misc/goto?guid=4958993039193724798">FLINK-3700</a>: Replace Guava Preconditions class with Flink Preconditions</li>     <li><a href="/misc/goto?guid=4958993039285296105">FLINK-3736</a>: Move toRexNode and toAggCall logic into Expressions</li>     <li><a href="/misc/goto?guid=4958993039373775686">FLINK-3739</a>: Add a null literal to Table API</li>     <li><a href="/misc/goto?guid=4958993039461008469">FLINK-3747</a>: Consolidate TimestampAssigner Methods in Kafka Consumer</li>     <li><a href="/misc/goto?guid=4958993039556188634">FLINK-3750</a>: Make JDBCInputFormat a parallel source</li>     <li><a href="/misc/goto?guid=4958993039643848514">FLINK-3752</a>: Add Per-Kafka-Partition Watermark Generation to the docs</li>     <li><a href="/misc/goto?guid=4958993039742443713">FLINK-3754</a>: Add a validation phase before construct RelNode using TableAPI</li>     <li><a href="/misc/goto?guid=4958993039830185072">FLINK-3763</a>: RabbitMQ Source/Sink standardize connection parameters</li>     <li><a href="/misc/goto?guid=4958993039916264153">FLINK-3770</a>: Fix TriangleEnumerator performance</li>     <li><a href="/misc/goto?guid=4958993040004061080">FLINK-3776</a>: Flink Scala shell does not allow to set configuration for local execution</li>     <li><a href="/misc/goto?guid=4958993040096768345">FLINK-3794</a>: Add checks for unsupported operations in streaming table API</li>     <li><a href="/misc/goto?guid=4958993040184985504">FLINK-3799</a>: Graph checksum should execute single job</li>     <li><a href="/misc/goto?guid=4958993040279787218">FLINK-3804</a>: Update YARN documentation</li>     <li><a href="/misc/goto?guid=4958993040364509472">FLINK-3806</a>: Revert use of DataSet.count() in Gelly</li>     <li><a href="/misc/goto?guid=4958993040457044760">FLINK-3811</a>: Refactor ExecutionEnvironment in TableEnvironment</li>     <li><a href="/misc/goto?guid=4958993040549622177">FLINK-3815</a>: Replace Guava Preconditions usage in flink-gelly</li>     <li><a href="/misc/goto?guid=4958993040639560085">FLINK-3816</a>: Replace Guava Preconditions usage in flink-clients</li>     <li><a href="/misc/goto?guid=4958993040728601430">FLINK-3817</a>: Remove unused Guava dependency from RocksDB StateBackend</li>     <li><a href="/misc/goto?guid=4958993040819202067">FLINK-3818</a>: Remove Guava dependency from flink-gelly-examples</li>     <li><a href="/misc/goto?guid=4958993040916029581">FLINK-3819</a>: Replace Guava Preconditions usage in flink-gelly-scala</li>     <li><a href="/misc/goto?guid=4958993041007833736">FLINK-3821</a>: Reduce Guava usage in flink-java</li>     <li><a href="/misc/goto?guid=4958993041086226630">FLINK-3853</a>: Reduce object creation in Gelly utility mappers</li>     <li><a href="/misc/goto?guid=4958993041182335414">FLINK-3854</a>: Support Avro key-value rolling sink writer</li>     <li><a href="/misc/goto?guid=4958993041273678113">FLINK-3855</a>: Upgrade Jackson version</li>     <li><a href="/misc/goto?guid=4958993041369194507">FLINK-3868</a>: Specialized CopyableValue serializers and comparators</li>     <li><a href="/misc/goto?guid=4958993041458664533">FLINK-3876</a>: Improve documentation of Scala Shell</li>     <li><a href="/misc/goto?guid=4958993041545826474">FLINK-3880</a>: Improve performance of Accumulator map</li>     <li><a href="/misc/goto?guid=4958993041634933134">FLINK-3886</a>: Give a better error when the application Main class is not public.</li>     <li><a href="/misc/goto?guid=4958993041717934848">FLINK-3887</a>: Improve dependency management for building docs</li>     <li><a href="/misc/goto?guid=4958993041810617179">FLINK-3891</a>: Add a class containing all supported Table API types</li>     <li><a href="/misc/goto?guid=4958993041902188463">FLINK-3900</a>: Set nullCheck=true as default in TableConfig</li>     <li><a href="/misc/goto?guid=4958993041998853415">FLINK-3901</a>: Create a RowCsvInputFormat to use as default CSV IF in Table API</li>     <li><a href="/misc/goto?guid=4958993042088802999">FLINK-3912</a>: Typos in Batch Scala API Documentation</li>     <li><a href="/misc/goto?guid=4958993042173779530">FLINK-3913</a>: Clean up documentation typos</li>     <li><a href="/misc/goto?guid=4958993042260507215">FLINK-3916</a>: Allow generic types passing the Table API</li>     <li><a href="/misc/goto?guid=4958993042355887428">FLINK-3936</a>: Add MIN / MAX aggregations function for BOOLEAN types</li>     <li><a href="/misc/goto?guid=4958993042450137699">FLINK-3937</a>: Make flink cli list, savepoint, cancel and stop work on Flink-on-YARN clusters</li>     <li><a href="/misc/goto?guid=4958993042544412284">FLINK-3945</a>: Degree annotation for directed graphs</li>     <li><a href="/misc/goto?guid=4958993042638024531">FLINK-3955</a>: Change Table.toSink() to Table.writeToSink()</li>     <li><a href="/misc/goto?guid=4958993042736789588">FLINK-3978</a>: Add hasBroadcastVariable method to RuntimeContext</li>     <li><a href="/misc/goto?guid=4958993042828915521">FLINK-3979</a>: [documentation]add missed import classes in run_example_quickstart</li>     <li><a href="/misc/goto?guid=4958993042920595811">FLINK-3980</a>: Remove ExecutionConfig.PARALLELISM_UNKNOWN</li>     <li><a href="/misc/goto?guid=4958993043011367401">FLINK-3993</a>: [py] Add generateSequence() support to Python API</li>     <li><a href="/misc/goto?guid=4958993043102510208">FLINK-4003</a>: Use intrinsics for MathUtils logarithms</li>     <li><a href="/misc/goto?guid=4958993043195533325">FLINK-4017</a>: [py] Add Aggregation support to Python API</li>     <li><a href="/misc/goto?guid=4958993043287714628">FLINK-4025</a>: Add possiblity for the RMQ Streaming Source to customize the queue</li>     <li><a href="/misc/goto?guid=4958993043377298741">FLINK-4026</a>: Fix code, grammar, and link issues in the Streaming documentation</li>     <li><a href="/misc/goto?guid=4958993043473999635">FLINK-4032</a>: Replace all usage of Guava Preconditions</li>     <li><a href="/misc/goto?guid=4958993043565473254">FLINK-4049</a>: Mark RichInputFormat.openInputFormat and closeInputFormat as @PublicEvolving</li>     <li><a href="/misc/goto?guid=4958993043652860103">FLINK-4054</a>: Inconsistent Reporter synchronization within report()</li>     <li><a href="/misc/goto?guid=4958993043756107629">FLINK-4063</a>: Add Metrics Support for Triggers</li>     <li><a href="/misc/goto?guid=4958993043845827276">FLINK-4066</a>: RabbitMQ source, customize queue arguments</li>     <li><a href="/misc/goto?guid=4958993043938327651">FLINK-4067</a>: Add version header to savepoints</li>     <li><a href="/misc/goto?guid=4958993044038613299">FLINK-4070</a>: Support literals on left side of binary expressions</li>     <li><a href="/misc/goto?guid=4958993044132586750">FLINK-4074</a>: Reporter can block TaskManager shutdown</li>     <li><a href="/misc/goto?guid=4958993044219876267">FLINK-4082</a>: Add Setting for LargeRecordHandler</li>     <li><a href="/misc/goto?guid=4958993044322631520">FLINK-4086</a>: Hide internal Expression methods from Table API</li>     <li><a href="/misc/goto?guid=4958993044410624193">FLINK-4087</a>: JMXReporter can't handle port conflicts</li>     <li><a href="/misc/goto?guid=4958993044513290497">FLINK-4093</a>: Expose metric interfaces</li>     <li><a href="/misc/goto?guid=4958993044601567457">FLINK-4095</a>: Add configDir argument to shell scripts</li>     <li><a href="/misc/goto?guid=4958993044689394374">FLINK-4103</a>: Modify CsvTableSource to implement StreamTableSource</li>     <li><a href="/misc/goto?guid=4958993044791883524">FLINK-4105</a>: Restructure Gelly docs</li>     <li><a href="/misc/goto?guid=4958993044890229408">FLINK-4106</a>: Restructure Gelly docs</li>     <li><a href="/misc/goto?guid=4958993044983518405">FLINK-4107</a>: Restructure Gelly docs</li>     <li><a href="/misc/goto?guid=4958993045071908721">FLINK-4109</a>: Change the name of ternary condition operator 'eval' to '?'</li>     <li><a href="/misc/goto?guid=4958993045165188133">FLINK-4116</a>: Document metrics</li>     <li><a href="/misc/goto?guid=4958993045259662671">FLINK-4118</a>: The docker-flink image is outdated (1.0.2) and can be slimmed down</li>     <li><a href="/misc/goto?guid=4958993045353217457">FLINK-4119</a>: Null checks in close() for Cassandra Input/Output Formats, checking arguments via Flink Preconditions</li>     <li><a href="/misc/goto?guid=4958993045444849432">FLINK-4121</a>: Add timeunit (ms) to docs for timestamps and watermarks</li>     <li><a href="/misc/goto?guid=4958993045539333240">FLINK-4127</a>: Clean up configuration and check breaking API changes</li>     <li><a href="/misc/goto?guid=4958993045647067816">FLINK-4135</a>: Replace ChecksumHashCode as GraphAnalytic</li>     <li><a href="/misc/goto?guid=4958993045739655622">FLINK-4170</a>: Remove <code>CONFIG_</code> prefix from KinesisConfigConstants variables</li>     <li><a href="/misc/goto?guid=4958993045830280455">FLINK-4183</a>: Move checking for StreamTableEnvironment into validation layer</li>     <li><a href="/misc/goto?guid=4958993045922256442">FLINK-4185</a>: Reflecting rename from Tachyon to Alluxio</li>     <li><a href="/misc/goto?guid=4958993046017536884">FLINK-4186</a>: Expose Kafka metrics through Flink metrics</li>     <li><a href="/misc/goto?guid=4958993046114764294">FLINK-4192</a>: Move Metrics API to separate module</li>     <li><a href="/misc/goto?guid=4958993046211351925">FLINK-4197</a>: Allow Kinesis Endpoint to be Overridden via Config</li>     <li><a href="/misc/goto?guid=4958993046307341921">FLINK-4202</a>: Add JM metric which shows the restart duration</li>     <li><a href="/misc/goto?guid=4958993046400962807">FLINK-4206</a>: Metric names should allow special characters</li>     <li><a href="/misc/goto?guid=4958993046487293661">FLINK-4209</a>: Fix issue on docker with multiple NICs and remove supervisord dependency</li>     <li><a href="/misc/goto?guid=4958993046581650013">FLINK-4210</a>: Move close()/isClosed() out of MetricGroup interface</li>     <li><a href="/misc/goto?guid=4958993046682370137">FLINK-4229</a>: Do not start Metrics Reporter by default</li>     <li><a href="/misc/goto?guid=4958993046779818253">FLINK-4244</a>: Field names for union operator do not have to be equal</li>     <li><a href="/misc/goto?guid=4958993046865162494">FLINK-4246</a>: Allow Specifying Multiple Metrics Reporters</li>     <li><a href="/misc/goto?guid=4958993046964524010">FLINK-4269</a>: Decrease log level in RuntimeMonitorHandler</li>     <li><a href="/misc/goto?guid=4958993047050113842">FLINK-4279</a>: [py] Set flink dependencies to provided</li>     <li><a href="/misc/goto?guid=4958993047141640744">FLINK-4299</a>: Show loss of job manager in Client</li>    </ul>    <h3>新特性</h3>    <ul>     <li><a href="/misc/goto?guid=4958993047236150876">FLINK-1745</a>: Add exact k-nearest-neighbours algorithm to machine learning library</li>     <li><a href="/misc/goto?guid=4958993047326275300">FLINK-2044</a>: Implementation of Gelly HITS Algorithm</li>     <li><a href="/misc/goto?guid=4958993047419786677">FLINK-2099</a>: Add a SQL API</li>     <li><a href="/misc/goto?guid=4958993047510805202">FLINK-2166</a>: Add fromCsvFile() to TableEnvironment</li>     <li><a href="/misc/goto?guid=4958993047607712117">FLINK-2828</a>: Add interfaces for Table API input formats</li>     <li><a href="/misc/goto?guid=4958993047711887789">FLINK-2909</a>: Gelly Graph Generators</li>     <li><a href="/misc/goto?guid=4958993047797067370">FLINK-2946</a>: Add orderBy() to Table API</li>     <li><a href="/misc/goto?guid=4958993047896985658">FLINK-2971</a>: Add outer joins to the Table API</li>     <li><a href="/misc/goto?guid=4958993047996321895">FLINK-2997</a>: Support range partition with user customized data distribution.</li>     <li><a href="/misc/goto?guid=4958993048085330045">FLINK-2998</a>: Support range partition comparison for multi input nodes.</li>     <li><a href="/misc/goto?guid=4958993048174059814">FLINK-3034</a>: Redis SInk Connector</li>     <li><a href="/misc/goto?guid=4958993048270309449">FLINK-3068</a>: Add a Table API configuration to TableEnvironment</li>     <li><a href="/misc/goto?guid=4958993048359216556">FLINK-3207</a>: Add a Pregel iteration abstraction to Gelly</li>     <li><a href="/misc/goto?guid=4958993048459734899">FLINK-3311</a>: Add a connector for streaming data into Cassandra</li>     <li><a href="/misc/goto?guid=4958993048551723893">FLINK-3543</a>: Introduce ResourceManager component</li>     <li><a href="/misc/goto?guid=4958993048643987948">FLINK-3546</a>: Streaming Table API</li>     <li><a href="/misc/goto?guid=4958993048743198806">FLINK-3564</a>: Implement distinct() for Table API</li>     <li><a href="/misc/goto?guid=4958993048829667811">FLINK-3626</a>: zipWithIndex in Python API</li>     <li><a href="/misc/goto?guid=4958993048925347373">FLINK-3639</a>: Add methods and utilities to register DataSets and Tables in the TableEnvironment</li>     <li><a href="/misc/goto?guid=4958993049014460668">FLINK-3640</a>: Add support for SQL queries in DataSet programs</li>     <li><a href="/misc/goto?guid=4958993049115182459">FLINK-3721</a>: Min and max accumulators</li>     <li><a href="/misc/goto?guid=4958993049207622579">FLINK-3768</a>: Clustering Coefficient</li>     <li><a href="/misc/goto?guid=4958993049297542483">FLINK-3771</a>: Methods for translating Graphs</li>     <li><a href="/misc/goto?guid=4958993049393815096">FLINK-3772</a>: Graph algorithms for vertex and edge degree</li>     <li><a href="/misc/goto?guid=4958993049489038371">FLINK-3780</a>: Jaccard Similarity</li>     <li><a href="/misc/goto?guid=4958993049576105375">FLINK-3786</a>: Add BigDecimal and BigInteger as Basic types</li>     <li><a href="/misc/goto?guid=4958993049673612009">FLINK-3856</a>: Create types for java.sql.Date/Time/Timestamp</li>     <li><a href="/misc/goto?guid=4958993049771262154">FLINK-3859</a>: Add BigDecimal/BigInteger support to Table API</li>     <li><a href="/misc/goto?guid=4958993049861891455">FLINK-3872</a>: Add Kafka TableSource with JSON serialization</li>     <li><a href="/misc/goto?guid=4958993049955662712">FLINK-3879</a>: Native implementation of HITS algorithm</li>     <li><a href="/misc/goto?guid=4958993050050504806">FLINK-3898</a>: Adamic-Adar Similarity</li>     <li><a href="/misc/goto?guid=4958993050136760463">FLINK-3906</a>: Global Clustering Coefficient</li>     <li><a href="/misc/goto?guid=4958993050234112384">FLINK-3907</a>: Directed Clustering Coefficient</li>     <li><a href="/misc/goto?guid=4958993050326500058">FLINK-3919</a>: Distributed Linear Algebra: row-based matrix</li>     <li><a href="/misc/goto?guid=4958993050413512928">FLINK-3925</a>: GraphAlgorithm to filter by maximum degree</li>     <li><a href="/misc/goto?guid=4958993050512464691">FLINK-3941</a>: Add support for UNION (with duplicate elimination)</li>     <li><a href="/misc/goto?guid=4958993050603056748">FLINK-3942</a>: Add support for INTERSECT</li>     <li><a href="/misc/goto?guid=4958993050694218157">FLINK-3943</a>: Add support for EXCEPT (set minus)</li>     <li><a href="/misc/goto?guid=4958993050786461422">FLINK-3965</a>: Delegating GraphAlgorithm</li>     <li><a href="/misc/goto?guid=4958993050887770825">FLINK-4013</a>: GraphAlgorithms to simplify directed and undirected graphs</li>    </ul>    <h3>Task</h3>    <ul>     <li><a href="/misc/goto?guid=4958993050978370498">FLINK-3139</a>: NULL values handling in Table API</li>     <li><a href="/misc/goto?guid=4958993051071243168">FLINK-3221</a>: Move Table API on top of Apache Calcite</li>     <li><a href="/misc/goto?guid=4958993051165938881">FLINK-3609</a>: Revisit selection of Calcite rules</li>     <li><a href="/misc/goto?guid=4958993051259414050">FLINK-3738</a>: Refactor TableEnvironment and TranslationContext</li>     <li><a href="/misc/goto?guid=4958993051358508507">FLINK-3743</a>: Upgrade breeze from 0.11.2 to 0.12</li>     <li><a href="/misc/goto?guid=4958993051451737891">FLINK-3847</a>: Reorganize package structure of flink-table</li>     <li><a href="/misc/goto?guid=4958993051546651461">FLINK-3852</a>: Use a StreamExecutionEnvironment in the quickstart job skeleton</li>    </ul>    <h3>Test</h3>    <ul>     <li><a href="/misc/goto?guid=4958993051639817304">FLINK-2100</a>: Add ITCases for all Table API examples</li>     <li><a href="/misc/goto?guid=4958993051735981833">FLINK-2444</a>: Add tests for HadoopInputFormats</li>     <li><a href="/misc/goto?guid=4958993051823136355">FLINK-2445</a>: Add tests for HadoopOutputFormats</li>     <li><a href="/misc/goto?guid=4958993051917077570">FLINK-3517</a>: Number of job and task managers not checked in scripts</li>     <li><a href="/misc/goto?guid=4958993052016221586">FLINK-3782</a>: ByteArrayOutputStream and ObjectOutputStream should close</li>     <li><a href="/misc/goto?guid=4958993052115246606">FLINK-4010</a>: Scala Shell tests may fail because of a locked STDIN</li>     <li><a href="/misc/goto?guid=4958993052206340921">FLINK-4230</a>: Session Windowing IT Case</li>    </ul>    <h3>Wish</h3>    <ul>     <li><a href="/misc/goto?guid=4958993052293999889">FLINK-2673</a>: Scala API does not support Option type as key</li>    </ul>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958992900712867258" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958992900831305495" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>     <li><a href="/misc/goto?guid=4958993052457630733">官方下载</a></li>    </ul>    <p> </p>    <p>本站原创,转载时保留以下信息:<br /> 本文转自:深度开源(open-open.com)<br /> 原文地址:<a href="http://www.open-open.com/news/view/3123c604">http://www.open-open.com/news/view/3123c604</a></p>    <h2> </h2>