
1、数据更新:
HQL:不建议,因为Hive定位是数据仓库 ,主要应用是数据的分析,不是查询
SQL:支持,增删改查
为什么说hive是离线的,因为他的延迟高
2、UDF,UDAF,UDTF
UDF:就是一个一对一关系,一进一出。
如:
①字段的格式处理
②直接用于select语句,常见于大小写转换 。
③Hive自带的udf:如lower()
UDAF:多对一情况,常见于wordcount,group by 阶段
UDTF:一对多
3、读时模式和写时模式
json:{key:value,key1:value,…}需要进行数据解析
读时模式:
只有hive读取的时候才会检查,字段的解析和schema(数据结构的表达)
优点:加载数据非常迅速,在写得过程中不需要解析数据
写时模式:
优点:读取数据的时候得到优化
缺点:写得慢,写之前建立索引,数据压缩,数据的一致性,字段检查等等
对比传统关系型数据块:
hive和关系数据库存储文件的系统不同,hive使用的是hadoop的HDFS(hadoop的分布式文件系统),关系数据库则是服务器本地的文件系统
hive使用的计算模型mapreduce,而关系数据库则是自己设计的计算模型
4、应用常景
①传统sql场景:实时查询的业务(粗粒度)设计 达到一定指标会查询的非常慢
②hive场景:进行数据挖掘,海量数据,实时性很差数据仓库涉及
本文探讨了Hive和SQL在数据处理上的差异。Hive适合离线数据分析,因其高延迟而不适用于实时查询。UDF、UDAF和UDTF是Hive中的自定义函数类型,分别用于一对一、多对一和一对多的数据操作。数据加载时,Hive采用写时模式确保数据一致性,但可能影响写入速度。相较于传统关系数据库,Hive使用HDFS存储,MapReduce计算模型,适合海量数据的批量处理和数据仓库应用。
https://blog.youkuaiyun.com/qq_43665254/article/details/112552106?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164932527416780271590091%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164932527416780271590091&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-13-112552106.142^v7^article_score_rank,157^v4^control&utm_term=hivesql&spm=1018.2226.3001.4187
1万+

被折叠的 条评论
为什么被折叠?



