Amazon EMR 6.6.0 – Hive 发布说明 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon EMR 6.6.0 – Hive 发布说明

Amazon EMR 6.6.0 – Hive 更改

类型 描述
Upgrade

将 Parquet 升级到 1.12.1

Upgrade

将 jetty jars 版本升级到 9.4.43.v20210629

错误 修复了在 Hive 集群上启用 LLAP 时导致在所有任务/核心节点上安装 Hive 的问题。
逆向移植 HIVE-25942:由于 CVE-2021-29425 而将 commons-io 升级到 2.8.0
逆向移植 HIVE-25726:由于 CVE-2020-13936 而将速度升级到 2.3
逆向移植 HIVE-25680:授权 #get_table_meta HiveMetastore 服务器 API 使用任何 HiveMetastore 授权模型。
逆向移植 HIVE-25554:将 arrow 版本升级到 0.15
逆向移植 HIVE-25242:使用 vectorized.adaptor = chosen 时,查询执行速度极慢
逆向移植 HIVE-25085:MetaStore 客户端不再在会话之间共享。
逆向移植 HIVE-24827:Hive 聚合查询为非文本文件返回错误结果。
逆向移植 HIVE-24683:如果路径不存在,Hadoop23Shims getFileId 容易出现 NPE
逆向移植 HIVE-24656:对于 map 和数组类型为 null 的查询,出现 CBO 失败
逆向移植 HIVE-24556:针对没有孙子的情况优化 DefaultGraphWalker
逆向移植 HIVE-24408:将 Parquet 升级到 1.11.1
逆向移植 HIVE-24391: 修复 branch-3.1 中的 TestOrcFile 失败
逆向移植 HIVE-24362:对于具有大量节点的树而言,AST 树处理非最优
逆向移植 HIVE-24316: 在 branch-3.1 中将 ORC 从 1.5.6 升级到 1.5.8
逆向移植 HIVE-24307:带属性文件和 -e 参数的 Beeline 失败
逆向移植 HIVE-24245:带有计数和不同分区的向量化 PTF 会产生错误结果。
逆向移植 HIVE-24224:修复在压缩文件上跳过 Hive on Tez 的标头/脚注
逆向移植 HIVE-24157:严格模式在 CAST 时间戳 ↔ 数值上失败
逆向移植 HIVE-24113:GenericUDFToUnixTimeStamp 中出现 NPE
逆向移植 HIVE-23987:将 arrow 版本升级到 0.11.0
逆向移植 HIVE-23972:将外部客户端 ID 添加到 LLAP 外部客户端
逆向移植 HIVE-23806:避免在扩展架构的情况下清除所有分区中的列统计数据状态。这提高了 alter table add columns 语句的运行时间。
逆向移植 HIVE-23779: BasicStatsTask 信息无法在 beeline 控制台中打印
逆向移植 HIVE-23306:如果 System.getProperty 设置了配置,则 RESET 命令不起作用
逆向移植 HIVE-23164:由于非进程守护程序线程,服务器未正确终止
逆向移植 HIVE-22967:支持 Hive on Tez 的 hive.reloadable.aux.jars.path
逆向移植 HIVE-22934:Hive 服务器交互式日志计数器用于错误流
逆向移植 HIVE-22901: 变量替换可能导致循环引用中出现 OOM
逆向移植 HIVE-22769: 压缩文本文件拆分生成期间出现查询结果不正确和查询失败
逆向移植 HIVE-22716: ByteBuffer 的读取操作在 ParquetFooterInputFromCache 处中断
逆向移植 HIVE-22648:将 Parquet 升级到 1.11.0
逆向移植 HIVE-22640:Decimal64ColumnVector:当分区列类型为十进制时,出现ClassCastException
逆向移植 HIVE-22621: 不稳定的测试用例:TestLlapSignerImpl.testSigning
逆向移植 HIVE-22533:修复可能出现的 LLAP 进程守护程序 Web UI 漏洞
逆向移植 HIVE-22532:PTFPPD 可能会通过 Rank/DenseRank 函数错误地推送限制
逆向移植 HIVE-22514: HiveProtoLoggingHook 可能会消耗大量内存
逆向移植 HIVE-22476:当 hive.fetch.task.conversion 设置为 none 时,hive datediff 函数所提供的结果不一致
逆向移植 HIVE-22429:在 hive 3 上通过 bucketing_version 1 迁移的集群表使用 bucketing_version 2 进行插入
逆向移植 HIVE-22412: StatsUtils 在解释期间抛出 NPE
逆向移植 HIVE-22360:如果加载的文件的列多于表架构中的列,MultiDelimitSerDe 会在最后一列返回错误结果
逆向移植 HIVE-22332:自 ORC-540 以来,Hive 会确保有效的架构发展设置
逆向移植 HIVE-22331:不带参数的 unix_timestamp 以毫秒为单位(而不是秒)返回时间戳
逆向移植 HIVE-22275: OperationManager.queryIdOperation 并未正确清理多个 queryId
逆向移植 HIVE-22273:删除临时目录时,访问检查失败
逆向移植 HIVE-22270:将 commons-io 升级到 2.6
逆向移植 HIVE-22241:实现 UDF 以使用其内部表示和 Gregorian-Julian 混合日历来解释日期/时间戳
逆向移植 HIVE-22241:实现 UDF 以使用其内部表示和 Gregorian-Julian 混合日历来解释日期/时间戳
逆向移植 HIVE-22232:当 hive.order.columnalignment 设置为 false 时,出现 NPE
逆向移植 HIVE-22231:通过 knox 进行大量 hive 查询失败,并显示“Broken pipe Write failed(断开链接回写失败)”
逆向移植 HIVE-22221:Llap 外部客户端 – 需要减少 LlapBaseInputFormat#getSplits
逆向移植 HIVE-22208:当查询(包括在具有掩码列的表上的联接)被重写时,具有保留关键字的列名无法转义
逆向移植 HIVE-22197:Common Merge join 抛出类强制转换异常。
逆向移植 HIVE-22170:from_unixtime 和 unix_timestamp 会使用用户会话时区
逆向移植 HIVE-22169:Tez:SplitGenerator 尝试查找对 Tez 而言不存在的计划文件
逆向移植 HIVE-22168:从 llap 缓存热路径中删除极为昂贵的日志记录
逆向移植 HIVE-22161:UDF:FunctionRegistry 在 org.apache.hadoop.hive.ql.udf.UDFType 类上同步
逆向移植 HIVE-22120:修复在特定边界条件下 map 端左外连接中出现的错误结果/ArrayOutOfBound 异常
逆向移植 HIVE-22115:如果属性设置为 false,会阻止创建查询 routing appender
逆向移植 HIVE-22113:防止在 AMReporter 相关的 RuntimeException 上关闭 LLAP
逆向移植 HIVE-22106:删除 partition-eval 的 cross-query 同步
逆向移植 HIVE-22099:自 HIVE-20007 以来,几个与日期相关的 UDF 无法正确处理 Julian 日期
逆向移植 HIVE-22037:HS2 因 OOM 而关闭时,会记录日志
逆向移植 HIVE-21976:在 Calcite HiveSortLimit 中,偏移量为 null 而不是零
逆向移植 HIVE-21924:即使存在标头/脚注,也可拆分文本文件
逆向移植 HIVE-21913:GenericUDTFGetSplits 会以与 LLAP 相同的方式处理用户名
逆向移植 HIVE-21905: 围绕 FetchOperator 类的泛型改进
逆向移植 HIVE-21902:HiveServer2 UI:jetty 响应标头需要 X-Frame-Options
逆向移植 HIVE-21888:将 hive.parquet.timestamp.skip.conversion 默认设置为 true
逆向移植 HIVE-21868: 矢量化 CAST...FORMAT
逆向移植 HIVE-21864:LlapBaseInputFormat#closeAll
逆向移植 HIVE-21863:改进 WHEN 表达式的 Vectorizer 类型转换
逆向移植 HIVE-21862:ORC ppd 产生带有时间戳的错误结果
逆向移植 HIVE-21846:在 TezAM 中创建一个定期获取 LlapDaemon 指标的线程
逆向移植 HIVE-21837:当选定的列完全具有 null 值时,MapJoin 会引发异常
逆向移植 HIVE-21834:避免不必要的调用以简化筛选条件
逆向移植 HIVE-21832:获取平均队列/服务/响应时间的新指标
逆向移植 HIVE-21827:SemanticAnalyzer 中的多个调用不通过 getTableObjectByName 方法
逆向移植 HIVE-21822:通过新的 API 方法公开 LlapDaemon 指标
逆向移植 HIVE-21818: CBO:TableRelOptHiveTable 的复制包含元存储流量
逆向移植 HIVE-21815:ORC 文件中的统计数据被解析两次
逆向移植 HIVE-21805:HiveServer2:使用快速 ShutdownHookManager API
逆向移植 HIVE-21799:当连接键位于聚合列时,NullPointerException 在 DynamicPartitionPruningOptimization 中
逆向移植 HIVE-21794:将具体化视图参数添加到 sqlStdAuthSafeVarNameRegexes
逆向移植 HIVE-21768:JDBC:删除没有括起来的 UNION 查询的默认联合前缀
逆向移植 HIVE-21746:动态分区散列连接期间的 ArrayIndexOutOfBoundsException,禁用 CBO
逆向移植 HIVE-21717:移动任务中的目录重命名失败。
逆向移植 HIVE-21685:包含多个 IN 子句的查询出现简化错误
逆向移植 HIVE-21681:Describe formatted 显示了多个主键的错误信息
逆向移植 HIVE-21651:将 protobuf serde 移动到 hive-exec 中。
逆向移植 HIVE-21619:在 SQL 解释扩展中输出的时间戳类型缺乏精度
逆向移植 HIVE-21592:如果表达式包含 CONCAT,则不会显示 OptimizedSql
逆向移植 HIVE-21576: 引入 CAST...FORMAT 和 SQL:2016 日期时间格式的限制列表
逆向移植 HIVE-21573:如果身份验证设置为 delegationToken,二进制传输会忽略主体
逆向移植 HIVE-21550: TestObjectStore 测试不稳定 - 无法在请求的时间内获得锁定
逆向移植 HIVE-21544:常量传播会破坏折叠期间的 coalesce/case/when 表达式
逆向移植 HIVE-21539:如果 GroupBy + where 子句在同一列,会导致错误的查询重写
逆向移植 HIVE-21538:Beeline:尽管控制台读取器并未传递到连接参数,但会提供密码来源
逆向移植 HIVE-21509:LLAP 可能会缓存损坏的列向量并返回错误的查询结果
逆向移植 HIVE-21499:如果创建命令失败并显示 AlreadyExistsException,则不会从注册表中删除该函数
逆向移植 HIVE-21496: 自动调整无序缓冲区大小可能会溢出
逆向移植 HIVE-21468: JDBC 存储处理程序的标识符名称区分大小写
逆向移植 HIVE-21467: 移除已弃用的 junit.framework.Assert 导入
逆向移植 HIVE-21435:LlapBaseInputFormat 会在构建 SubmitWorkRequestProto 时从 TASK_ATTEMPT_ID conf 获取任务号(如果存在)
逆向移植 HIVE-21389:HIVE-21247 后,Hive 分发缺少 javax.ws.rs-api.jar
逆向移植 HIVE-21385: 允许禁止向 JDBC 源下推不可拆分的计算
逆向移植 HIVE-21383:JDBC 存储处理程序:通过使用目录和架构检索表(如果已指定)
逆向移植 HIVE-21382: 按密钥减少优化分组 - 在 query23 中未减少密钥
逆向移植 HIVE-21362:添加输入格式和 serde 以从 protobuf 文件中读取。
逆向移植 HIVE-21340: CBO:修剪馈送至 SemiJoin 的非密钥列
逆向移植 HIVE-21332: 清除非锁定缓冲区,而不清除锁定的缓冲区
逆向移植 HIVE-21329:根据运算符管道,自定义 Tez 运行时无序输出缓冲区的大小
逆向移植 HIVE-21295:StorageHandler 会按照 Hive 约定将日期转换为字符串
逆向移植 HIVE-21294:向量化:1-reducer Shuffle 可以跳过对象哈希函数
逆向移植 HIVE-21255:删除 JdbcStorageHandler 中的 QueryConditionBuilder
逆向移植 HIVE-21253:支持 JDBC StorageHandler 中的 DB2
逆向移植 HIVE-21232:LLAP:添加友好的缓存未命中拆分关联提供程序
逆向移植 HIVE-21214:MoveTask:使用 attemptId 而不是文件大小来删除文件 compareTempOrDuplicateFiles 的重复数据
逆向移植 HIVE-21184: 添加解释内容并解释带有成本信息的格式化 CBO 计划
逆向移植 HIVE-21182:在计划期间跳过设置 hive scratch dir
逆向移植 HIVE-21171:如果 RPC 处于启用状态,请跳过为 tez 创建暂存目录
逆向移植 HIVE-21126: 允许在 LlapBaseInputFormat#getSplit 中进行会话级别查询
逆向移植 HIVE-21107:动态分区哈希连接期间,出现“Cannot find field(无法找到字段)”错误
逆向移植 HIVE-21061:CTAS 查询失败,并显示空源的 IllegalStateException
逆向移植 HIVE-21041:从逻辑计划中获取架构出现 NPE,ParseException
逆向移植 HIVE-21013:JdbcStorageHandler 无法在 Oracle 中找到分区列
逆向移植 HIVE-21006:扩展 SharedWorkOptimizer,以便出现再利用机会时删除半连接
逆向移植 HIVE-20992:将配置 hive.metastore.dbaccess.ssl.properties 拆分为更有意义的配置
逆向移植 HIVE-20989:JDBC - The GetOperationStatus + 日志可以通过睡眠阻止查询进度
逆向移植 HIVE-20988:在多列上使用主键进行 group by 查询时,结果错误
逆向移植 HIVE-20985:如果选择运算符输入是临时列,向量化可能会复用其中一部分作为输出
逆向移植 HIVE-20978:会将“hive.jdbc.*”添加到 sqlStdAuthSafeVarNameRegexes
逆向移植 HIVE-20953:如果在创建函数时无法将其添加到元存储,则将其从函数注册表中删除。
逆向移植 HIVE-20952: 清理 VectorizationContext.java
逆向移植 HIVE-20951:LLAP:始终将 Xms 设置为 50%
逆向移植 HIVE-20949:改进物理计划中的 PKFK 基数估算
逆向移植 HIVE-20944:查询编译期间不验证统计数据
逆向移植 HIVE-20940: 桥接 Calcite 类型解析比 Hive 更严格的案例。
逆向移植 HIVE-20937:Postgres jdbc 查询失败,并显示“LIMIT must not be negative(LIMIT 不得为负数)”
逆向移植 HIVE-20926:当 bloom 筛选条件条目较高或没有统计数据时,半联接减少提示失败
逆向移植 HIVE-20920:使用 SQL 约束来改进连接重新排序算法
逆向移植 HIVE-20918: 用于启用/禁用将计算从 Calcite 下推到 JDBC 连接的标记
逆向移植 HIVE-20915: 为 HoS 和 MR 提供动态排序分区优化
逆向移植 HIVE-20910:由于动态分区排序优化,在分桶表中插入失败
逆向移植 HIVE-20899:LLAP YARN 服务的 Keytab URI 仅限于支持 HDFS
逆向移植 HIVE-20898:对于时间相关函数,参数不会转换为非空型
逆向移植 HIVE-20881:常量传播导致投影过度简化
逆向移植 HIVE-20880:更新 hive.stats.filter.in.min.ratio 的默认值
逆向移植 HIVE-20873:对 VectorHashKeyWrapperTwoLong 使用 Murmur 哈希值,以减少哈希冲突
逆向移植 HIVE-20868:如果 TezDummyOperator 在 MapRecordProcessor 中的 getFinalOp 中具有子操作,SMB Join 会间歇性失败
逆向移植 HIVE-20853:在 llap 进程守护程序 API 中公开 shuffleHandler.regerDag
逆向移植 HIVE-20850: 如果可能,将案例条件从投影推送到维度表
逆向移植 HIVE-20842:修复 HIVE-20660 中引入的逻辑,以估算 group by 的统计数据
逆向移植 HIVE-20839:动态分区哈希连接期间,出现“Cannot find field(无法找到字段)”错误
逆向移植 HIVE-20835: 约束与 MV 重写之间的交互可能会在 Calcite 计划程序中创建循环
逆向移植 HIVE-20834:Hive QueryResultCache 条目保持从缓存查询中引用 SemanticAnalyzer
逆向移植 HIVE-20830:在某些情况下,JdbcStorageHandler 范围查询断言失败
逆向移植 HIVE-20829:JdbcStorageHandler 范围拆分会引发 NPE
逆向移植 HIVE-20827:空数组的结果不一致
逆向移植 HIVE-20826: 增强 HiveSemiJoin 规则,将左侧的联接 + 分组依据转换为左半联接
逆向移植 HIVE-20821:将 SUM0 重写为 SUM + COALESCE 组合
逆向移植 HIVE-20815:JdbcRecordReader.next 不会吃掉异常
逆向移植 HIVE-20813:udf to_epoch_milli 也需要支持无时区的时间戳。
逆向移植 HIVE-20804:通过约束实现 group by 深度优化
逆向移植 HIVE-20792:插入带区域的时间戳会截断数据
逆向移植 HIVE-20788:创建筛选条件时,扩展的 SJ 缩减可能导致列错误回溯
逆向移植 HIVE-20778: 如果计划中的所有联接都是通过去相关逻辑创建的,则可能无法触发联接重新排序
逆向移植 HIVE-20772:在 LLAP 中记录每个任务的 CPU 计数器
逆向移植 HIVE-20768:添加滚动窗口 UDF
逆向移植 HIVE-20767:连接运算符之间的多个项目可能会对使用约束的连接重新排序造成影响
逆向移植 HIVE-20762:NOTIFICATION_LOG 清理间隔会被硬编码为 60s,间隔过小
逆向移植 HIVE-20761:选择对 notification_sequence 表进行更新具有重试时间间隔,且重试计数过小
逆向移植 HIVE-20751:将 arrow 版本升级到 0.10.0
逆向移植 HIVE-20746:HiveProtoHookLogger 无法在一天结束时关闭文件。
逆向移植 HIVE-20744:使用 SQL 约束来改进连接重新排序算法
逆向移植 HIVE-20740:删除 ObjectStore.setConf 方法中的全局锁定。此 cherrypick 会将适用于 Hive 3.2 和 4.x 的 HIVE-20740 反向移植到 3.1.x
逆向移植 HIVE-20734:Beeline:如果 beeline-site.xml 存在并且 hive CLI 重定向到 beeline,它会使用系统用户名/虚拟密码而不会提示输入一个 beeline
逆向移植 HIVE-20731:JdbcStorageHandler 中的密钥库文件应获授权
逆向移植 HIVE-20720:将分区列选项添加到 JDBC 处理程序
逆向移植 HIVE-20719: 在 hive.optimize.sort.dynamic.partition 优化和向量化开启的情况下,SELECT 语句在 UPDATE 后失败
逆向移植 HIVE-20718: 添加带有约束条件的 perf cli 驱动程序
逆向移植 HIVE-20716:将 hive.cbo.stats.correlated.multi.key.joins 的默认值设置为 true
逆向移植 HIVE-20712:HivePointLookupOptimizer 会提取深层案例
逆向移植 HIVE-20710:常量折叠可能不会创建没有类型的 null 常量
逆向移植 HIVE-20706: external_jdbc_table2.q 间歇性失败
逆向移植 HIVE-20704:扩展 HivePreFilteringRule 以支持其他功能
逆向移植 HIVE-20703:将动态排序分区优化置于基于成本的决策之下
逆向移植 HIVE-20702:在 mapjoin 选择期间,考虑数据结构感知估算的负载
逆向移植 HIVE-20692:启用 NOT x IS (NOT) [TRUE|FALSE] 表达式的折叠
逆向移植 HIVE-20691:修复 org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[cttl]
逆向移植 HIVE-20682:如果主线程关闭了共享 sessionHive,则异步查询执行可能会失败
逆向移植 HIVE-20676:HiveServer2:PrivilegeSynchronizer 未设置为进程守护程序状态
逆向移植 HIVE-20660:可通过将总行数绑定到源表,改进 group by 统计数据估算
逆向移植 HIVE-20652:JdbcStorageHandler 将两个不同数据源的连接推送到 jdbc 驱动程序
逆向移植 HIVE-20651:JdbcStorageHandler 密码会进行加密
逆向移植 HIVE-20649:LLAP 感知内存管理器可用于 Orc 写入器
逆向移植 HIVE-20648:LLAP:按运算符的向量组会使用每个执行程序的内存
逆向移植 HIVE-20646:如果分区筛选条件具有 IS NOT NULL,则不会下推到元存储查询
逆向移植 HIVE-20644:避免经由 Hive Runtime 异常泄露敏感信息
逆向移植 HIVE-20636:对外部连接后的 null 值估算数目进行改进
逆向移植 HIVE-20632:如果在查询表上创建具体化视图,则使用 get_splits UDF 查询会失败
逆向移植 HIVE-20627: 并发异步查询间歇性地失败并抛出 LockException,同时导致内存泄漏
逆向移植 HIVE-20623:共享工作:扩展 LLAP 中 map-join 缓存条目的共享
逆向移植 HIVE-20619: 默认情况下,在 HiveServer2 中包含 MultiDelimitSerDe
逆向移植 HIVE-20618:在连接选择期间,可能会为非分桶表选择 BucketMapJoin
逆向移植 HIVE-20617:修复 IN 表达式中的常量类型,使其具有正确类型
逆向移植 HIVE-20612: 为 CBO 创建新的联接多密钥关联标记
逆向移植 HIVE-20603:更改表位置文件系统后,插入分区时出现“Wrong FS(FS 错误)”错误
逆向移植 HIVE-20601:DbNotificationListener 中 ALTER_PARTITION 事件中的 EnvironmentContext 为 null
逆向移植 HIVE-20583:仅对 HiveConnection 中的 kerberos 身份验证使用规范主机名
逆向移植 HIVE-20582:hive proto 日志记录中的 hflush 可配置
逆向移植 HIVE-20563:向量化:如果 THEN/ELSE 类型和结果类型不同,CASE WHEN 表达式会失败
逆向移植 HIVE-20558:将 hive.hashtable.key.count.adjustment 的默认值更改为 0.99
逆向移植 HIVE-20552: 更快地从 LogicalPlan 获取架构
逆向移植 HIVE-20550:切换 WebHCat 以使用 beeline 提交 Hive 查询
逆向移植 HIVE-20537:使用与 CBO 和 Hive 中不同的不相关列,进行多列连接估算
逆向移植 HIVE-20524:在从 Hive 版本 2 升级到版本 3 以从 ALTER TABLE VARCHAR 转到 DECIMAL 的过程中,架构发展检查中断
逆向移植 HIVE-20522:由于字段可为 null 值,HiveFilterSetOpTransposeRule 可能引发断言错误
逆向移植 HIVE-20521:HS2 doAs=true 与 hadoop.tmp.dir、MR 和 S3A 文件系统存在权限问题
逆向移植 HIVE-20515:使用不同文件系统中的结果缓存、查询临时目录和结果缓存目录时,查询结果为空
逆向移植 HIVE-20508:Hive 不支持“user@realm”类型的用户名
逆向移植 HIVE-20507:Beeline:添加实用程序命令以从 beeline-site.xml 中检索所有 uri
逆向移植 HIVE-20505:将 org.openjdk.jmh:jmh-core 升级到 1.21
逆向移植 HIVE-20503:在 mapjoin 选择期间,使用数据结构感知估算
逆向移植 HIVE-20498:支持列统计数据自动收集的日期类型
逆向移植 HIVE-20496:向量化:向量化 PTF IllegalStateException
逆向移植 HIVE-20494:GenericUDFRestrictInformationSchema 在 HIVE-19440 之后被破坏
逆向移植 HIVE-20477:如果表达式包含 IN,则不会显示 OptimizedSql
逆向移植 HIVE-20467: 创建/删除资源计划时允许 IF NOT EXISTS/IF EXISTS
逆向移植 HIVE-20462:如果视图已存在,则“CREATE VIEW IF NOT EXISTS(如不存在则创建视图)”失败
逆向移植 HIVE-20455:security.authorization.PrivilegeSynchonizer.run 出现 日志过多的问题
逆向移植 HIVE-20439:在 llap 的连接选择期间,限制膨胀内存
逆向移植 HIVE-20433:字符串隐式转换为时间戳过慢
逆向移植 HIVE-20432:将 BETWEEN 重写为 IN,以便统计估算的整数类型
逆向移植 HIVE-20423: 将 NULLS LAST 设置为默认空顺序
逆向移植 HIVE-20418:如果查询未选择列,LLAP IO 可能无法处理正确禁用行索引的 ORC 文件
逆向移植 HIVE-20412:HiveMetaHook 中出现 NPE
逆向移植 HIVE-20406:Nested Coalesce 给出错误结果
逆向移植 HIVE-20399:对于 MM 表而言,不完全限定的 CTAS w/a 自定义表位置失败
逆向移植 HIVE-20393:Semijoin Reduction:markSemiJoinForDPP 行为不一致
逆向移植 HIVE-20391: HiveAggregateReduceFunctionsRule 在分解聚合函数时可能会推断出错误的返回类型
逆向移植 HIVE-20383:hive proto 事件挂钩出现无效队列名称和同步问题。
逆向移植 HIVE-20367:向量化:支持 PTF AVG、MAX、MIN、SUM 进行流式传输
逆向移植 HIVE-20366: 因为筛选条件为空,TPC-DS query78 统计数据估计值已关闭
逆向移植 HIVE-20364:更新 hive.map.aggr.hash.min.reduction 的默认值
逆向移植 HIVE-20352:向量化:支持分组功能
逆向移植 HIVE-20347: hive.optimize.sort.dynamic.partition 应该适用于分区的 CTAS 和 MV
逆向移植 HIVE-20345:如果从不同的调用中删除表,则删除数据库可能会挂起
逆向移植 HIVE-20343: Hive 3:CTAS 未以 transactional_properties 为准
逆向移植 HIVE-20340: 当时间戳函数的输出用作 Strin 时,Druid 需要从 Timestamp 显式 CAST 为 STRING
逆向移植 HIVE-20339:向量化:取消不需要的限制导致某些 RANK 和 PTF 无法向量化
逆向移植 HIVE-20337:CachedStore:getPartitionsByExpr 未正确填充分区列表
逆向移植 HIVE-20336:屏蔽和筛选具体化视图的策略
逆向移植 HIVE-20326:创建约束时,将 RELY 作为默认值而不是 NO RELY
逆向移植 HIVE-20321:向量化:将 1 col VectorHashKeyWrapper 的内存大小减少至 <1 Cache Line
逆向移植 HIVE-20320: 开启 hive.optimize.remove.sq_count_check 标记
逆向移植 HIVE-20315:向量化:修复更多的 NULL/错误结果问题,并避免不必要的强制转换/转换
逆向移植 HIVE-20314:具体化视图重写包括分区修剪
逆向移植 HIVE-20312:允许 arrow 客户端将其 BufferAllocator 与 LlapOutputFormatService 结合使用
逆向移植 HIVE-20302:LLAP:IO 中的非向量化执行忽略了 ROW__ID 等虚拟列
逆向移植 HIVE-20300:VectorFileSinkArrowOperator
逆向移植 HIVE-20299:LLAP 签名者单元测试中存在潜在争用
逆向移植 HIVE-20296:改进 HivePointLookupOptimizerRule,便于从更复杂的上下文中提取
逆向移植 HIVE-20294:向量化:修复 COALESCE / ELT 中的 NULL/错误结果问题
逆向移植 HIVE-20292: 已定义主要约束的 tpcds query93 中的联接排序出错
逆向移植 HIVE-20290:延迟初始化 ArrowColumnarBatchSerDe,因而它不会在 GetSplits 期间分配缓冲区
逆向移植 HIVE-20281:SharedWorkOptimizer 失败并显示“operator cache contents and actual plan differ(运算符缓存内容与实际计划不一致)”
逆向移植 HIVE-20277:向量化:FILTER 不支持 case 表达式返回布尔值
逆向移植 HIVE-20267:扩展 WebUI 以包含表单,便于动态配置日志级别
逆向移植 HIVE-20263:HiveReduceExpressionsWithStatsRule 中的拼写错误多变
逆向移植 HIVE-20260:如果另一列的筛选条件更改行数,不会扩展列的 NDV
逆向移植 HIVE-20252:Semijoin Reduction:如果小表端在上游有映射联接,则可能无法检测到半连接分支引起的循环。
逆向移植 HIVE-20245:向量化:修复 BETWEEN/IN 中的 NULL/错误结果问题
逆向移植 HIVE-20241: 支持 CTAS 语句中的分区规范
逆向移植 HIVE-20240: Semijoin Reduction:使用本地变量检查外部表的条件
逆向移植 HIVE-20226:如果请求 maxEvents 超过表的 max_rows,HMS getNextNotification 会引发异常
逆向移植 HIVE-20225: SerDe 支持 Teradata 二进制格式
逆向移植 HIVE-20213: 将 Calcite 升级到 1.17.0
逆向移植 HIVE-20212:http 模式下的 Hiveserver2 错误地发出指标 default.General.open_connections
逆向移植 HIVE-20210:当筛选非分区列且转换最少时,Simple Fetch 优化程序会导致 mapReduce
逆向移植 HIVE-20209: 首次尝试在 repl 转储中连接元存储失败
逆向移植 HIVE-20207:向量化:修复 Filter/Compare 中的 NULL/错误结果问题
逆向移植 HIVE-20204:IN 期间进行类型转换
逆向移植 HIVE-20203:Arrow SerDe 泄露 DirectByteBuffer
逆向移植 HIVE-20197: 矢量化:添加 DECIMAL_64 测试,添加日期/间隔/时间戳算法,并添加更多 GROUP BY 聚合
逆向移植 HIVE-20193: cboInfo 不在解释计划 json 中
逆向移植 HIVE-20192:HS2 与嵌入式元存储配合使用时,泄露 JdOperistencManager 对象
逆向移植 HIVE-20183:如果源表包含空存储桶,则从分桶表插入可能导致数据丢失
逆向移植 HIVE-20177: 矢量化:减少 GroupBy 流式处理模式下的 KeyWrapper 分配
逆向移植 HIVE-20174: 矢量化:修复 GROUPBY 聚合函数中的 NULLLLL/错误结果问题
逆向移植 HIVE-20172:StatsUpdater 在尝试连接到远程元存储时失败,并显示 GSS 异常
逆向移植 HIVE-20153: Count 和 Sum UDF 在 Hive 2+ 中消耗更多内存
逆向移植 HIVE-20152:如果 repl 转储失败,重置数据库状态可以重命名表
逆向移植 HIVE-20149:TestHiveCli 失败/超时
逆向移植 HIVE-20130:实现更好的信息架构同步器日志记录
逆向移植 HIVE-20129:恢复到 orc 表的基于位置的架构发展
逆向移植 HIVE-20118:SessionStateUserAuthenticator.getGroupNames
逆向移植 HIVE-20116:TezTask 正在使用父记录器
逆向移植 HIVE-20115: ACID 表不应使用页脚扫描进行分析
逆向移植 HIVE-20103:WM:如果至少使用了一个,则仅有 Aggregate DAG 计数器
逆向移植 HIVE-20101:BloomkFilter:避免完全使用本地字节 [] 数组
逆向移植 HIVE-20100:OpTraits:如果检测到不匹配,Select Optraits 会停止
逆向移植 HIVE-20098:统计数据:获取日期列分区统计信息时,出现 NPE
逆向移植 HIVE-20095:修复将计算推送到 jdbc 外部表的功能
逆向移植 HIVE-20093: LlapOutputFomatService:使用 ArrowBuf 和 Netty 进行会计工作
逆向移植 HIVE-20090:对 semijoin reduction 筛选条件创建进行扩展,以便发现新机会
逆向移植 HIVE-20088:Beeline 配置位置路径组装不正确
逆向移植 HIVE-20082:HiveDecimal 转换为字符串无法正确格式化十进制数字
逆向移植 HIVE-20069:在 DPP 和 Semijoin 优化的情况下,修复重优化
逆向移植 HIVE-20051:跳过对临时表的授权
逆向移植 HIVE-20044:Arrow Serde 会填充字符值并正确处理空字符串
逆向移植 HIVE-20028:元存储客户端缓存配置使用不正确
逆向移植 HIVE-20025: 清理由 HiveProtoLoggingHook 创建的事件文件
逆向移植 HIVE-20020: Hive contrib jar 不应该在 lib 中
逆向移植 HIVE-20013: 为 to_date 函数添加隐式日期类型转换
逆向移植 HIVE-20011:从 proto 日志记录挂钩中的追加模式迁移
逆向移植 HIVE-20005: acid_table_stats、acid_no_buckets 等 - 分支的查询结果变更
逆向移植 HIVE-20004: ConvertDecimal64ToDecimal 使用的错误比例会导致结果不正确
逆向移植 HIVE-19995: ACID 表的聚合行流量
逆向移植 HIVE-19993:无法使用同样显示为列名的表别名
逆向移植 HIVE-19992:向量化:HIVE-19951 的后续 —> 添加对 SchemaEvolution.isOnlyImplicitConversion 的调用,以便仅在不是数据类型隐式转换的情况下禁用 ORC 的编码 LLAP I/O
逆向移植 HIVE-19989:元存储对 HADOOP2 指标使用错误的应用程序名称
逆向移植 HIVE-19981:由 HiveStrictManagedMigration 实用程序转换为外部表的托管表会设置为在删除表时删除数据
逆向移植 HIVE-19967:SMB 联接:需要适用于 PTFOperator ala GBY Op 的 Optraits
逆向移植 HIVE-19935:Hive WM 会话已终止:无法更新 LLAP 任务计数
逆向移植 HIVE-19924: 标记 Repl 负载运行的 distcp 任务
逆向移植 HIVE-19891:使用自定义分区目录插入外部表,可能导致数据丢失
逆向移植 HIVE-19850:Tez 中的动态分区修剪导致“No work found for tablescan(并未找到表扫描的任何工作)”错误
逆向移植 HIVE-19806: 对 qtests 输出进行排序以避免测试结果出现不稳定
逆向移植 HIVE-19770: 支持 CBO 以用于在 select 语句中包含多个相同列的查询
逆向移植 HIVE-19769: 为数据库和表名创建专用对象
逆向移植 HIVE-19765: 向 BlobstoreCliDriver 添加 Parquet 特定的测试
逆向移植 HIVE-19759:不稳定的测试:TestRpc#testServerPort
逆向移植 HIVE-19711:重构 Hive Schema Tool
逆向移植 HIVE-19701:getDelegationTokenFromMetaStore 无需同步
逆向移植 HIVE-19694:若要创建具体化视图语句,应在运行 MV 的 SQL 语句之前检查 MV 名称是否冲突。
逆向移植 HIVE-19674: 按十进制常量分组下推到 Druid 表
逆向移植 HIVE-19668: 重复的 org.antlr.runtime.CommonToken 和重复的字符串浪费了超过 30% 的堆
逆向移植 HIVE-19663: 重构 LLAP IO 报告生成
逆向移植 HIVE-19661:切换 Hive UDF 以使用 Re2J 正则表达式引擎
逆向移植 HIVE-19628:LLAP testSigning 中可能出现 NPE
逆向移植 HIVE-19568:主动/被动 HS2 HA:禁止直接连接到被动 HS2 实例
逆向移植 HIVE-19564:向量化:修复 Arithmetic 中的 NULL/错误结果问题
逆向移植 HIVE-19552:启用 TestMiniDruidKafkaCliDriver#druidkafkamini_basic.q
逆向移植 HIVE-19432:如果 hive 的数据库和表过多,GetTablesOperation 过慢
逆向移植 HIVE-19360: CBO:在 QueryPlan 对象中添加 "optimizedSQL"
逆向移植 HIVE-19326: 统计数据自动收集:UNION 查询期间聚合不正确
逆向移植 HIVE-19313:TestJdbcWithDBTokenStoreNoDoAs 测试失败
逆向移植 HIVE-19285: 将日志添加到 MetaDataOperation 的子类中
逆向移植 HIVE-19235: 更新 Minimr 测试的黄金文件
逆向移植 HIVE-19104:当测试 MetaStore 以重试启动时,实例是独立的
逆向移植 HIVE-18986:如果表包含大量列,表重命名会在 dataNucleus 中运行 java.lang.StackOverflowError
逆向移植 HIVE-18920:CBO:在初次查询之前初始化 Janino 提供程序
逆向移植 HIVE-18873:在 HiveInputFormat 处以静默方式跳过 MR 的谓词下推,可能导致存储处理程序产生错误结果
逆向移植 HIVE-18871:由于将 hive.aux.jars.path 设置为 hdfs:// 而导致 hive on tez 执行错误
逆向移植 HIVE-18725: 如果存在错误的列引用,则改进子查询的错误处理
逆向移植 HIVE-18696: 在 HiveMetaStore.add_partitions_core 方法中可能无法正确清理分区文件夹(如果存在)
逆向移植 HIVE-18453: ACID:添加 "CREATE TRANSACTIONAL TABLE" 语法以统一 ACID ORC 和 Parquet 支持
逆向移植 HIVE-18201: 为 sq_count_chec 禁用 XPROD_EDGE
逆向移植 HIVE-18140: 在基本统计数据混合大小写中,分区表的统计数据可能会出错
逆向移植 HIVE-17921: 在 LLAP 中使用 struct 进行聚合会产生错误的结果
逆向移植 HIVE-17896: TopNKey:创建独立的可矢量化的 TopNKey 运算符
逆向移植 HIVE-17840:如果 transactionalListeners.notifyEvent 失败,HiveMetaStore 会存入异常
逆向移植 HIVE-17043:如果日后不引用,则密钥会从分组中删除非唯一列
逆向移植 HIVE-17040:在具有 FK 关系的情况下,实现连接消除
逆向移植 HIVE-16839:如果同时更改同一个分区,openTransaction/commitTransaction 调用会失衡
逆向移植 HIVE-16100:动态排序分区优化器丢失同级运算符
逆向移植 HIVE-15956:删除大量分区时出现 StackOverflowError
逆向移植 HIVE-15177:当 kerberos 身份验证类型设置为 fromSubject 并且主体包含 _HOST 时,使用 hive 进行身份验证失败
逆向移植 HIVE-14898:若出现空授权标头错误,HS2 不会记录调用堆栈
逆向移植 HIVE-14493: 具体化视图的分区支持
逆向移植 HIVE-14431: 将 COALESCE 识别为 CASE
逆向移植 HIVE-13457:创建 HS2 REST API 端点以监控信息
逆向移植 HIVE-12342: 将 hive.optimize.index.filter 的默认值设置为 true
逆向移植 HIVE-10296:当 hive 在元存储上运行多连接查询时,发现强制转换异常
逆向移植 HIVE-6980:使用 direct sql 删除表

Amazon EMR 6.6.0 – Hive 配置更改

  • 作为 OSS 更改 HIVE-20703 的一部分,用于对动态分区进行排序的属性 hive.optimize.sort.dynamic.partition 已替换为 hive.optimize.sort.dynamic.partition.threshold

    hive.optimize.sort.dynamic.partition.threshold 配置具有以下潜在值:

    描述

    0

    (默认值)

    使用 ORC 文件时,对动态分区进行排序的优化将作为基于成本的决策。INSERT 查询中允许的最大写入器数根据(执行程序/容器内存)*(ORC 占用的内存百分比)除以单个写入器占用的最大内存(条带大小)计算得出。

    -1

    禁用优化以对动态分区进行完全排序。

    1

    对动态分区启用全局排序。这样可以使 Reducer 中的每个分区值只打开一个记录写入器,从而减小 Reducer 的内存压力。

    2

    (或更大的整数)

    告知 Hive 使用指定的整数作为最大写入器数的阈值。

Amazon EMR 6.6.0 – Hive 已知问题

  • 如果使用窗口函数对与交集函数相同的列进行查询,则可能会导致如 HIVE-25278 中报告的转换无效问题,并导致查询结果不正确或查询失败。解决方法是在查询级别为此类查询禁用 CBO。如需进一步的信息,请联系 Amazon Support。

  • Amazon EMR 6.6.0 包含 Hive 软件版本 3.1.2。Hive 3.1.2 引入了一项功能,如果文本文件包含页眉和页脚,则可将其拆分(HIVE-21924)。Apache Tez App Master 读取您的每个文件以确定数据范围内的偏移点。如果您的查询读取大量小型文本文件,这些行为综合起来可能会影响性能。解决方法是使用 CombineHiveInputFormat 并通过配置以下属性调整最大拆分大小:

    SET hive.tez.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; SET mapreduce.input.fileinputformat.split.maxsize=16777216;
  • 在 6.6.0 到 6.9.x 版 Amazon EMR 中,带有动态分区和 ORDER BY 或 SORT BY 子句的 INSERT 查询将始终具有两个 Reducer。此问题是由于 OSS 更改 HIVE-20703 所致,该更改将动态排序分区优化置于基于成本的决策之下。如果您的工作负载不需要对动态分区进行排序,建议将 hive.optimize.sort.dynamic.partition.threshold 属性设置为 -1 以禁用新功能并获得计算正确的 Reducer 数量。此问题已作为 HIVE-22269 的一部分在 OSS Hive 中修复,并已在 Amazon EMR 6.10.0 中修复。