hive的安装配置笔记

1.上传hive安装包

2.解压

3.配置Hive(在一台机器上即可)

bash 复制代码
    mv hive-env.sh.template hive-env.sh

4.运行hive

发现内置默认的metastore存在问题(1.换执行路径后,原来的表不存在了。2.只能有一个用户访问同一个表)

5.配置mysql的metastore

查询以前安装的mysql相关包

bash 复制代码
        rpm -qa | grep mysql

暴力删除这个包

bash 复制代码
        rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps

上传两个mysql的rpm包

bash 复制代码
        rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm 
        rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm

执行命令设置mysql

bash 复制代码
        /usr/bin/mysql_secure_installation

授权:

bash 复制代码
        GRANT ALL PRIVILEGES ON hive.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
        FLUSH PRIVILEGES

在hive当中创建两张表

sql 复制代码
        create table trade_detail (id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by '\t';
        create table user_info (id bigint, account string, name  string, age int) row format delimited fields terminated by '\t';

将mysql当中的数据直接导入到hive当中

sql 复制代码
        sqoop import --connect jdbc:mysql://192.168.1.10:3306/itcast --username root --password 123 --table trade_detail --hive-import --hive-overwrite --hive-table trade_detail --fields-terminated-by '\t'
        sqoop import --connect jdbc:mysql://192.168.1.10:3306/itcast --username root --password 123 --table user_info --hive-import --hive-overwrite --hive-table user_info --fields-terminated-by '\t'

创建一个result表保存前一个sql执行的结果

sql 复制代码
        create table result row format delimited fields terminated by '\t' as select t2.account, t2.name, t1.income, t1.expenses, t1.surplus from user_info t2 join (select account, sum(income) as income, sum(expenses) as expenses, sum(income-expenses) as surplus from trade_detail group by account) t1 on (t1.account = t2.account);
sql 复制代码
        create table user (id int, name string) row format delimited fields terminated by '\t'

将本地文件系统上的数据导入到HIVE当中

sql 复制代码
        load data local inpath '/root/user.txt' into table user;

创建外部表

sql 复制代码
        create external table stubak (id int, name string) row format delimited fields terminated by '\t' location '/stubak';

创建分区表

普通表和分区表区别:有大量数据增加的需要建分区表

sql 复制代码
        create table book (id bigint, name string) partitioned by (pubdate string) row format delimited fields terminated by '\t'; 

分区表加载数据

sql 复制代码
        load data local inpath './book.txt' overwrite into table book partition (pubdate='2023-08-22');
相关推荐
王小王-12312 天前
基于 Hive 的网易云音乐数据分析及可视化系统
hive·hadoop·数据分析·音乐数据分析·网易云音乐分析·hive音乐分析·hadoop网易云
TPBoreas13 天前
springboot3.5比2.x做了哪儿些提升
数据仓库·hive·hadoop
Nefu_lyh15 天前
【Hive】七、Hive 函数:聚合 / 统计 / 分位数 / 集合 / 高级分组
数据仓库·hive·hadoop
KANGBboy15 天前
hive UDF函数
数据仓库·hive·hadoop
王小王-12317 天前
基于商品评价的评论情感分析与可视化系统
hive·情感分析·商品评价分析·主题分析·商品评论分析
Nefu_lyh17 天前
【Hive】 八、Hive 计算引擎:MapReduce / Tez / Spark 对比与选型
hive·spark·mapreduce
白日与明月18 天前
Hive子查询中的ORDER BY陷阱:为什么排序“消失”了?
数据仓库·hive·hadoop
Nefu_lyh19 天前
【Hive】六、Hive 运算逻辑:数学 / 逻辑 / 条件 / 日期 / 字符串函数
数据仓库·hive·hadoop
AQin101220 天前
【对比向】既生瑜何生亮?不!Hive 和 Doris不一样
数据仓库·hive·hadoop·doris
AQin101220 天前
【对比向】细算“成本”——Hive vs. Doris
大数据·数据库·hive·doris·实时数仓