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)

相关推荐
howard20052 小时前
VMWare上搭建Hive集群
hive·hadoop
程序猿 董班长2 天前
springboot配置多数据源(mysql、hive)
hive·spring boot·mysql
XueminXu2 天前
Hive使用Tez引擎出现OOM的解决方法
hive·oom·tez·datagrip·container·outofmemory
KANGBboy5 天前
hive udf 执行一次调用多次问题
数据仓库·hive·hadoop
来杯雀巢咖啡6 天前
ubantu安装配置hive
数据仓库·hive·hadoop
chad__chang8 天前
HIVE的Window functions窗口函数【二】
数据仓库·hive·hadoop
張萠飛8 天前
hive on tez为什么写表时,要写临时文件到hdfs目录
hive·hadoop·hdfs
白日与明月8 天前
Hive中的with子句
数据仓库·hive
步行cgn9 天前
Servlet 注解:简化配置的完整指南
hive·hadoop·servlet
小白不想白a11 天前
【Hadoop】YARN、离线计算框架MapReduce、Hive
大数据·hive·hadoop·mapreduce·yarn