首页 > 其他分享 >基于Hadoop3.1.3安装Hive3.1.2

基于Hadoop3.1.3安装Hive3.1.2

时间:2023-05-06 17:46:14浏览次数:47  
标签:java Hive3.1 Hive hadoop Hadoop3.1 hive apache org 安装

Hive是什么?

\t Hive 是一个基于 Hadoop 的数据仓库工具,它提供了类似 SQL 的查询语言 HQL(Hive Query Language),使得开发人员可以使用类 SQL 语言来查询和处理存储在大规模 分布式文件系统(如 HDFS)中的数据。

Hive有哪些功能?

Hive 的主要功能包括数据存储、查询和分析等。通过将 SQL 语句转换为 MapReduce 程序,Hive 可以实现数据的批量处理和分析。此外,Hive 还支持自定义函数、数据读写、数据导入导出等功能,非常适合用于数据仓库、ETL、数据分析等领域。

Hive的元数据是什么?原理?

Hive 的原理是将 SQL 语句编译为 MapReduce 程序(或者 Tez 程序),并在 Hadoop 集群上运行这些程序来处理数据。

相比于直接使用 MapReduce 编程,Hive 提供了更加高级的抽象和语言特性,使得开发人员可以更加方便地进行数据处理和分析。

在 Hive 中,存储了大规模数据文件,这些数据文件通常存储在分布式文件系统 HDFS 或其它支持的文件系统中。

而元数据则是描述这些数据文件的数据,例如表名、存储位置、列名、分区、分桶、视图、列信息等,元数据可以存储在 Hive 的本地文件系统、SQLite 或外部数据库(如Oracle,通常是MySQL)中。

通过元数据,Hive 可以定义表结构、查询数据、优化查询计划等。

因为 Hive 的设计目标是面向大数据处理和分析,因此其元数据必须要能够管理海量数据,而且要具备高效查询和管理的能力。Hive 使用了一些优化技术,例如将元数据缓存在内存中,减少 I/O 操作次数等,来实现高效的元数据管理。

Hive与Mysql这类数据库的区别?

Hive 是一种基于 Hadoop 的数据仓库工具,而 MySQL 和 Oracle 等常见数据库是关系型数据库管理系统。与关系型数据库不同,Hive 不直接处理实时事务,而是被设计用于处理离线查询和分析大规模的非结构化和半结构化数据,例如网站日志、社交网络数据、音频/视频文件等。

在使用上,Hive 使用类 SQL 语言(称为 HiveQL)来操作数据,而 MySQL 和 Oracle 则使用 SQL 语言。此外,Hive 同样支持分布式计算和并行处理,能够处理规模更大、复杂度更高的数据,并且可以利用 Hadoop 生态圈中的其他工具来进行数据处理和分析。

综上所述,Hive 主要适用于大规模非结构化或半结构化数据的离线查询和分析,而 MySQL 和 Oracle 主要用户存储和管理结构化数据,并支持实时事务处理。

安装hive 后输入hive报错:

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
	at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357)
	at org.apache.hadoop.conf.Configuration.set(Configuration.java:1338)
	at org.apache.hadoop.mapred.JobConf.setJar(JobConf.java:518)
	at org.apache.hadoop.mapred.JobConf.setJarByClass(JobConf.java:536)
	at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:430)
	at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5141)
	at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5099)
	at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:97)
	at org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:81)
	at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:699)
	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.hadoop.util.RunJar.run(RunJar.java:318)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:232)

参考:https://blog.csdn.net/GQB1226/article/details/102555820
将hadoop中的高版本的guava包替换掉hive中的低版本的包

cp hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar hive-3.1.2/lib/

创建示例表

CREATE TABLE employee (
  id INT,
  name STRING,
  gender STRING,
  age INT,
  department STRING,
  salary FLOAT,
  address STRING)
COMMENT 'Store employee information'
PARTITIONED BY (year INT, month INT)
CLUSTERED BY (department) INTO 3 BUCKETS
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS ORC
TBLPROPERTIES ('creator'='jmd', 'create_time'='2023-04-28')

标签:java,Hive3.1,Hive,hadoop,Hadoop3.1,hive,apache,org,安装
From: https://www.cnblogs.com/jmd300/p/17378107.html

相关文章

  • 关于 “无法启动此程序,因为计算机中丢失mfc140.dll,尝试重新安装该程序已解决此问题”
      这个问题花了很久的时间百度,后来终于理解了dll文件的作用。VC运行库有必要下吗?VC++运行库有什么用?vc运行库里面包含的dll和ocx文件可以确保很多软件能够正常运行,因为有很多软件是用VC++语言编写的,那么在运行的时候也需要相应的运行库支持,下面系统之家小编来详细介绍一下V......
  • harbor offline快速安装
    Harbor介绍介绍引用:https://www.oschina.net/p/harbor?hmsr=aladdin1e1Harbor是由VMware公司中国团队为企业用户设计的Registryserver开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等......
  • ex2010安装部署
    本文描述的是在WindowsServer2008R2上面安装ex2010_sp3。目录目录1、安装系统必备组件2、安装ExchangeServer2010SP33、启用OutlookAnywhere功能1、安装系统必备组件先安装如下2个补丁+.net3.5SP1:添加【应用程序服务器】角色,如下图所示:同时以后如果要启用Outloo......
  • ex2016安装部署
    本文描述在WindowsServer2016上面安装exchangeserver2016CU21目录目录1、安装系统必备组件2、安装exchangeserver20161、安装系统必备组件安装以下补丁包和相关的组件,如下图所示:2、安装exchangeserver2016运行安装向导,如下图所示:exchangeserver2016开始,只......
  • mongodb分布式安装部署
    关键字:mongodb分布式安装部署附件是mongodb服务器分布式部署权威文档:其他不错的集群参考文章:搭建高可用MongoDB集群(一):配置MongoDB:http://blog.jobbole.com/72610/搭建高可用MongoDB集群(二):副本集:http://blog.jobbole.com/72624/搭建高可用MongoDB......
  • yum 下载全量依赖 rpm 包及离线安装
    yum下载全量依赖rpm包及离线安装简介通常生产环境由于安全原因都无法访问互联网。此时就需要进行离线安装,主要有两种方式:源码编译、rpm包安装。源码编译耗费时间长且缺乏编译环境,所以一般都选择使用离线rpm包安装。验证环境Centos7.8查看依赖包可以使用“yumdeplist......
  • 戴尔笔记本u盘安装Ubuntu记录
    1.镜像下载www.ubuntu,com2.启动盘制作工具名称:rufus网址:Rufus-轻松创建USB启动盘界面: 3.一些问题(1)安装ubuntu18时安装类型不显示进入BIOS(dell是开机时按F2)的Ssystemconfiguration----sata设置----更改为ACHI—apply保存—exit退出......
  • [HiBench] 安装HiBench,测试在Spark上跑PageRank与修改源码测试
    [HiBench]安装HiBench,测试在Spark上跑PageRank与修改源码测试背景:我想在HiBench上测试在Spark上跑PageRank性能,并想要修改PageRank的源码进行测试。本来,HiBench在README里写的已经挺清楚的了,直接照着做就行。奈何我用的服务器没有珂学上网,所以还是遇到了一点小麻烦。下载HiBe......
  • manjaro安装obs报错:could not find all required packages: vid.stab>=1.1.1
    问题与解决方法问题pacman-Sobs-studio安装的obs打不开。尝试yay装yay-Sobs-studio-tytan652使用以上指令安装OBS报错:缺少依赖vid.stab>=1.1.1(也可能是:缺少依赖:ffmpeg-obs)然后安装ffmpeg-obs也报错:缺少依赖vid.stab>=1.1.1解决方法sudopacman-Svid.stab(......
  • centos7使用yum安装postgis数据库
    https://www.postgresql.org/download/linux/redhat/1添加PostgreSQLYum源sudoyuminstallepel-releasesudoyuminstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm2安装PostgreSQL和PostGISsudo......