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)

相关推荐
lalala_lulu1 小时前
Jsp的四种作用域(超详细)
java·开发语言·hive
忘记92620 小时前
Servlet 生命周期
数据仓库·hive·hadoop
天天向上杰1 天前
小识:从理财数仓角度看GaussDB、PostgreSQL、Hive 三区别
hive·hadoop·gaussdb
写代码的【黑咖啡】1 天前
Hive on Spark:加速大数据分析的新引擎
hive·数据分析·spark
yumgpkpm1 天前
Hadoop 与AI大模型实战:从Hive、Impala(Cloudera CDH、CDP)海量数据到 AI 决策的落地方法
arm开发·人工智能·hive·zookeeper·flink·kafka·cloudera
码以致用2 天前
Hive笔记
hive·hadoop·笔记
路边草随风2 天前
通过hive元数据库查询表信息
大数据·数据库·hive·hadoop
Agatha方艺璇2 天前
安装Hive初始化MySQL报错 (ZLjava/lang/String;Ljava/lang/0bject; )V
hive·mysql
yumgpkpm2 天前
Hadoop、Cloudera CDH没有消亡,它是大数据的未来
人工智能·hive·hadoop·spark·kafka·开源·hbase
秦JaccLink2 天前
Hive导入数据的五种方式及其应用
数据仓库·hive·hadoop