![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hive
星空下的那个人影
不像程序员的程序猿
展开
-
在项目中是否自定义过UDF、UDTF函数,以及用他们处理了什么问题,及自定义步骤?
自定义过用 UDF 函数解析公共字段;用 UDTF 函数解析事件字段自定义 UDF:继承 UDF,重写 evaluate 方法自定义 UDTF:继承自 GenericUDTF,重写3个方法:initialize(自定义输出的列名和类型),process(将结果返回 forward(result)),close为什么要自定义 UDF/UDTF,因为自定义函数,可以自己埋点Log打印日志,出错或者数据异常,方便调试。...原创 2022-05-24 19:13:06 · 301 阅读 · 0 评论 -
Hive 排序函数4个 by 的区别
order by(全局排序):只有一个 reducer;sort by(分区内排序):每个 reducer 内部进行排序,对全局结果集来说不是排序的;distribute by(分区排序):类似于map 中的 partition,进行分区,结合 sort by 使用;cluster by:当 distribute by 和 sort by 字段相同时,可以使用 cluster by 的形式。但是排序只能是升序排序,不能指定排序规则为 ASC 或者 DESC。在生产环境中 order by 用的比.原创 2022-05-16 12:27:16 · 480 阅读 · 0 评论 -
Hive 内部表和外部表的区别
未被 external 修饰的是内部表,被external修饰的为外部表区别:内部表数据由 Hive 自身管理,外部表数据由 HDFS 管理;内部表数据存储的位置是 hive.metastore.warehouse.dir (默认:/user/hive/warehouse),外部表数据存储的位置由自己定制(如果没有location,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里)删除内部表会直接删除元数据及存储数原创 2022-05-16 00:01:33 · 2346 阅读 · 0 评论 -
Hive 和数据库的比较,有哪些区别
Hive 和数据库除了拥有类似的查询语言,再无类似之处。数据存储位置Hive 存储在 HDFS 。数据库将数据保存在块设备或者本地文件系统中。数据更新Hive 中不建议对数据的改写。而数据库中的数据通常是需要经常进行修改的。执行延误Hive 执行延误较高。数据库的执行延误较低。当然,这个是有条件的,即数据规模较小。当数据规模大到超过数据库的处理能力的时候,Hive 的并行计算显然能体现出优势。数据规模Hive 支持很大规模的数据计算;数据库可以支持的数据规模较小。...原创 2022-05-15 23:18:33 · 958 阅读 · 0 评论 -
hive的架构
如图中所示,Hive 通过给用户提供的一系列交互接口,接收到用户的指令( SQL ),使用自己的 Driver ,结合元数据( Metastore ),将这些指令翻译成 MapReduce ,提交到 Hadoop 中执行,最后,将执行返回的结果输出到用户交互接口。用户接口:ClientCLI( hive shell ——命令行界面)、JDBC/ODBC( jdbc 访问 hive )、WEBUI(浏览器访问 hive)元数据:Metastore元数据包括:表名、表所属的数据库(默认是 def.原创 2022-05-10 19:48:29 · 120 阅读 · 0 评论