MapReduce程序就是根据其特性对数据进行一个简单的逻辑处理,其中最为重要的一个特性就是根据key值将value值进行合并,其次就是在shuffle阶段有排序. 遇到一个MR程序就是要巧妙利用合并.排序的特性. 单表关联就是根据利用了合并的原理. 先上测试数据 child parent Tom Lucy Tom Jack Lucy Marry Lucy Ben Jack Alice Jack Jesse 结果数据 grandchild gr
有好多时候,我们常听别人说大表在前,小表在后,包括现在好多百度出来的靠前的答案都有说数据库是从右到左加载的,所以from语句最后关联的那张表会先被处理.如果三表交叉,就选择交叉表来作为基础表.等等一些结论,但是这些真的正确么?我就回家做了一个小的验证,来看一看到底是怎么一回事.(博主作实验用的是Oracle,但是不代表只是Oracle是这样的原理,现在大部分的关系型数据库都是一样的) 首先我们来执行一下以下的sql语句,来看一下执行计划.看一看到底是怎么样的. drop table tab_bi
联合查询 所谓的联合查询就是将满足条件的结果进行拼接在同一张表中. 基本语法: select */字段 from 数据表1 union [all | distinct] select */字段 from 数据表2; 特别说明:使用union联合查询必须有一个前提,每个表读取的字段数必须是一致的 union联合查询默认是去重的. union all :在数据联合时保存所有数据,示例代码: union distinct :在数据联合时去重所有重复的数据,示例代码: union的意义:主要用于大数