2024-02-05(Hive)

1.Hive中抽样表数据

对表进行随机抽样是非常有必要的。

大数据体系下,在真正的企业环境中,很容易出现很大的表,比如体积达到TB级别的。

对这种表一个简单的SELECT * 都会非常的慢,哪怕LIMIT 10想要看10条数据,也会走MapReduce流程,这个时间等待是非常不合适的。

因此Hive提供了快速抽样的语法,可以快速的从大表中随机抽取一些数据供用户查看。

随机抽样,本质上就是用TABLESAMPLE函数

语法1,基于随机分桶抽样:

sql 复制代码
select ... from tb1 tablesample (bucket x out of y on (column | rand()))

y:表示将表数据随机划分为y份(y个桶)

x:表示从y里面随机抽取x份数据作为取样

column表示随机的依据是基于某个列的值

rand()表示随机的依据是基于整行

语法2,基于随机块分配:

sql 复制代码
select ... from tb1 tablesample(num rows | num percent | num(k|m|g))

num rows:表示抽样num条数据

num percent:表示抽样num百分百比例的数据

num(k|m|g):表示抽取num大小的数据,单位可以是k,m,g表示kb,mb,gb。

注意:

以上抽样语法,条件不变的话,每次的抽样结果都一致。即无法做到随机,只是按照数据顺序从前向后取出来。

2.虚拟列

虚拟列是Hive内置的可以在查询语句中使用的特殊标记,可以查询数据本身的详细参数。

INPUT__FILE__NAME,显示数据行所在的具体文件

BLOCK__OFFSET__INSIDE__FILE,显示数据行所在文件的偏移量

ROW__OFFSET__INSIDE__BLOCK,显示数据所在HDFS块的偏移量

3.虚拟列的作用

查看行级别的数据详细参数

可以用于where,group by等各类统计计算中

可以协助进行错误排查工作

4.ETL

从一张表查询数据进行数据过滤和转换,并将结果写入到另外一张表中的操作,本质上就是一种简单的ETL行为。

ETL:

E:Extract 抽取

T:Transfrom 转换

L:Load 加载

从A抽取数据(E),进行数据转换过滤(T),将结果加载到B(L),就是ETL。

ETL操作在大数据系统中十分常见。

5.大数据与可视化报表展示

通过ETL操作讲HDFS中的表进行数据清洗和过滤,生成新的表,然后利用BI工具,将新的表进行可视化展示。

6.BI可视化工具

Business Intelligence,商业智能。

指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。简单来说,就是借助BI工具,可以完成复杂的数据分析、数据统计等需求,为公司决策带来巨大的价值。

7.Hadoop中的Hive与Mysql

hadoop和mysql对比(优缺点及使用场景) - 代码先锋网 (codeleading.com)

相关推荐
赤土 炙焱11 天前
hiveserver2启动失败,磁盘满了
hive·hadoop
Francek Chen11 天前
【大数据处理与分析】数据仓库Hive:02 数据湖
大数据·数据仓库·hive·hadoop·分布式·数据分析
Waay14 天前
什么是HBase?它和Hive有什么区别?
大数据·数据库·hive·hadoop·hdfs·hbase
fastjson_15 天前
Hive的介绍和使用
数据仓库·hive·hadoop
William Dawson20 天前
【踩坑实录|Hive1\.2\.1数据服务接口5大疑难问题调试与全方位优化方案】
java·hive·spring boot
牛奶咖啡131 个月前
大数据Hadoop运维应用实践——HIVE与Hadoop实现整合_Hive的配置安装与使用
大数据·hive·hive的配置与安装·metastore服务的配置·hiveserver2服务配置·hive的常用sql操作·beeline的使用
向夏威夷 梦断明暄1 个月前
基于Tez引擎的 Hive SQL 性能优化
hive·sql·性能优化
humbinal1 个月前
同时支持 gui & cli 的 parquet 文件查看工具,高性能小清新!
hive·python·rust·spark·开源·github·parquet
吾AI科技1 个月前
基于Tez引擎的 Hive SQL 性能优化
大数据·hive·性能优化·tez
abcy0712131 个月前
hive 执行器原理
hive