- 博客(13)
- 收藏
- 关注
转载 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)
全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,我们会以Hive场景下的设计为例)。分析一下拉链表的优缺点,并对前面的提到的一些内容进行补充说明,比如说拉链表和流水表的区别。0x01 ...
2018-05-27 16:28:00 893
转载 Sql中in与exists用法与性能详解
exists、in的运用场景 能不写子查询,尽量不写子查询,而是直接编写多表连接操作。理由如下: ① oracle CBO在parse阶段,会尽可能把子查询转化为多表连接 ② 子查询可读性较低 www.2cto.com ③ 复杂的逻辑,子查询可能导致oracle CBO选择错误的执行路径 ...
2018-03-06 16:56:11 1329
转载 hive实现自增列的两种方法
hive没有关系数据库中的自增列(oracle中rownum),但它对自增序列有支持,通常有两种方法生成代理键:1)使用row_number()窗口函数2)使用一个名为UDFRowSequence的用户自定义函数(UDF)假设现在有维度表tbl_dim和过渡表tbl_stg,现在要将tbl_stg的数据装载到tbl_dim,装载的同时生成维度表的代理键。方法一(使用row_number()生成代理...
2018-03-05 10:19:36 3357
转载 30种mysql优化sql语句查询的方法
第一方面: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t w...
2018-03-04 19:06:47 292
转载 mysql优化常用步骤
SQL优化步骤1,通过show status like 'Com_%' 查询数据库以查询为主还是以更新为主,以及各种sql的大致执行比例是多少,对于事务型的应用,通过Com_commit和Com_rollback可以了解事物提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。show status like 'Com_select' ;show status like 'C...
2018-03-04 19:01:40 565
转载 50个常用的mysql的sql语句
Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,...
2018-03-04 18:54:22 3902 1
转载 mysql学习过程中推荐的书籍
软件开发者编写代码,最终都是要处理数据,因此数据库是必备技能。悲剧的是,学校里与此最相关的数据库原理课,对初学者的体验却非常不好。相信很多同学都有这样的痛苦经历:一上来就一通数据库历史,罗列一大堆从来没见过以后也不会见到的各种古老数据库;然后是数学公式密集的关系模型、关系代数,一连串不知道什么用却很难懂的范式……全学完了,数据库咋用、咋编程都不知道,连SQL都只是一知半解。实际上,学习数据库并不需...
2018-03-04 16:37:34 8960
转载 hive中排序和聚集比较
//五种子句是有严格顺序的:where → group by → having → order by → limit//where和having的区别://where是先过滤再分组(对原始数据过滤),where限定聚合函数hive> select count(*),age from tea where id>18 group by age;//having是先分组再过滤(对每个组进...
2018-03-02 22:21:30 475
转载 MapReduce中join操作流程
数据准备首先是准备好数据。这个倒已经是一个熟练的过程,所要做的是把示例数据准备好,记住路径和字段分隔符。准备好下面两张表:(1)m_ys_lab_jointest_a(以下简称表A)建表语句为:[sql] view plain copycreate table if not exists m_ys_lab_jointest_a ( id bigint, name strin...
2018-03-01 23:16:55 1141
转载 mysql中count(1), count(*), count(col)性能比较
ount(*)对行的数目进行计算,包含NULLcount(column)对特定的列的值具有的行数进行计算,不包含NULL值。count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。性能问题1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL...
2018-03-01 10:30:52 469
转载 hive使用简介
hive -S :进入hive的静默模式,只显示查询结果,不显示执行过程;hive -e ‘show tables’ :直接在操作系统命令下执行hive语句,不需要进入hive交互模式;source /root/my.sql; :在hive模式下使用source命令执行.sql文件; t1:创建普通表;t2:在hdfs中的指定目录创建表;t3:创建列分隔符为“,”的表;t4:使用查询语句创建有数据...
2018-02-28 22:56:04 795
转载 MapReduce计算框架详细过程
在hadoop中,MapReduce计算框架详细过程:分片:Hadoop将MapReduce的输入数据划分为等长的小数据块,称为输入分片(input split)或简称“分片”。Hadoop为每个分片构建一个map任务,并由该任务来运行用户自定义的map函数从而处理分片中的每条记录。拥有许多分片,意味着处理每个分片所需要的时间少于处理整个输入数据所花的时间。因此,如果我们并行处理每个分片,且每个分...
2018-02-28 22:49:35 8217 1
原创 docker与kubernetes命令简介
两者关系:Kubernetes是编排框架,被用于驱动大规模的容器应用,Kubernetes可以使更多的Docker容器投入生产。docker命令整理及应用:docker load --input name.tar --加载并导入镜像存储文件到本地镜像库docker tag ubuntu:15.10 runoob/ubuntu:v3 --将镜像ubuntu:15.10标记为 runoob/ubunt...
2018-02-28 22:09:45 351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人