大数据Hadoop系列——在ubuntu上安装Hive 嵌入式

安装环境

⚫ 虚拟机系统:CentOS7

⚫ Hadoop 安装模式:伪分布式(单节点)

⚫ Hive 安装模式:嵌入模式

⚫ 安装包:

Hive(3.1.3)

https://dlcdn.apache.org/hive/

安装步骤

(1) 安装

解压 Hive 安装包

tar -zxvf apache-hive-3.1.3-bin.tar.gz

打开文件重命名

移动到/usr/local 路径下并命名

sudo mv hive-3.1.3 /usr/local/

(2) 配置环境变量

在**/etc/profile.d 路径** 下新建 hive.sh 脚本文件在文件中添加 HIVE_HOME 变量并将其添加到 PATH 变量中,后 export 这

两个变量。

sudo vim /etc/profile

在最下面添加

HIVE_HOME=/usr/local/hive-3.1.3

PATH=HIVE_HOME/bin:PATH

export HIVE_HOME PATH

更新环境变量

source /etc/profile

测试是否配置成功**(需要提前启动 hdfs)**

hive

(3) Hive 配置文件

进入**/usr/local/hive-3.1.3 /conf/** 路径下

将 hive-env.sh.template 复制一份并命名为 hive-env.sh

cp hive-env.sh.template hive-env.sh

编辑 hive-env.sh 进行配置

Set HADOOP_HOME to point to a specific hadoop install directory

HADOOP_HOME=/usr/local/hadoop-2.10.1

Hive Configuration Directory can be controlled by:

export HIVE_CONF_DIR=/usr/local/hive-3.1.3/conf

找到"# HADOOP_HOME="开头的一行,去掉行首的"#",后配置为

Hadoop 的安装路径

找到"# HIVE_CONF_DIR="开头的一行,去掉行首的"#",后配置为

Hive 按照文件下的 conf 路径(/usr/local/hive-3.1.3 /conf/

在**/usr/local/hive-3.1.3/conf/** 路径下新建 hive-site.xml 并编辑

根据自己的实际hostname进行 编辑

vim hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:derby:;databaseName=metastore_db;create=true</value>

</property>

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>org.apache.derby.jdbc.EmbeddedDriver</value>

</property>

<property>

<name>hive.metastore.local</name>

<value>true</value>

</property>

<property>

<name>hive.metastore.warehouse.dir</name>

<value>hdfs://192.168.254.7:9000/hive/warehouse</value>

</property>

</configuration>

(4) 初始化 Derby 数据库

schematool -dbType derby -initSchema

测试hive安装是否成功:

Hive Shell入门基础命令

创建database test_db

CREATE DATABASE test_db;

使用database testDB

USE test_db;

创建emp表

CREATE TABLE emp(empno INT,ename STRING,job STRING,mgr INT,hiredate STRING,sal INT,comm INT,deptno INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY',';
1.将emp.csv中的数据导入到emp表中

emp.csv表如下(要提前上传到hdfs上)

|------|--------|-----------|------|------------|------|------|----|
| 7369 | SMITH | CLERK | 7902 | 1980/12/17 | 800 | | 20 |
| 7499 | ALLEN | SALESMAN | 7698 | 1981/2/20 | 1600 | 300 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981/2/22 | 1250 | 500 | 30 |
| 7566 | JONES | MANAGER | 7839 | 1981/4/2 | 2975 | | 20 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981/9/28 | 1250 | 1400 | 30 |
| 7698 | BLAKE | MANAGER | 7839 | 1981/5/1 | 2850 | | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981/6/9 | 2450 | | 10 |
| 7788 | SCOTT | ANALYST | 7566 | 1987/4/19 | 3000 | | 20 |
| 7839 | KING | PRESIDENT | | 1981/11/17 | 5000 | | 10 |
| 7844 | TURNER | SALESMAN | 7698 | 1981/9/8 | 1500 | 0 | 30 |
| 7876 | ADAMS | CLERK | 7788 | 1987/5/23 | 1100 | | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981/12/3 | 950 | | 30 |
| 7902 | FORD | ANALYST | 7566 | 1981/12/3 | 3000 | | 20 |
| 7934 | MILLER | CLERK | 7782 | 1982/1/23 | 1300 | | 10 |

LOAD DATA INPATH '/ussr/local/input/emp.csv' INTO TABLE emp;

常用查询语句的使用

  1. 查询工资大于2000的员工信息。

select * from emp where sal>2000;


2.以部门号(deptno)来分组对员工工资(sal)进行求和。

SELECT deptno, SUM(sal) AS total_salary FROM emp GROUP BY deptno;

相关推荐
Hello.Reader8 分钟前
Flink ML MinMaxScaler 把特征缩放到统一区间 [min, max]
大数据·人工智能·flink
许泽宇的技术分享42 分钟前
2025年度技术之旅:在AI浪潮下的个人突破、持续创作与平衡之道
大数据·人工智能
Sui_Network1 小时前
智能体支付时代:Sui 为 AI 构建可验证的金融基础设施
大数据·人工智能·游戏·金融·rpc·区块链·量子计算
GEO AI搜索优化助手1 小时前
生成式AI搜索的跨行业革命与商业模式重构
大数据·人工智能·搜索引擎·重构·生成式引擎优化·ai优化·geo搜索优化
武子康1 小时前
大数据-198 KNN 必须先归一化:Min-Max 正确姿势、数据泄露陷阱与 sklearn 落地
大数据·后端·机器学习
递归尽头是星辰1 小时前
Elasticsearch实战:检索优化、聚合分析与架构落地体系化
大数据·elasticsearch·架构·检索优化·聚合分析
Dxy12393102161 小时前
Elasticsearch 8.13.4 动态同义词实战全解析
大数据·elasticsearch
芝麻开门-新起点1 小时前
第24章-WebGIS发布与在线分析
大数据
qq_12498707532 小时前
基于微信小程序的科技助农系统的设计与实现(源码+论文+部署+安装)
java·大数据·spring boot·后端·科技·微信小程序·毕业设计
知识分享小能手2 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 系统启动与关闭详解(11)
linux·学习·ubuntu