环境 Centos 5.5 (32位) , hadoop-1.2.1 ,hive-0.14.0(替代品spark可以学一下)
目录:
1 Hive 来历与作用
2 Hive官网
3 Hive 安装的三种模式
4 安装前提 (Hadoop 与mysql已经安装并测试完毕)
5 安装Hive
6 配置环境变量 并生效
7 创建Hive的配置文件 hive-log4j.properties 和hive-site.xml
8 修改hive-site.xml,将数据库连接改为Mysql
9 创建hive在hdfs上的目录并赋予写权限
10 修改 hive-log4j.properties 和hive-site.xml 中将${system:java.io.tmpdir},替换为/home/hive/tmp/
否者会出异常
11 拷贝mysql的驱动包到hive/lib目录中
12 启动hive并测试
-------------------------------------------------------------------------------------------------
详细:
1 Hive 来历与作用
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
2 Hive官网
http://hive.apache.org/
3 Hive 安装的三种模式
1 内嵌模式:将元数据保存在内嵌的Derby的数据库中,优点:安装简单 缺点:因为一个内嵌的Derby的数据库只能访问一个数据文件,这意味着这种方式不支持多回话连接,所以紧共初学者熟悉Hive使用 2)本地模式:将元数据保存在本地独立的数据库中(如:Mysql)能够支持多用户多回话连接。 3)远程模式:如果我们的Hive客户端比较多,在每个客户端都安装MySQL服务还是会造成一定的冗余和浪费,这种情况下,就可以更进一步, 将MySQL也独立出来,将元数据保存在远端独立的MySQL服务中。
4 安装前提
Hadoop 与mysql已经安装并测试完毕
5 安装Hive
tar -xvf apache-hive-0.14.0-bin.tar.gz
6 配置环境变量 并生效 ,这里讲java,hadoop,pig、hive的所有文件列出来,根据需要添加到/etc/profile最后
export JAVA_HOME=/web/jdk1.7.0_60 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export HADOOP_INSTALL=/web/hadoop-1.2.1 export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin export PIG_HOME=/web/pig-0.13.0 export PATH=$PATH:$PIG_HOME/bin export PIG_CLASSPATH=/web/hadoop-1.2.1/conf export HIVE_HOME=/web/apache-hive-0.14.0-bin export PATH=$PATH:$HIVE_HOME/bin
添加环境变量后执行下面语句使环境变量配置生效
source /etc/profile
7 创建Hive的配置文件 hive-log4j.properties 和hive-site.xml
cp hive-default.xml.template hive-site.xml cp hive-log4j.properties.template hive-log4j.properties
也可以复制一个hive-default.xml 文件,则hive-default.xml用于默认设置 ,hive-site.xml 用于个性化设置,可覆盖默认配置
8 修改hive-site.xml,将数据库连接改为Mysql
这里用户名和密码是hive,需要在mysql数据库中创建用户hive,并赋予连接权限
<property> <name>javax.jdo.option.ConnectionURL</name> //所连接的MySQL数据库实例 <value>jdbc:mysql://127.0.0.1:3306/hive_metadata?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> //连接的MySQL数据库驱动 <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> //连接的MySQL数据库用户名 <value>hive</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> //连接的MySQL数据库密码 <value>hive</value> <description>password to use against metastore database</description> </property>
9 创建hive在hdfs上的目录并赋予写权限
在HDFS上建立/tmp和/user/hive/warehouse目录,并赋予组用户写权限。这是Hive默认的数据文件存放目录,在hive-site.xml文件中为默认配置
hadoop-1.2.1]$ bin/hadoop fs -mkdir /tmp hadoop-1.2.1]$ bin/hadoop fs -mkdir /usr/hive/warehouse hadoop-1.2.1]$ bin/hadoop fs -chmod a+w /tmp hadoop-1.2.1]$ bin/hadoop fs -chmod a+w /usr/hive/warehouse
10 修改 hive-log4j.properties 和hive-site.xml 中将${system:java.io.tmpdir},替换为/home/hive/tmp/(任何一个临时目录都行)
否者会出异常,这个参数解析不出来,具体原因不知道
异常 :Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
11 拷贝mysql的驱动包到hive/lib目录中
驱动包mysql-connector-java-3.1.14-bin.jar复制到hive的lib目录下
12 启动hive
hive 直接启动hive
13 测试
1)创建表
hive> create table test(id INT,str STRING)
> row format delimited
> fields terminated by ','
> stored as textfile;
创建表的时候可能,会出现下面的异常 Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDOException: Couldnt obtain a new sequence (unique id) : Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT 可能是因为元数据在mysql存储的配置问题 解决:在mysql中 set global binlog_format='MIXED'; 就可以了
2) 查看新建的表
hive> show tables;
3)加载本地测试数据
创建文件,内容:
1, a
2, b
3, c
4, d
5, e
6, f
7, g
8, h
9, i
10, j
执行加载命令:
hive> load data local inpath '/home/hadoop/data_test.txt'
> overwrite into table test;
Copying data from file:/home/hadoop/data_test.txt
Copying file: file:/home/hadoop/data_test.txt
Loading data to table default.test
OK
Time taken: 4.322 seconds
4)查询前10行信息
select * from test limit 10;
5)查询该文件中存在多少条数据,这时hive将执行一个map-reduce的过程来计算该值
hive> select count(1) from test;
相关推荐
"HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...
【大数据技术基础实验报告-Hive安装配置与应用】 在大数据处理领域,Apache Hive是一个非常重要的组件,它提供了基于Hadoop的数据仓库工具,用于数据查询、分析以及存储。本实验报告将详细阐述如何安装、配置Hive,...
本压缩包文件"hive"可能包含了Hive安装过程中所需的配置文件,这些文件对于正确、高效地运行Hive至关重要。以下是对Hive安装配置文件的详细解释: 1. **`core-site.xml`**: 这个文件包含了Hadoop核心的配置参数,...
hive安装
### Hive安装知识点详解 #### 一、Hive简介与安装目的 Hive 是基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行...
### Hive安装与配置详解 #### 一、软件准备与环境规划 在进行Hive的安装与配置之前,首先需要对所需的软件及环境进行规划。以下为本次安装与配置的环境规划: - **操作系统**: Ubuntu - **Java版本**: Java 1.6.0...
6. Hive安装完成后,需要创建元数据库。Hive默认使用derby数据库,但为了生产环境的稳定性和性能,建议使用MySQL。配置文件位于$HIVE_HOME/conf目录下,需要修改hive-site.xml来指定MySQL连接信息: ```xml ...
内容包括hive如何安装与启动,以及如何使用python访问hive,希望对大家有帮助。
Hive安装指南,Hive 嵌入模式安装指南 Hive 是一个基于 Hadoop 的数据仓库工具,提供了 类似 SQL 的查询语言 HiveQL,能够快速地查询和分析大规模数据。Hive 安装指南将指导您完成 Hive 的安装和配置。 知识点 1: ...
从提供的文件内容中,我们可以提取到关于Hive安装与配置的相关知识点,同时也包括了MySQL的安装知识,因为MySQL是Hive常用的后端数据库。接下来,我将详细介绍这些知识点。 **Hive的安装与配置** 1. Hive是一个...
hive安装依赖以及启动脚本 文件包含如下: 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 04_...
Hadoop之Hive安装 本篇文章将指导您如何在CentOS 6.4下安装Hive,并解决可能遇到的错误。 环境及软件介绍 本篇文章使用的环境是CentOS 6.4-x86_64-bin-DVD1.iso,软件版本为Hadoop 2.2.0和Hive 0.12.0,以及MySQL...
在本压缩包中,"文档.pdf" 和 "资料必看.zip" 可能包含了关于 Hive 安装与配置的详细步骤和指南。现在,我们将深入探讨 Hive 的安装与配置过程。 首先,安装 Hive 需要先确保你已经安装了 Hadoop 环境,因为 Hive ...
Hive安装讲义(linux_hive windows_mysql) Hive是基于Hadoop的数据仓库工具,用于存储、查询和分析大规模数据。为了实现Hive的安装和配置,需要满足一定的前提条件和环境要求。下面是Hive安装讲义的详细步骤和相关...
Hive安装讲义(linux_hive linux_mysql) Hive安装讲义中涵盖了Hive的安装过程,包括Hadoop和MySQL的安装。下面是从给定的文件中生成的相关知识点: 一、Hadoop 安装 * Hadoop 安装是Hive 运行环境的前提条件 * ...
cdh5.5.0下的hive的安装部署详细操作。hive的安装其实有两部分组成,一个是Server端、一个是客户端,所谓服务端其实就是Hive管理Meta的那个Hive,服务端可以装在任何节点上,当hive服务并发量不高时推荐部署在数据...
本压缩包“Hive安装配套资源.zip”提供了在Linux CentOS环境下安装Hive所需的关键组件,包括Hive安装包、MySQL连接器、环境配置文件以及Hive的配置文件。 首先,`apache-hive-3.1.2-bin.tar.gz`是Hive的安装包,...
【Hive安装详解】 Hive是Apache软件基金会的一个开源项目,它提供了一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,使得用户可以通过类SQL的方式进行大数据处理。...