Amazon EMR 6.6.0 - Hive リリースノート - Amazon EMR

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 により、velocity を 2.3 にアップグレード
バックポート HIVE-25680: #get_table_meta HiveMetastore サーバー API に HiveMetastore 認証モデルのいずれかを使用できるよう承認する。
バックポート HIVE-25554: arrow バージョンを 0.15 にアップグレード
バックポート HIVE-25242: vectorized.adaptor = を選択すると、クエリの実行が非常に遅くなる
バックポート HIVE-25085: MetaStore クライアントはセッション間で共有されなくなりました。
バックポート HIVE-24827: Hive 集約クエリは、テキスト以外のファイルに対して誤った結果を返します。
バックポート HIVE-24683: Hadoop23Shims getFileId は、存在しないパスに対して NPE が発生しやすい
バックポート HIVE-24656: マップ型および配列型で is null を使用したクエリの CBO が失敗する
バックポート HIVE-24556: 孫がないケースの DefaultGraphWalker を最適化
バックポート HIVE-24408: Parquet を 1.11.1 にアップグレード
バックポート HIVE-24391: branch-3.1 での FIX TestOrcFile の障害を修正
バックポート HIVE-24362: ノード数が多いツリーでは AST ツリー処理が最適ではない
バックポート HIVE-24316: branch-3.1 で ORC を 1.5.6 から 1.5.8 にアップグレード
バックポート HIVE-24307: property-file と-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 Info が 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: ParquetFooterInputFromCache で ByteBuffer への読み取りが壊れている
バックポート HIVE-22648: Parquet を 1.11.0 にアップグレード
バックポート HIVE-22640: Decimal64ColumnVector: パーティション列タイプが 10 進数の場合の ClassCastException
バックポート HIVE-22621: 不安定なテストケース: TestLlapSignerImpl.testSigning
バックポート HIVE-22533: LLAP デーモンのウェブ UI の潜在的な脆弱性を修正
バックポート HIVE-22532: PTFPPD が Rank/DenseRank 関数によってリミットを誤ってプッシュすることがある
バックポート HIVE-22514: HiveProtoLoggingHook が大量のメモリを消費する可能性がある
バックポート HIVE-22476: hive.fetch.task.convertion が none に設定されていると、Hive の datediff 関数が一貫性のない結果を返した
バックポート HIVE-22429: hive 3 で bucketing_version 1 を使用して移行されたクラスター化されたテーブルは、挿入に bucketing_version 2 を使用する
バックポート HIVE-22412: explain のときに StatsUtils が NPE をスローする
バックポート HIVE-22360: ロードされたファイルの列がテーブルスキーマの列数よりも多い場合、MultiDelimitSerDe は最後の列で間違った結果を返す
バックポート HIVE-22332: ORC-540 以降、Hive は有効なスキーマ展開設定を確認する必要がある
バックポート HIVE-22331: 引数なしの unix_timestamp は、タイムスタンプを秒単位ではなくミリ秒単位で返す
バックポート HIVE-22275: OperationManager.queryIdOperation が複数のクエリ ID を適切にクリーンアップしない
バックポート HIVE-22273: 一時ディレクトリを削除するとアクセスチェックが失敗する
バックポート HIVE-22270: commons-io を 2.6 にアップグレード
バックポート HIVE-22241: UDF を実装して、内部表現とグレゴリオ暦とユリウス暦のハイブリッド暦を使用して日付/タイムスタンプを解釈する
バックポート HIVE-22241: UDF を実装して、内部表現とグレゴリオ暦とユリウス暦のハイブリッドを使用して日付/タイムスタンプを解釈する
バックポート HIVE-22232: hive.order.columnalignment が false に設定されている場合の NPE
バックポート HIVE-22231: knox 経由の大きなサイズの Hive クエリが、パイプが壊れて書き込みの失敗で失敗する
バックポート 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: 特定の境界条件での左外側マップ結合での誤った結果/ArrayOutOfBound 例外を修正
バックポート HIVE-22115: プロパティが false に設定されている場合、クエリルーティングアペンダーが作成されないようにする
バックポート HIVE-22113: AMReporter 関連の RuntimeException での LLAP シャットダウンを防ぐ
バックポート HIVE-22106: パーティション評価用のクロスクエリ同期を削除
バックポート HIVE-22099: HIVE-20007 以降、いくつかの日付関連の UDF がユリウス暦を適切に処理できない
バックポート HIVE-22037: OOM が原因でシャットダウンするときに HS2 がログを記録する必要がある
バックポート HIVE-21976: Calcite HiveSortLimit では、オフセットはゼロではなくヌルでなければならない
バックポート HIVE-21924: ヘッダー/フッターが存在していてもテキストファイルを分割する
バックポート HIVE-21913: GenericUDTFGetSplits は LLAP と同じ方法でユーザー名を処理する必要がある
バックポート HIVE-21905: FetchOperator クラスに関するジェネリックの改善
バックポート HIVE-21902: HiveServer2 UI: jetty レスポンスヘッダーには X フレームオプションが必要
バックポート HIVE-21888: hive.parquet.timestamp.skip.convertion のデフォルトを true に設定
バックポート HIVE-21868: CAST...FORMAT をベクトル化
バックポート HIVE-21864: LlapBaseInputFormat#closeAll
バックポート HIVE-21863: WHEN 式の Vectorizer 型キャストを改善
バックポート HIVE-21862: ORC ppd がタイムスタンプ付きの間違った結果を生成する
バックポート HIVE-21846: LlapDaemon のメトリクスを定期的に取得するスレッドを TezAM に作成する
バックポート HIVE-21837: 選択した列の値が完全に NULL の場合、MapJoin は例外を投げる
バックポート HIVE-21834: 不要な呼び出しを避けてフィルター条件を簡素化
バックポート HIVE-21832: キュー/サービング/レスポンスの平均時間を取得する新しいメトリクス
バックポート HIVE-21827: SemanticAnalyzer での複数の呼び出しが getTableObjectByName メソッドを経由しない
バックポート HIVE-21822: 新しい API メソッドを通じて LlapDaemon メトリクスを公開する
バックポート HIVE-21818: CBO: TableRelOptHiveTable のコピー中にメタストアトラフィックが発生する
バックポート HIVE-21815: ORC ファイル内の統計が 2 回解析される
バックポート HIVE-21805: HiveServer2: 高速 ShutdownHookManager API を使用する
バックポート HIVE-21799: 結合キーが集約列にある場合の DynamicPartitionPruningOptimization での NullPointerException
バックポート HIVE-21794: sqlStdAuthSafeVarNameRegexes にマテリアライズドビューパラメータを追加
バックポート HIVE-21768: JDBC: 囲まれていない UNION クエリのデフォルトのユニオンプレフィックスを削除
バックポート HIVE-21746: CBO が無効になっている動的パーティションハッシュ結合中の ArrayIndexOutOfBoundsException
バックポート HIVE-21717: 移動タスクでディレクトリの名前変更に失敗する。
バックポート HIVE-21685: 複数の IN 句を含むクエリの簡略化が間違っている
バックポート HIVE-21681: 書式設定された説明で複数のプライマリキーについて、誤った情報が表示される
バックポート HIVE-21651: protobuf serde を hive-exec に移動。
バックポート HIVE-21619: SQL explain 拡張でタイムスタンプ型を精度なしで出力する
バックポート 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: Group by キー削減の最適化 - query23 でキーが削減されない
バックポート HIVE-21362: protobuf ファイルから読み込むための入力フォーマットと serde を追加。
バックポート 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: ファイルの重複排除 compareTempOrDuplicateFiles にはファイルサイズの代わりに attemptId を使う
バックポート HIVE-21184: 説明を追加し、コスト情報を含むフォーマット済み CBO プランを説明する
バックポート HIVE-21182: 計画中に hive スクラッチディレクトリのセットアップをスキップする
バックポート 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 を拡張して semijoins を削除する
バックポート HIVE-20992: hive.metastore.dbaccess.ssl.properties の設定をより意味のある設定に分割する
バックポート HIVE-20989: JDBC - GetOperationStatus + ログがスリープによってクエリの進行を妨げることがある
バックポート HIVE-20988: プライマリキーが複数の列にある group by クエリの結果が正しくない
バックポート HIVE-20985: select 演算子の入力が一時的な列の場合、ベクトル化によってその一部が出力として再利用されることがある
バックポート 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」で失敗する
バックポート HIVE-20926: ブルームフィルターのエントリが多い場合や統計がない場合、セミ結合削減ヒントが失敗する
バックポート HIVE-20920: SQL 制約を使用して結合順序変更アルゴリズムを改善
バックポート HIVE-20918: Calcite から JDBC 接続への計算のプッシュダウンを有効/無効にするフラグ
バックポート HIVE-20915: 動的ソートパーティションの最適化を HoS と MR で利用できるようにする
バックポート HIVE-20910: 動的パーティションソートの最適化により、バケットテーブルへの挿入が失敗する
バックポート HIVE-20899: LLAP YARN サービスの Keytab URI は HDFS のみをサポートするように制限されている
バックポート HIVE-20898: 時間関連の関数では、引数を NULL 値を許容しない型にキャストできない場合がある
バックポート HIVE-20881: 定数伝播は投影を単純化しすぎる
バックポート HIVE-20880: hive.stats.filter.in.min.ratio のデフォルト値を更新
バックポート HIVE-20873: ハッシュ衝突を減らすために、VectorHashKeyWrapperTwoLong に Murmur hash を使用する
バックポート HIVE-20868: TezDummyOperator に MapRecordProcessor の getFinalOp の子オペレーションがあると、SMB Join が断続的に失敗する
バックポート HIVE-20853: llap デーモン API の ShuffleHandler.registerDag を公開する
バックポート HIVE-20850: 可能であれば条件付きでケースをプロジェクションからディメンションテーブルにプッシュする
バックポート HIVE-20842: HIVE-20660 で導入されたロジックを group by の統計を推定するように修正
バックポート HIVE-20839: 動的にパーティション化されたハッシュ結合中に「Cannot find field」というエラーが発生する
バックポート HIVE-20835: 制約と MV の書き換えが相互作用して、Calcite プランナーでループが発生することがある
バックポート HIVE-20834: キャッシュされたクエリから SemanticAnalyzer への参照を保持する Hive QueryResultCache エントリ
バックポート HIVE-20830: JdbcStorageHandler の範囲クエリアサーションが失敗する場合がある
バックポート HIVE-20829: JdbcStorageHandler の範囲分割により NPE が発生する
バックポート HIVE-20827: 空の配列の結果に一貫性がない
バックポート HIVE-20826: HiveSemiJoin ルールを強化して、左側の join + group by を Left Semi Join に変換する
バックポート 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: タスクごとの CPU カウンターを LLAP に記録する
バックポート HIVE-20768: タンブリングウィンドウ UDF の追加
バックポート HIVE-20767: 結合演算子間の複数のプロジェクトが、制約を使用した結合の順序変更に影響することがある
バックポート HIVE-20762: NOTIFICATION_LOG のクリーンアップ間隔が 60 秒でハードコードされており、短すぎる
バックポート HIVE-20761: notification_sequence テーブルの更新対象として選択すると再試行間隔があり、再試行回数が少なすぎる
バックポート HIVE-20751: arrow をバージョン 0.10.0 にアップグレード
バックポート HIVE-20746: HiveProtoHookLogger が 1 日の終わりにファイルを閉じない。
バックポート HIVE-20744: SQL 制約を使用して結合順序変更アルゴリズムを改善
バックポート HIVE-20740: ObjectStore.setConf メソッドのグローバルロックを削除。このチェリーピックは、Hive 3.2 および 4.x 用の HIVE-20740 を 3.1.x にバックポートします。
バックポート HIVE-20734: Beeline: beeline-site.xml で hive CLI が beeline にリダイレクトする場合、プロンプトの代わりにシステムユーザー名/ダミーパスワードを使用する必要がある
バックポート HIVE-20731: JdbcStorageHandler 内のキーストアファイルは承認される必要がある
バックポート HIVE-20720: JDBC ハンドラーにパーティション列オプションを追加
バックポート HIVE-20719: hive.optimize.sort.dynamic.partition の最適化とベクトル化をオンにすると、UPDATE の後の SELECT ステートメントが失敗する
バックポート 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: マップ結合選択時のデータ構造を考慮した推定によるオーバーヘッドを考慮する
バックポート 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 が 2 つの異なるデータソースの結合を JDBC ドライバーにプッシュする
バックポート HIVE-20651: JdbcStorageHandler のパスワードは暗号化する必要がある
バックポート HIVE-20649: Orc 書き込み用の LLAP 対応メモリマネージャー
バックポート HIVE-20648: LLAP: Vector group by 演算子はエグゼキュターごとにメモリを使用する必要がある
バックポート HIVE-20646: パーティションフィルター条件に IS NOT NULL が設定されている場合、メタストアクエリにプッシュダウンされない
バックポート HIVE-20644: Hive ランタイム例外による機密情報の公開を回避する
バックポート HIVE-20636: outer join 後のヌル値数の推定を改善
バックポート HIVE-20632: クエリされたテーブルにマテリアライズドビューが作成されると、get_splits UDF によるクエリが失敗する
バックポート HIVE-20627: 同時実行の非同期クエリが LockException で断続的に失敗し、メモリリークが発生する
バックポート HIVE-20623: 共有作業: LLAP のマップ結合キャッシュエントリの共有を拡張
バックポート HIVE-20619: HiveServer2 に MultiDelimitSerDe をデフォルトで含める
バックポート HIVE-20618: 結合選択中に、バケット化されていないテーブルに BucketMapJoin が選択されることがある
バックポート HIVE-20617: IN 式の定数の型が正しい型になるように修正
バックポート HIVE-20612: CBO 用の新しいジョインマルチキー相関フラグを作成
バックポート HIVE-20603: テーブルロケーションファイルシステムを変更した後にパーティションに挿入すると「Wrong FS」エラーが発生する
バックポート HIVE-20601: DbNotificationListener の ALTER_PARTITION イベントの EnvironmentContext が NULL
バックポート HIVE-20583: HiveConnection の kerberos 認証には正規のホスト名のみを使用する
バックポート HIVE-20582: hive プロトロギングの hflush を設定可能にする
バックポート HIVE-20563: ベクトル化: THEN/ELSE 型と結果の型が異なる場合に CASE WHEN 式が失敗する
バックポート HIVE-20558: hive.hashtable.key.count.adjustment のデフォルトを 0.99 に変更
バックポート HIVE-20552: LogicalPlan からスキーマをより速く取得
バックポート HIVE-20550: beeline を使用して Hive クエリを送信するように WebHCat を切り替える
バックポート HIVE-20537: CBO と Hive で異なる非相関列を使用した複数列結合推定
バックポート HIVE-20524: Hive バージョン 2 からバージョン 3 への移行時に、ALTER TABLE VARCHAR から DECIMAL へのスキーマ進化チェックが壊れる
バックポート HIVE-20522: HiveFilterSetOpTransposeRule は、フィールドの null 値許容性が原因でアサーションエラーを投げることがある
バックポート 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: マップ結合選択時にデータ構造を考慮した推定を使用する
バックポート HIVE-20498: 列統計自動収集の日付型をサポート
バックポート HIVE-20496: ベクトル化: ベクトル化 PTF IllegalStateException
バックポート HIVE-20494: HIVE-19440 以降、GenericUDFRestrictInformationSchema が壊れている
バックポート 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: 入れ子になった Coalesce で間違った結果が出る
バックポート HIVE-20399: 完全修飾されていないカスタムテーブルの場所を含む CTAS は MM テーブルで失敗する
バックポート HIVE-20393: Semijoin 削減: markSemiJoinForDPP の動作が一貫しない
バックポート HIVE-20391: 集約関数を分解すると、HiveAggregateReduceFunctionsRule が間違った戻り値の型を推測することがある
バックポート HIVE-20383: hive プロトイベントフックの無効なキュー名と同期の問題。
バックポート HIVE-20367: ベクトル化: PTF AVG、MAX、MIN、SUM のストリーミングのサポート
バックポート HIVE-20366: TPC-DS query78 の is null フィルターの統計推定値がずれている
バックポート HIVE-20364: hive.map.aggr.hash.min.reduction デフォルトをアップデート
バックポート HIVE-20352: ベクトル化: グループ化関数をサポート
バックポート HIVE-20347: hive.optimize.sort.dynamic.partition はパーティション化された CTAS と MV で動作する必要がある
バックポート HIVE-20345: 別の呼び出しからテーブルが削除されると、Drop database がハングアップすることがある
バックポート HIVE-20343: Hive 3: CTAS は transactional_properties を考慮しない
バックポート HIVE-20340: タイムスタンプ関数の出力を Strin として使用する場合、Druid はタイムスタンプから文字列への明示的な CAST を必要とする
バックポート HIVE-20339: ベクトル化: RANK を持つ一部の PTF がベクトル化されない原因となっている不要な制限を解除する
バックポート HIVE-20337: CachedStore: getPartitionsByExpr がパーティションリストに正しく入力されていない
バックポート HIVE-20336: マテリアライズドビューのマスキングポリシーとフィルタリングポリシー
バックポート HIVE-20326: NO RELY の代わりに RELY をデフォルトとして制約を作成
バックポート HIVE-20321: ベクトル化: VectorHashKeyWrapper の 1 列のメモリサイズを 1 CacheLine 未満に削減
バックポート HIVE-20320: hive.optimize.remove.sq_count_check フラグをオンにする
バックポート HIVE-20315: ベクトル化: NULL/誤った結果に関する問題をさらに修正し、不要なキャスト/変換を回避
バックポート HIVE-20314: マテリアライズドビューの書き換えにパーティションプルーニングを含める
バックポート HIVE-20312: arrow クライアントが LlapOutputFormatService で独自の BufferAllocator を使用できるようにする
バックポート 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: ベクトル化: BOOLEAN を返すケース式は FILTER ではサポートされていない
バックポート HIVE-20267: WebUI を拡張してログレベルを動的に設定するフォームを含める
バックポート HIVE-20263: HiveReduceExpressionsWithStatsRule 変数のタイプミス
バックポート HIVE-20260: 別の列のフィルターによって行数が変更された場合、列の NDV をスケールしてはならない
バックポート HIVE-20252: Semijoin 削減: 小さいテーブル側の上流にマップ結合があると、セミ結合ブランチによるサイクルが検出されないままになることがある。
バックポート HIVE-20245: ベクトル化: BETWEEN/IN の NULL/間違った結果の問題を修正
バックポート HIVE-20241: CTAS ステートメントのパーティショニング仕様をサポート
バックポート HIVE-20240: Semijoin 削減: ローカル変数を使用して外部テーブル条件をチェック
バックポート 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: 非パーティション列のフィルターと変換が最小限の場合、シンプルなフェッチオプティマイザーが MapReduce につながる
バックポート HIVE-20209: repl ダンプでの最初の試行でメタストア接続が失敗する
バックポート HIVE-20207: ベクトル化: フィルター/比較での NULL/間違った結果の問題を修正
バックポート HIVE-20204: IN 時の型変換
バックポート HIVE-20203: Arrow SerDe が DirectByteBuffer をリークする
バックポート HIVE-20197: ベクトル化: DECIMAL_64 テストの追加、日付/間隔/タイムスタンプ算術の追加、および GROUP BY 集計機能の追加
バックポート HIVE-20193: 説明プランの JSON に cboInfo がない
バックポート HIVE-20192: メタストアが埋め込まれた HS2 から JDOPersistenceManager オブジェクトがリークする
バックポート HIVE-20183: ソーステーブルに空のバケットが含まれている場合、バケット化されたテーブルから挿入するとデータが失われる可能性がある
バックポート HIVE-20177: ベクトル化: GroupBy ストリーミングモードでの KeyWrapper 割り当ての削減
バックポート HIVE-20174: ベクトル化: GROUP BY 集計関数における NULL/誤った結果の問題を修正
バックポート HIVE-20172: StatsUpdater がリモートメタストアに接続しようとしたときに GSS 例外が発生して失敗した
バックポート HIVE-20153: Hive 2 以上で UDF をカウントして合計するとメモリ消費量が増える
バックポート HIVE-20152: repl ダンプが失敗したときにデータベースの状態をリセットし、テーブルの名前を変更できるようにする
バックポート HIVE-20149: TestHiveCli の失敗/タイムアウト
バックポート HIVE-20130: 情報スキーマシンクロナイザーのロギングの改善
バックポート HIVE-20129: orc テーブルについてポジションベースのスキーマ進化に戻す
バックポート HIVE-20118: SessionStateUserAuthenticator.getGroupNames
バックポート HIVE-20116: TezTask はペアレントロガーを使用している
バックポート HIVE-20115: Acid テーブルは分析にフッタースキャンを使うべきではない
バックポート HIVE-20103: WM: 少なくとも 1 つを使用している場合のみ DAG カウンターを集約する
バックポート HIVE-20101: BloomKFilter: ローカルの byte[] 配列を使用することは完全に避ける
バックポート HIVE-20100: OpTraits: 不一致が検出された場合は Optraits の選択を停止する必要がある
バックポート HIVE-20098: 統計: 日付列のパーティション統計を取得する場合の NPE
バックポート HIVE-20095: jdbc 外部テーブルに計算をプッシュする機能を修正
バックポート HIVE-20093: LlapOutputFomatService: アカウンティングには Netty で ArrowBuf を使用する
バックポート HIVE-20090: semijoin 削減フィルターの作成を拡張して新しいオポチュニティを発見できるようにする
バックポート HIVE-20088: Beeline コンフィグのロケーションパスが正しくアセンブルされていない
バックポート HIVE-20082: HiveDecimal を文字列に変換しても、10 進数が正しくフォーマットされない
バックポート HIVE-20069: DPP と Semijoin の最適化の場合の再最適化を修正
バックポート HIVE-20051: 一時テーブルの認証をスキップする
バックポート HIVE-20044: Arrow Serde は文字値を埋め、空の文字列を正しく処理する必要がある
バックポート HIVE-20028: メタストアクライアントのキャッシュ設定が正しく使用されていない
バックポート HIVE-20025: HiveProtoLoggingHook によって作成されたイベントファイルのクリーンアップ
バックポート HIVE-20020: Hive contrib jar はライブラリにあってはいけない
バックポート HIVE-20013: to_date 関数の日付型への暗黙的なキャストを追加
バックポート HIVE-20011: プロトロギングフックの追加モードから離れる
バックポート 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 Join: PTFOperator ala GBY Op に Optraits が必要
バックポート HIVE-19935: Hive WM セッションが強制終了された: LLAP タスクカウントを更新できなかった
バックポート HIVE-19924: Repl Load によって実行される distcp ジョブにタグを付ける
バックポート HIVE-19891: カスタムパーティションディレクトリを含む外部テーブルに挿入すると、データが失われる可能性がある
バックポート HIVE-19850: Tez の動的パーティションプルーニングにより、「No work found for tablescan」というエラーが発生する
バックポート HIVE-19806: qtests の出力をソートしてテスト結果が不安定にならないようにする
バックポート HIVE-19770: select に同じ列が複数あるクエリの CBO の Support
バックポート HIVE-19769: データベースとテーブル名専用のオブジェクトを作成する
バックポート HIVE-19765: BlobstoreCliDriver に Parquet 固有のテストを追加
バックポート HIVE-19759: フレーキーテスト: TestRpc#testServerPort
バックポート HIVE-19711: Hive スキーマツールのリファクタリング
バックポート HIVE-19701: getDelegationTokenFromMetaStore は同期させる必要がない
バックポート HIVE-19694: マテリアライズドビューの作成ステートメントは、MV の SQL ステートメントを実行する前に MV 名の競合をチェックする必要がある。
バックポート HIVE-19674: Group by 10 進定数が 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: ベクトル化: 算術での NULL/誤った結果の問題を修正
バックポート HIVE-19552: TestMiniDruidKafkaCliDriver#druidkafkamini_basic.q を有効にする
バックポート HIVE-19432: hive に含まれるデータベースとテーブルの数が多すぎると、GetTablesOperation が遅すぎる
バックポート HIVE-19360: CBO: 「optimizedSQL」を QueryPlan オブジェクトに追加
バックポート 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: ACID ORC と Parquet のサポートを統一するために「CREATE TRANSACTIONAL TABLE」構文を追加
バックポート HIVE-18201: sq_count_chec の XPROD_EDGE を無効にする
バックポート HIVE-18140: 基本統計が混在していると、パーティションテーブルの統計が間違ってしまうことがある
バックポート HIVE-17921: LLAP で構造体を使って集計すると間違った結果になる
バックポート HIVE-17896: TopNKey: ベクトル化可能なスタンドアロンの TopNKey 演算子を作成する
バックポート HIVE-17840: transactionalListeners.notifyEvent が失敗した場合 HiveMetaStore は例外を受け取る
バックポート HIVE-17043: 後で参照されない場合、一意でない列を group by キーから削除する
バックポート HIVE-17040: FK リレーションシップが存在する場合の Join 削除
バックポート 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: ダイレクト SQL を使用してテーブルをドロップする

Amazon EMR 6.6.0 - Hive 設定の変更点

  • OSS 変更 HIVE-20703 の一環として、動的パーティションをソートするプロパティ hive.optimize.sort.dynamic.partitionhive.optimize.sort.dynamic.partition.threshold に置き換えられました。

    hive.optimize.sort.dynamic.partition.threshold 構成には次のような潜在的な値があります。

    説明

    0

    (デフォルト)

    ORC ファイルを使用する際に、動的パーティションのソートの最適化をコストベースで決定できるようにします。INSERT クエリで許可されるライターの最大数は、(エグゼキューター/コンテナメモリ) * (orc が使用するメモリの割合) を単一のライターが使用する最大メモリ (ストライプサイズ) で割って計算されます。

    -1

    動的パーティションを完全にソートする最適化を無効にします。

    1

    動的パーティションのグローバルソートを有効にします。これにより、リデューサー内のパーティション値ごとに 1 つのレコードライターのみが開いたままになるため、リデューサーにかかるメモリ負荷が軽減されます。

    2

    (またはそれより大きい整数)

    指定された整数をライターの最大数のしきい値として使用するよう Hive に指示します。

Amazon EMR 6.6.0 - Hive の既知の問題

  • join と同じ列にウィンドウ関数があるクエリは、HIVE-25278 で報告されているように無効な変換を引き起こし、誤った結果やクエリ失敗の原因となることがあります。回避策として、このようなクエリのクエリレベルで CBO を無効にすることができます。詳細については、AWS サポートにお問い合わせください。

  • 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;
  • Amazon EMR 6.6.0 から 6.9.x では、動的パーティションと ORDER BY 句または SORT BY 句を使用した INSERT クエリには常に 2 つのリデューサーがあります。この問題は、OSS が変更された HIVE-20703 が原因です。これにより、動的ソートパーティションの最適化がコストベースの決定下に置かれます。ワークロードで動的パーティションのソートが不要な場合は、hive.optimize.sort.dynamic.partition.threshold プロパティを -1 に設定して新機能を無効にし、リデューサーの数を正しく計算することをお勧めします。この問題は、HIVE-22269 の一部として OSS Hive で修正され、Amazon EMR 6.10.0 で修正されています。