Apache Hive(部署+SQL+FineBI构建展示)

Hive架构


Hive部署


VMware虚拟机部署

一、在node1节点安装mysql数据库

二、配置Hadoop

三、下载 解压Hive

四、提供mysql Driver驱动

五、配置Hive

六、初始化元数据库

七、启动Hive(Hadoop用户)

chown -R hadoop:hadoop apache-hive-3.1.3-bin hive

阿里云部署

一、创建云数据库库



二、配置Hive

数据库连接地址粘贴到配置文件中

通过yum install -y mysql 安装mysql客户端,用于mysql命令的输入

UCloud云部署

一、创建UDB数据库

二、创建一个Hive数据库(需要通过yum install -y mysql提前安装命令)

三、初始化

============================================================

Hive操作

通过ps -ef | grep 40991更详细查看

或者通过jps查看

通过浏览器可以查看

Hive客户端

启动Hive客户端两种方式:

①、bin/hive即Hive的Shell客户端,直接写SQL

②、bin/hive --service hiveserver2 HiveServer2属于Hive内置的一个ThriftServer服务,提供Thrift端口供其他客户端链接:

可以链接ThriftServer的客户端有:

  • Hive内置的beeline客户端工具(命令行工具)
  • 第三方图形化SQL工具DataGrip 或DBeaver或者Navicat

HiveServer2 & Beeline(内置客户端)

①、启动beeline

②、连接hive2

DataGrip & DBeaver(第三方客户端)

①、DataGrip使用

②、进行连接

③、写SQL语句


①、DBeaver使用

②、构建驱动

删除原来的驱动

添加自己本地下载好的文件

③、写好SQL,回车可以运行

数据库操作


表分类:

内部表

sql 复制代码
create table myhive.stu(id int,name string); # 在myhive数据库中创建stu表

# 指定分隔创建表 避免在下面查看表内容出现id和name不可见字符导致的紧凑
create table if not exists stu2(id int,name string) row format delimited fields terminated by '\t';

insert into myhive.stu values(1,'jordan'),(2,"kobe");

外部表

一、将数据上传到外部表所在的目录(先有表,再有数据)

二、先存在数据,后创建表

两者对比:

内外部表转换:

①、先查看表类型

②、转换

数据的导入:

①、使用LOAD语法,从外部将数据加载到Hive内

sql 复制代码
CREATE TABLE myhive.test_load(
	dt string comment '时间(时分秒)',
	user_id string comment '用户ID',
	word string comment '搜索词',
	url string comment '用户访问地址'
) comment '搜索引擎日志表' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
bash 复制代码
# 本地linux系统上传
load data local inpath '/home/hadoop/search_log.txt' into table myhive.test_load;

# 本质上是文件移动
load data inpath '/tmp/search_log.txt' overwrite into table myhive.test_load

【基于HDFS进行load加载数据,元数据文件会消失(本质是被移动到表所在的目录中)】

②、从其他表加载数据

数据的导出:

①、将hive表中的数据导出到其他任意目录,例如linux本地磁盘,hdfs,mysql等

②、通过hive shell方式导出

分区表

构建分区表


分桶表

分桶表创建

修改表操作

复杂类型

array数组

map映射

struct结构

常用的基本查询

正则表达式


UNION联合

随机采样

虚拟列


函数







案例:

一、需求:

数据


二、ETL数据清洗:

三、指标



四、可视化

①、下载FineBI

②、将Hive驱动包放到FineBI安装目录下,以及安装隔离插件


③、建立数据库连接


④、构建数据集(选择数据库表)


添加组件和仪表盘

相关推荐
珹洺3 小时前
Java-servlet(完结篇)过滤器乱码解决与监听器
java·运维·服务器·hive·servlet·jsp
pingxiaozhao10 小时前
在Ubuntu内网环境中为Gogs配置HTTPS访问(通过Apache反向代理使用IP地址)
ubuntu·https·apache
SeaTunnel11 小时前
【同步教程】基于Apache SeaTunnel从MySQL同步到MySQL——Demo方舟计划
大数据·人工智能·apache·etl
不辉放弃12 小时前
SQL 主键(Primary Key)
数据库·sql·oracle
画扇落汗13 小时前
Python 几种将数据插入到数据库的方法(单行插入、批量插入,SQL Server、MySQL,insert into)
数据库·python·sql·mysql
Full Stack Developme14 小时前
SQL 查询中使用 IN 导致性能问题的解决方法
数据库·sql
XiaoLeisj15 小时前
【图书管理系统】深入解析基于 MyBatis 数据持久化操作:全栈开发图书管理系统:查询图书属性接口(注解实现)、修改图书属性接口(XML 实现)
xml·java·数据库·spring boot·sql·java-ee·mybatis
密码小丑15 小时前
玄机-apache日志分析
网络·笔记·apache
SeaTunnel17 小时前
Apache SeaTunnel & Amazon Bedrock 助力生成式AI 应用规模化生产实践
人工智能·apache
Gauss松鼠会17 小时前
GaussDB回调机制深度实践:从事件驱动到系统集成
开发语言·javascript·数据库·sql·gaussdb