天天看点

[Spark版本更新]--2.2.1发行说明

2017年12月01日,Spark官方进行了一次大版本升级。相关的发行说明如下:

子任务

  • [ ​​SPARK-21083​​ ] - 分析空表后存储零大小和行数
  • [ ​​SPARK-21489​​ ] - 更新发布文档指出Python 2.6的支持已被删除。
  • [ ​​SPARK-21720​​ ] - 用很多条件筛选谓词抛出stackoverflow错误
  • [ ​​SPARK-22494​​ ] - 合并和AtLeastNNonNulls可能导致64KB JVM字节码限制异常
  • [ ​​SPARK-22498​​ ] - 64KB JVM字节码限制与concat的问题
  • [ ​​SPARK-22499​​ ] - 最小和最大的64KB JVM字节码限制问题
  • [ ​​SPARK-22500​​ ] - 64KB JVM字节码限制问题
  • [ ​​SPARK-22501​​ ] - 64KB JVM字节码限制问题
  • [ ​​SPARK-22508​​ ] - 64KB JVM字节码限制与GenerateUnsafeRowJoiner.create()
  • [ ​​SPARK-22549​​​ ] - ​​concat_ws有​​ 64KB JVM字节码限制问题
  • [ ​​SPARK-22550​​ ] - elt的64KB JVM字节码限制问题

修复的Bug

  • [ ​​SPARK-​​ 12717] - 使用多个线程时,pyspark广播失败
  • [ ​​SPARK-14387​​ ] - 启用Hive-1.x ORC与spark.sql.hive.convertMetastoreOrc的兼容性
  • [ ​​SPARK-15757​​ ] - 在配置单元文件“插入覆盖tb1 select * from sourcTb”之后,在orc文件上使用Spark sql“select”
  • [ ​​SPARK-16605​​ ] - Spark2.0不能从存储为配置单元或spark1.6支持的配置单元文件存储的表中选择数据
  • [ ​​SPARK-16628​​ ] - 如果Metastore模式与ORC文件中存储的模式不匹配,则OrcConversions不应将MetastoreRelation表示的ORC表转换为HadoopFsRelation
  • [ ​​SPARK-17902​​ ] - collect()忽略stringsAsFactors
  • [ ​​SPARK-17920​​ ] - HiveWriterContainer将空配置传递给serde.initialize,在使用avro.schema.url时在AvroSerde中导致NullPointerException
  • [ ​​SPARK-18355​​ ] - Spark SQL无法从添加了新列的ORC配置表格中读取数据
  • [ ​​SPARK-18608​​ ] - Spark ML算法,用于检查内部缓存双缓存数据的RDD缓存级别
  • [ ​​SPARK-19106​​ ] - 配置文档的样式已损坏
  • [ ​​SPARK-19580​​ ] - 在写入配置单元表时支持avro.schema.url
  • [ ​​SPARK-19644​​ ] - Spark Streaming中的内存泄漏(编码器/ Scala反射)
  • [ ​​SPARK-20098​​ ] - 在StructField的情况下,DataType的typeName方法返回'StructF'
  • [ ​​SPARK-20256​​ ] - 当用户不具有对Hive Metastore仓库的读/写权限时,启动Hive支持时无法启动SparkContext / SparkSession
  • [ ​​SPARK-20342​​ ] - DAGScheduler在更新任务的累加器之前发送SparkListenerTaskEnd
  • [ ​​SPARK-20466​​ ] - HadoopRDD#addLocalConfiguration引发NPE
  • [ ​​SPARK-20904​​ ] - 关机期间的任务失败导致抢先执行程序出现问题
  • [ ​​SPARK-21170​​ ] - Utils.tryWithSafeFinallyAndFailureCallbacks抛出IllegalArgumentException:不允许自我抑制
  • [ ​​SPARK-21219​​ ] - 由于与黑名单的竞争条件,任务重试发生在同一执行器上
  • [ ​​SPARK-21228​​ ] - InSet处理不正确的结构
  • [ ​​SPARK-21254​​​ ] - 历史界面:初始页面显示​​花费​​ 1分钟
  • [ ​​SPARK-21272​​ ] - SortMergeJoin LeftAnti不更新numOutputRows
  • [ ​​SPARK-21300​​ ] - 在转换为内部值之前,ExternalMapToCatalyst应该空映射密钥。
  • [ ​​SPARK-21306​​ ] - OneVsRest隐藏可能与分类器相关的列
  • [ ​​SPARK-21312​​ ] - UnsafeRow writeToStream具有不正确的offsetInByteArray计算非零偏移量
  • [ ​​SPARK-21330​​ ] - 分区错误不允许在分区列上读取极端值的JDBC表
  • [ ​​SPARK-21332​​ ] - 针对某些小数表达式推断的结果类型错误
  • [ ​​SPARK-21333​​ ] - joinWith文档和分析允许无效的连接类型
  • [ ​​SPARK-21339​​ ] - spark-shell --packages选项不会将jar添加到Windows上的classpath
  • [ ​​SPARK-21342​​ ] - 修复DownloadCallback与RetryingBlockFetcher配合使用
  • [ ​​SPARK-21343​​ ] - 优化文档spark.reducer.maxReqSizeShuffleToMem
  • [ ​​SPARK-21344​​ ] - BinaryType比较有签名的字节数组比较
  • [ ​​SPARK-21345​​ ] - SparkSessionBuilderSuite应该清理停止的会话
  • [ ​​SPARK-21369​​ ] - 不要在外部洗牌服务中使用Scala类
  • [ ​​SPARK-21374​​ ] - 如果文件系统缓存被禁用,则从S3读入全局路径到DF不起作用
  • [ ​​SPARK-21376​​ ] - 在群集模式下,不会在纱线客户端进程中更新令牌
  • [ ​​SPARK-21383​​ ] - YARN可以分配太多的执行者
  • [ ​​SPARK-21384​​ ] - 不带spark.yarn.jars的Spark 2.2 + YARN / spark.yarn.archive失败
  • [ ​​SPARK-21414​​ ] - 虽然窗口很小,但SlidingWindowFunctionFrame中的缓冲区可能很大
  • [ ​​SPARK-21418​​ ] - 使用sun.io.serialization.extendedDebugInfo = true的DataSourceScanExec中的NoSuchElementException:None.get
  • [ ​​SPARK-21441​​ ] - 在某些情况下,SortMergeJoinExec中的Codegen不正确导致失败
  • [ ​​SPARK-21445​​ ] - 由UTF8String.IntWrapper抛出的NotSerializableException异常
  • [ ​​SPARK-21446​​ ] - [SQL] JDBC Postgres fetchsize参数再次被忽略
  • [ ​​SPARK-21447​​ ] - 在某些情况下,Spark历史记录服务器无法呈现压缩的正在进行的历史记录文件。
  • [ ​​SPARK-21457​​ ] - ExternalCatalog.listPartitions应该正确处理带有点的分区值
  • [ ​​SPARK-21494​​ ] - Spark 2.2.0 AES加密不适用于外部shuffle
  • [ ​​SPARK-21503​​ ] - Spark UI显示死亡的Executor进程不正确的任务状态
  • [ ​​SPARK-21508​​ ] - 关于“Spark Streaming Custom Receivers”的文档在示例代码中有错误
  • [ ​​SPARK-21522​​ ] - 片状测试:LauncherServerSuite.testStreamFiltering
  • [ ​​SPARK-21523​​ ] - 修复强大的wolfe linesearch`init`参数失效的问题
  • [ ​​SPARK-21546​​ ] - dropDuplicates与水印产生由于绑定失败的RuntimeException
  • [ ​​SPARK-21549​​ ] - 如果OutputFormat不能写入hdfs,则Spark无法正确完成作业
  • [ ​​SPARK-21551​​ ] - getaddrinfo太慢时,pyspark的收集失败
  • [ ​​SPARK-21555​​ ] - GROUP BY不适用于带有NVL和嵌套对象的表达式
  • [ ​​SPARK-21563​​ ] - 序列化TaskDescriptions和添加jar时的竞态条件
  • [ ​​SPARK-21565​​ ] - 聚合查询在eventTime上失败并带有水印,但在由current_timestamp生成的时间戳列上使用水印
  • [ ​​SPARK-21580​​ ] - “按组排序”有一个错误
  • [ ​​SPARK-21588​​ ] - SQLContext.getConf(key,null)应该返回null,但它会抛出NPE
  • [ ​​SPARK-21593​​ ] - 修复损坏的配置页面
  • [ ​​SPARK-21595​​ ] - 在spark 2.2中引入spark.sql.windowExec.buffer.spill.threshold,打破了现有的工作流程
  • [ ​​SPARK-21596​​ ] - 审核调用HDFSMetadataLog.get的地方
  • [ ​​SPARK-21597​​ ] - 正在计算的平均事件时间可能是错误的
  • [ ​​SPARK-21617​​​ ] - 在Hive 2.1中为​​AL​​表修改TABLE ... ADD COLUMNS
  • [ ​​SPARK-21621​​ ] - 在DiskBlockObjectWriter.commitAndGet调用后重置numRecordsWritten
  • [ ​​SPARK-21647​​ ] - 使用CROSS时SortMergeJoin失败
  • [ ​​SPARK-21648​​ ] - 当用户拼写选项`partitionColumn`时,混淆JDBC源中的断言失败
  • [ ​​SPARK-21656​​ ] - 当有足够的任务运行时,sp​​ark动态分配不应该使超时执行程序空闲
  • [ ​​SPARK-21681​​ ] - 当featureStd包含零时,MLOR无法正常工作
  • [ ​​SPARK-21696​​ ] - State Store无法处理损坏的快照
  • [ ​​SPARK-21714​​ ] - Yarn客户端模式下的SparkSubmit下载远程文件,然后重新上传它们
  • [ ​​SPARK-21721​​ ] - org.apache.spark.sql.hive.execution.InsertIntoHiveTable中的内存泄漏
  • [ ​​SPARK-21723​​ ] - 无法编写LibSVM - 未找到密钥:numFeatures
  • [ ​​SPARK-21739​​ ] - 时间戳分区将在v2.2.0中失败
  • [ ​​SPARK-21793​​ ] - 修正GaussianMixture和AFTSurvivalRegression中的validateAndTransformSchema
  • [ ​​SPARK-21798​​ ] - 没有配置来替换已弃用的SPARK_CLASSPATH配置来启动守护程序,如历史记录服务器
  • [ ​​SPARK-21805​​ ] - 在Windows上禁用R短片代码
  • [ ​​SPARK-21818​​​ ] - 多元​​线上Summarizer.variance​​产生负面结果
  • [ ​​SPARK-21826​​ ] - 外部广播散列连接不应该抛出NPE
  • [ ​​SPARK-21834​​ ] - 动态分配的执行程序请求不正确
  • [ ​​SPARK-21890​​ ] - 获取Credentials不会传递信誉到addDelegationToken
  • [ ​​SPARK-21907​​ ] - UnsafeExternalSorter.spill()中的NullPointerException
  • [ ​​SPARK-21915​​ ] - Model 1和Model 2 ParamMaps丢失
  • [ ​​SPARK-21924​​ ] - 结构化流媒体文档中的错误
  • [ ​​SPARK-21928​​ ] - netty线程中serde过程中自定义Kryo注册器类的ClassNotFoundException
  • [ ​​SPARK-21946​​ ] - 片状测试:InMemoryCatalogedDDLSuite.alter表:重命名缓存表
  • [ ​​SPARK-21950​​ ] - pyspark.sql.tests.SQLTests2应该停止SparkContext。
  • [ ​​SPARK-21953​​ ] - 显示存在的内存和磁盘字节
  • [ ​​SPARK-21954​​ ] - JacksonUtils应该验证MapType的值类型而不是密钥类型
  • [ ​​SPARK-21980​​ ] - 分组函数中的参考应该用解析器进行索引
  • [ ​​SPARK-21985​​ ] - PySpark PairDeserializer针对双压缩RDD而打破
  • [ ​​SPARK-21991​​ ] - [LAUNCHER]如果机器负载非常高,LauncherServer acceptConnections线程有时会死掉
  • [ ​​SPARK-22052​​ ] - 在MetricsReporter.scala中分配的不正确的度量标准
  • [ ​​SPARK-22071​​​ ] - 改进发布版本脚本来检查正在使用​​的正版​​ JAVA版本
  • [ ​​SPARK-22076​​ ] - Expand.projections不应该是Stream
  • [ ​​SPARK-22083​​ ] - 将多个块放入磁盘时,Spark应该在发生故障时释放所有的锁
  • [ ​​SPARK-22092​​ ] - 在OffHeapColumnVector.reserveInternal中重新分配破坏数组数据
  • [ ​​SPARK-22094​​ ] - 当查询停止时,processAllAvailable不应永久封锁
  • [ ​​SPARK-22107​​​ ] - “as”应该是python快速​​入门​​文档中的“别名”
  • [ ​​SPARK-22109​​ ] - 按看起来像时间戳的列分区的阅读表具有不一致的模式推断
  • [ ​​SPARK-22129​​ ] - Spark释放脚本忽略GPG_KEY,并始终使用默认密钥进行签名
  • [ ​​SPARK-22135​​ ] - spark-dispatcher中的度量标准未正确注册
  • [ ​​SPARK-22141​​ ] - 在检查Cartesian产品之前传播空关系
  • [ ​​SPARK-22143​​ ] - OffHeapColumnVector可能会泄漏内存
  • [ ​​SPARK-22146​​ ] - 读取包含'%'的ORC文件时的FileNotFoundException
  • [ ​​SPARK-22158​​ ] - convertMetastore不应该忽略表格属性
  • [ ​​SPARK-22167​​ ] - Spark包装W / R发行版问题
  • [ ​​SPARK-22178​​ ] - 刷新表不刷新持久化视图的基础表
  • [ ​​SPARK-22206​​ ] - R中的gapply无法在空分组列上工作
  • [ ​​SPARK-22211​​ ] - FullOuterJoin的LimitPushDown优化会生成错误的结果
  • [ ​​SPARK-22218​​ ] - 火花洗牌服务无法更新应用程序重新尝试的秘密
  • [ ​​SPARK-22223​​ ] - ObjectHashAggregate引入了不必要的洗牌
  • [ ​​SPARK-22227​​ ] - 在shuffle中调用DiskBlockManager.getAllBlocks可能会失败
  • [ ​​SPARK-22243​​ ] - 流式作业无法从检查点重新启动
  • [ ​​SPARK-22249​​ ] - UnsupportedOperationException:在缓存数据框时为空empty.reduceLeft
  • [ ​​SPARK-22252​​ ] - FileFormatWriter应该尊重输入的查询模式
  • [ ​​SPARK-22271​​ ] - 描述数值变量的“mean”值的结果为“null”
  • [ ​​SPARK-22273​​ ] - 修复HashMapGenerators中的键/值模式字段名称。
  • [ ​​SPARK-22281​​ ] - 处理R方法破坏签名的变化
  • [ ​​SPARK-22284​​ ] - 类“org.apache.spark.sql.catalyst.expressions.GeneratedClass $ SpecificUnsafeProjection \”的代码增长超过64 KB
  • [ ​​SPARK-22287​​ ] - SPARK_DAEMON_MEMORY不被MesosClusterDispatcher
  • [ ​​SPARK-22291​​ ] - Cassandra的Postgresql UUID []:转换错误
  • [ ​​SPARK-22306​​ ] - INFER_AND_SAVE覆盖Parquet Metastore表中的重要元数据
  • [ ​​SPARK-22319​​ ] - SparkSubmit在调用loginUserFromKeytab之前调用getFileStatus
  • [ ​​SPARK-22327​​ ] - R CRAN检查在非最新的分支上失败
  • [ ​​SPARK-22328​​ ] - ClosureCleaner错过引用的超类字段,给它们为空值
  • [ ​​SPARK-​​ 22332] - NaiveBayes单元测试偶尔失败
  • [ ​​SPARK-22333​​ ] - ColumnReference的优先级应高于timeFunctionCall(CURRENT_DATE,CURRENT_TIMESTAMP)
  • [ ​​SPARK-22344​​ ] - 防止使用/ tmp进行R CMD检查
  • [ ​​SPARK-22355​​ ] - Dataset.collect不是线程安全的
  • [ ​​SPARK-22356​​ ] - 数据源表应支持数据和分区模式之间的重叠列
  • [ ​​SPARK-22377​​ ] - Maven夜间快照jenkins工作由于lsof而在多名工作人员中被打破
  • [ ​​SPARK-22403​​ ] - 在YARN集群模式下,StructuredKafkaWordCount示例失败
  • [ ​​SPARK-22417​​ ] - 来自pandas.DataFrame的createDataFrame将datetime64值读取为long
  • [ ​​SPARK-22429​​ ] - 由于NullPointerException,流检查点代码在失败后不会重试
  • [ ​​SPARK-22442​​ ] - 使用非标准字符时,产品编码器生成的模式与大小写字段名称不匹配
  • [ ​​SPARK-22464​​ ] - <=>不受Hive Metastore分区谓词下推支持
  • [ ​​SPARK-22469​​ ] - 与字符串和数字相比的准确性问题
  • [ ​​SPARK-​​ 22471] - SQLListener消耗大量内存,导致OutOfMemoryError
  • [ ​​SPARK-22472​​ ] - 数据集为空基元类型生成随机值
  • [ ​​SPARK-22479​​ ] - SaveIntoDataSourceCommand记录jdbc凭据
  • [ ​​SPARK-22488​​ ] - SparkSession内部表()API中的视图分辨率
  • [ ​​SPARK-22495​​ ] - 修复在Windows上设置SPARK_HOME变量
  • [ ​​SPARK-22511​​ ] - 更新maven中央回购地址
  • [ ​​SPARK-22535​​ ] - PythonRunner.MonitorThread应该在杀死Python工作者之前花一点时间完成任务
  • [ ​​SPARK-22538​​ ] - SQLTransformer.transform(inputDataFrame)uncaches inputDataFrame
  • [ ​​SPARK-22540​​ ] - HighlyCompressedMapStatus的avgSize不正确
  • [ ​​SPARK-22544​​ ] - FileStreamSource应该使用自己的hadoop conf来调用globPathIfNecessary
  • [ ​​SPARK-22548​​ ] - 将不正确的嵌套AND表达式推送到JDBC数据源
  • [ ​​SPARK-22591​​ ] - GenerateOrdering不应该改变ctx.INPUT_ROW
  • (​​SPARK-22755​​) - 表达式(946-885)* 1.0 / 946 <0.1和(946-885)* 1.000 / 946 <0.1返回不同的结果

修改的文档

  • [ ​​SPARK-21069​​ ] - 将节目源添加到节目指南
  • [ ​​SPARK-21925​​ ] - 更新Spark 2.2中行为更改的文档中的触发器间隔文档
  • [ ​​SPARK-21976​​ ] - 修正关于平均绝对误差的错误文档
  • [ ​​SPARK-22490​​ ] - PySpark文档对SparkSession.builder有误导性的字符串
  • [ ​​SPARK-22627​​ ] - 修复configuration.html页面中标题的格式

改进

  • [ ​​SPARK-18136​​ ] - 使PySpark pip安装在Windows上工作
  • [ ​​SPARK-19878​​ ] - 在InsertIntoHiveTable.scala中初始化配置单元serde时添加配置单元配置
  • [ ​​SPARK-21243​​ ] - 限制一次洗牌提取中的地图数量
  • [ ​​SPARK-21267​​ ] - 对结构化流媒体节目指南的改进
  • [ ​​SPARK-21321​​ ] - 关机时Spark非常详细,让用户感到困惑
  • [ ​​SPARK-21434​​ ] - 添加PySpark pip文档
  • [ ​​SPARK-21477​​ ] - 标记LocalTableScanExec的输入数据瞬态
  • [ ​​SPARK-21538​​ ] - 数据集API中的属性解析不一致
  • [ ​​SPARK-21667​​ ] - ConsoleSink不应该使用checkpointLocation选项失败流式查询
  • [ ​​SPARK-21901​​ ] - 为StateOperatorProgress定义toString
  • [ ​​SPARK-22043​​ ] - Python配置文件show_profiles()和dump_profiles()应该抛出一个更好的消息
  • [ ​​SPARK-22072​​ ] - 允许相同的shell参数用于发布版本的所有不同步骤
  • [ ​​SPARK-22120​​ ] - TestHiveSparkSession.reset()应该清理Hive仓库目录
  • [ ​​SPARK-22138​​ ] - 允许在发布 - 构建期间重试
  • [ ​​SPARK-22217​​ ] - ParquetFileFormat来支持任意的OutputCommitters
  • [ ​​SPARK-22294​​ ] - 在启动检查点时重置spark.driver.bindAddress
  • [ ​​SPARK-22315​​ ] - 检查R软件包和JVM之间的版本匹配

新功能

  • [ ​​SPARK-19606​​ ] - 火花分派器支持约束

任务

  • [ ​​SPARK-21366​​ ] - 为窗口函数添加sql测试
  • [ ​​SPARK-21699​​ ] - 删除ExternalCatalog中未使用的getTableOption

测试

  • [ ​​SPARK-21128​​ ] - 由于预先退出“spark-warehouse”/“metastore_db”,多次运行R测试失败
  • [ ​​SPARK-21464​​ ] - 最小化由ProcessingTime类引起的弃用警告
  • [ ​​SPARK-21663​​ ] - MapOutputTrackerSuite案例测试(“远程获取最大RPC消息大小”)应该调用停止
  • [ ​​SPARK-21693​​ ] - AppVeyor测试达到了1.5小时的时间限制,有时在SparkR测试中
  • [ ​​SPARK-21936​​ ] - HiveExternalCatalog的向后兼容性测试框架
  • [ ​​SPARK-22140​​ ] - 为TPCDS查询添加测试套件
  • [ ​​SPARK-22161​​ ] - 添加Impala修改的TPC-DS查询
  • [ ​​SPARK-22595​​ ] - 片状测试:CastSuite.SPARK-22500:铸造结构不应该生成超过64KB的代码

参考:

1、发行说明:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315420&version=12340470

继续阅读