# hive-own-fork-fix-bug **Repository Path**: magic-flute_1/hive-own-fork-fix-bug ## Basic Information - **Project Name**: hive-own-fork-fix-bug - **Description**: HIVE4.0.1的自用补丁版本 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: branch-4.0.1-own - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 4 - **Created**: 2024-10-12 - **Last Updated**: 2025-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: hive ## README Apache Hive (TM) ================ [![Master Build Status](https://travis-ci.org/apache/hive.svg?branch=master)](https://travis-ci.org/apache/hive/branches) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.hive/hive/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.hive%22) 一些基础说明 ==================== HIVE4.0.1的自用补丁版本,这个版本的特性与稳定性高于社区4.0.1版本. 在提前修复功能的前提下,一个主要的工作是可以让HIVE在脱离TEZ-4248的前提下正常读取iceberg表. 但是4.0.1版本不能write iceberg table,因为目前开启tez merge file后会破坏iceberg表. 支持iceberg write table所需的补丁为(HIVE-28069 and HIVE-28267) 但是这两个补丁太大了,我暂时不想打. 如果需要这两个补丁,请协助提交PR或联系我. 此外,如果有一些其他的功能补丁需要我打,也请提交PR或者联系我. Running hive4 on hadoop3.x ==================== 虽然官方的版本中,要求hive4依赖hadoop3.3.6.但是实际上,在ON YARN的 环境中.我们可以将所有的hadoop相关依赖打包给tez/hive. 使它们在运行期不需要 依赖原有hadoop集群环境中的lib依赖.通过这种方式,我们可以在hadoop3.x系列基础API相互通用的前提下 实现在低版本hadoop中运行HIVE4. 具体步骤如下: 1. 下载高版本Hadoop包,解压后,将HIVE4中的env脚本的hadoop_home指向高版本hadoop的解压路径 2. 编译TEZ,打出包含全部hadoop依赖的富依赖tez.tar.gz,并放置在hdfs的某个路径中.(这表示你可以放多套tez) 3. 在tez-site.xml中.设置如下两个conf,配置为仅使用tez自带lib.对于nativeLib,可以复用集群现有的. ```js tez.lib.uris /{hdfs-dir}/apache-tez-0.10.4-bin.tar.gz tez.lib.uris.classpath $PWD/tezlib/*,$PWD/tezlib/lib/* tez.am.launch.env LD_LIBRARY_PATH=/usr/hdp/3.1.0.0-78/hadoop/lib/native tez.task.launch.env LD_LIBRARY_PATH=/usr/hdp/3.1.0.0-78/hadoop/lib/native ``` 通过上述步骤,我们可以在任意Hadoop3环境中运行Hive4+tez.用户不需要升级集群原有的hive hadoop tez. 完整的tez包可以联系 http://www.hdp.link/contact/ 获取. 或者TEZ可以在这里下载:http://data-plat.oss-cn-zhangjiakou.aliyuncs.com/shared/apache-tez-0.10.4-bin.tar.gz?OSSAccessKeyId=LTAI5tP5FMKsV3NgMbj4WLy1&Expires=1800430358&Signature=b52RDPCZ1IMGm5KhPZdMBr7%2BokQ%3D 这部分文档目前已贡献至官网:https://hive.apache.org/docs/latest/admin/manual-installation/#installing-with-old-version-hadoopgreater-than-or-equal-310 Start ==================== The Apache Hive (TM) data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Built on top of Apache Hadoop (TM), it provides: * Tools to enable easy access to data via SQL, thus enabling data warehousing tasks such as extract/transform/load (ETL), reporting, and data analysis * A mechanism to impose structure on a variety of data formats * Access to files stored either directly in Apache HDFS (TM) or in other data storage systems such as Apache HBase (TM) * Query execution using Apache Hadoop MapReduce or Apache Tez frameworks. Hive provides standard SQL functionality, including many of the later 2003 and 2011 features for analytics. These include OLAP functions, subqueries, common table expressions, and more. Hive's SQL can also be extended with user code via user defined functions (UDFs), user defined aggregates (UDAFs), and user defined table functions (UDTFs). Hive users can choose between Apache Hadoop MapReduce or Apache Tez frameworks as their execution backend. Note that MapReduce framework has been deprecated since Hive 2, and Apache Tez is recommended. MapReduce is a mature framework that is proven at large scales. However, MapReduce is a purely batch framework, and queries using it may experience higher latencies (tens of seconds), even over small datasets. Apache Tez is designed for interactive query, and has substantially reduced overheads versus MapReduce. Users are free to switch back and forth between these frameworks at any time. In each case, Hive is best suited for use cases where the amount of data processed is large enough to require a distributed system. Hive is not designed for online transaction processing. It is best used for traditional data warehousing tasks. Hive is designed to maximize scalability (scale out with more machines added dynamically to the Hadoop cluster), performance, extensibility, fault-tolerance, and loose-coupling with its input formats. General Info ============ For the latest information about Hive, please visit out website at: http://hive.apache.org/ Getting Started =============== - Installation Instructions and a quick tutorial: https://cwiki.apache.org/confluence/display/Hive/GettingStarted - Instructions to build Hive from source: https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-BuildingHivefromSource - A longer tutorial that covers more features of HiveQL: https://cwiki.apache.org/confluence/display/Hive/Tutorial - The HiveQL Language Manual: https://cwiki.apache.org/confluence/display/Hive/LanguageManual Requirements ============ Java ------ | Hive Version | Java Version | | ------------- |:-------------:| | Hive 1.0 | Java 6 | | Hive 1.1 | Java 6 | | Hive 1.2 | Java 7 | | Hive 2.x | Java 7 | | Hive 3.x | Java 8 | | Hive 4.x | Java 8 | Hadoop ------ - Hadoop 1.x, 2.x - Hadoop 3.x (Hive 3.x) - Hadoop 3.3.6 (Hive 4.x) Upgrading from older versions of Hive ===================================== - Hive includes changes to the MetaStore schema. If you are upgrading from an earlier version of Hive it is imperative that you upgrade the MetaStore schema by running the appropriate schema upgrade scripts located in the scripts/metastore/upgrade directory. - We have provided upgrade scripts for MySQL, PostgreSQL, Oracle, Microsoft SQL Server, and Derby databases. If you are using a different database for your MetaStore you will need to provide your own upgrade script. Useful mailing lists ==================== 1. user@hive.apache.org - To discuss and ask usage questions. Send an empty email to user-subscribe@hive.apache.org in order to subscribe to this mailing list. 2. dev@hive.apache.org - For discussions about code, design and features. Send an empty email to dev-subscribe@hive.apache.org in order to subscribe to this mailing list. 3. commits@hive.apache.org - In order to monitor commits to the source repository. Send an empty email to commits-subscribe@hive.apache.org in order to subscribe to this mailing list.