摘要:
为什幺要压缩?压缩会提高计算速度?这是因为mapreduce计算会将数据文件分散拷贝到所有datanode上,压缩可以减少数据浪费在带宽上的时间,当这些时间大于压缩/解压缩本身的时间时,计算速度就会提高了。 hadoop的压缩除了将输入文件进行压缩外,hadoop本身还可以在计算过程中将map输出以... 阅读全文
摘要:
倾斜的原因: 使map的输出数据更均匀的分布到reduce中去,是我们的最终目标。由于Hash算法的局限性,按key Hash会或多或少的造成数据倾斜。大量经验表明数据倾斜的原因是人为的建表疏忽或业务逻辑可以规避的。解决思路: Hive的执行是分阶段的,map处理数据量的差异取决于上一个stag... 阅读全文
摘要:
二. SQL语言的分类SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。1. 数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT FROM WHERE 2 .数据操纵语言DML... 阅读全文
摘要:
hash code、equals和“==”三者的关系 1) 对象相等则hashCode一定相等; 2) hashCode相等对象未必相等。== 是比较地址是否相等,JAVA中声明变量都是引用嘛,不同的引用,可能指向同一个地址。equals 是比较值是否相等。1.如果是基本变量,没有hashcod... 阅读全文
摘要:
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制... 阅读全文
摘要:
SMB 存在的目的主要是为了解决大表与大表间的 Join 问题,分桶其实就是把大表化成了“小表”,然后 Map-Side Join 解决之,这是典型的分而治之的思想。在聊 SMB Join 之前,我们还是先复习下相关的基础概念。1、Hive 分区表在Hive Select查询中一般会扫描整个表内容,... 阅读全文
摘要:
String是一个类,也可以表示字符串数据类型String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承.作为参数传递时,只是复制了一份引用string ... 阅读全文
摘要:
ava的线程机制,有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 。 操作系统里面是没有守护线程的概念,只有守护进程,但是Java语言机制是构建在JVM的基础之上的,意思是Java平台把操作系统的底层给屏蔽起来,而守护线程机制又是对JVM这样的平台凑合,于... 阅读全文