
大数据
隐于花海,等待花开
这个作者很懒,什么都没留下…
展开
-
内部表(管理表)和外部表
内部表也称为管理表,数据是存放在表中的,删除表后 表中数据会同步删除。常见于明细层表 应用层表等。如DM层 APP层,一般是通过SQL语句从其他表中抽取的数据。外部表,建表时有external关键字,数据是从外部以文件的形式加载进表中,删除表后 数据文件依然存在,只是删除了该表的元数据信息。常见于贴源层表,如ODS层, 一般是直接加载上游系统推送过来的的数据文件。查看一个表是内部表或外部表,可用describe extended tablename(表名),若tableType后显示managed_t原创 2022-06-07 09:17:44 · 1520 阅读 · 0 评论 -
Hive优化参考
1、开启负载均衡set hive.map.aggr=true; set hive.groupby.skewindata=true;2、join优化join时,将最大的表放在join语句的最右边使用map join让小的维度表(1000条以下的记录条数)先进内存,在map端完成reduce。3、严格模式,设置严格模式可以禁止3种查询类型strict场景:表中数据及分区个数都非常大,执行一个包含所有分区的查询会触发巨大的MapReduce任务,非常耗时耗资源。此时,将hive设置为“strict”模原创 2021-08-17 10:08:06 · 230 阅读 · 0 评论 -
cast和convert用法和区别
1、cast语法:cast(字段a as 类型b)释义:把字段a的类型转换成类型b,as不可省略举例:order by cast (id as integer ) descid为字符串型,则需要转换为整数进行排序2、convent语法:convent(字段a 类型b)释义:把字段a的类型转换成类型b举例:order by convent (id integer ) desc总结:函数cast和convent作用相同,只是语法稍有区别。...原创 2021-07-05 17:22:43 · 3044 阅读 · 0 评论 -
left join详解
left join详解1.不考虑where条件下,left join 会把左表所有数据查询出来,on及其后面的条件仅仅会影响右表的数据(符合就显示,不符合全部为null)2.在匹配阶段,where子句的条件都不会被使用,仅在匹配阶段完成以后,where子句条件才会被使用,它将从匹配阶段产生的数据中检索过滤3.所以左连接关注的是左边的主表数据,不应该把on后面的从表中的条件加到where后,这样会影响原有主表中的数据4.where后面:是先连接然生成临时查询结果,然后再筛选on后面:先根据条件过滤筛原创 2021-06-03 17:33:56 · 61553 阅读 · 6 评论 -
hive strict 严格模式禁止的3种查询类型
strict 严格模式strict场景:表中数据及分区个数都非常大,执行一个包含所有分区的查询会触发巨大的MapReduce任务,非常耗时耗资源。此时,将hive设置为“strict”模式,若查询未指定分区否则执行sql会报错。语法:set hive.mapred.mode=strict;查看表中所有分区可用 show partitions table 命令...原创 2021-05-28 15:23:58 · 552 阅读 · 0 评论 -
sql语句执行顺序详解
sql语句定义的顺序(1) SELECT (2)DISTINCT<select_list>(3) FROM <left_table>(4) <join_type> JOIN <right_table>(5) ON <join_condition>(6) WHERE <where_condition>(7) GROUP BY <group_by_list>(8) WITH {CUBE|ROLLUP原创 2021-06-03 17:29:01 · 470 阅读 · 0 评论 -
数据库设计需要考虑的问题
(1)原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表...转载 2020-04-20 21:27:55 · 3163 阅读 · 0 评论 -
什么是Phoenix?
Phoenix,中文译为“凤凰”,很美的名字。Phoenix是由saleforce.com开源的一个项目,后又捐 给了Apache基金会。它相当于一个Java中间件,提供jdbc连接,操作HBase数据表。Phoenix 是一个HBase的开源SQL引擎。可以使用标准的JDBC API代替HBase客户端API来创建表,插入数据,查询你的HBase数据。Phoenix的团队用了一句话概括:Pho...原创 2020-04-06 11:34:54 · 2958 阅读 · 0 评论