- 博客(17)
- 收藏
- 关注
原创 HIVE
1.hive是什么(1)基于hadoop的数据仓库工具(2)可以依存于hdfs系统,储存、查询分析其中的结构化数据(3)支持hsql,将sql任务转换为MR任务的job在hadoop上执行2.HQL和SQL区别1.概念上: hive是数仓,mysql是数据库(1)数据仓库: 倾向于数据管理,管理的数据不用存在本地,用于处理大批量数据 数据库:存储在本地,通常用于存储小批量数据...
2019-06-14 14:47:55
165
原创 mapreduce常见案例
常见案例1.二次排序2.共同好友3.点击流分析模型案例一1:二次排序原始数据目标数据代码–Map/Reduce不需要改变,主要是SortComparator通过继承WritableComparator类,重写了compare方法,改变了hadoop默认的排序规则。步骤1.建立对象存储数据,继承WritableComparable,添加序列化、反序列化、比较器package...
2019-06-14 10:10:21
4640
原创 常用工具、网站总计
埋点管理工具模板https://alifd.alibabausercontent.com/materials/@icedesign/usertrack-admin-scaffold/2.0.0/build/index.html#/monitor/version付费学习https://www.coursera.org/promo/pi-day-2019图像训练https://github....
2019-06-13 17:10:17
223
原创 YARN架构设计
一.设计思想1.hadoop1.0的旧架构及缺陷最初的hadoop1模型中并没有yarn,一个 Hadoop 集群可分解为两个抽象实体:MapReduce 计算引擎和分布式文件系统。当一个客户端向一个 Hadoop 集群发出一个请求时,此请求由 JobTracker 管理。JobTracker 与 NameNode 联合将任务分发到离它所处理的数据尽可能近的位置。然后JobTracker 将...
2019-06-13 17:03:06
327
原创 数据仓库层次
1.数仓整体架构2.数仓分层在我实习公司中,数仓大概分为三层,为ods、dw、ads。概念理解ODS业务数据与数据仓库的一个隔离,该层数据结构与原始日志中的结构一致,存放的是原始日志数据。源头数据不能收到污染,必须保持和原始日志数据一致。因为数据可能存在冲突,所以最好加上时间版本用于区别相同数据。DWDW层是用于查询的数据,通过关联ODS层数据构建各类明细表,...
2019-06-13 14:15:59
2193
原创 设计模式详解
设计模式详解http://www.runoob.com/design-pattern/design-pattern-intro.html
2019-04-09 14:01:30
182
原创 MR总结
并行度maptask并行度切片机制1)切片定义在InputFormat类中的getSplit()方法 maxsize、blocksize、minsize2)FileInputFormat中默认的切片机制: 128m切,当一个文件的最后一个切片最大可以切成122m*1.1大小并发数影响因素运行节点的硬件运行任务的类型:CPU密集/IO密集运行人物的数据量reduc...
2019-02-20 15:52:23
234
原创 HDFS总结
1. 设计思想目的: 实现海量数据存储设计思想:1)切块存储:避免namenode压力过大2)备份存储:避免节点压力过大宕机导致文件丢失2. 架构主从架构:namenode:1)存储元数据2)接收客户端的读写请求datanode:1)存储文件2)处理客户端读写请求secondarynamenode:1)备份主节点,在主节点宕机时进行数据恢复保证集群正常运行...
2019-02-20 15:07:10
226
转载 设计模式
1、单一职责原则        就一个类而言,应该仅有一个引起它变化的原因(如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多一个的职责,就应该考虑类的职责分离) 2、开放-封闭原则     &
2019-02-19 19:42:17
133
原创 多线程
1.线程概念前提掌握程序(program)是对数据描述与操作的代码的集合,是应用程序执行的脚本。进程(process)是程序的一次执行过程,是系统运行程序的基本单位。程序是静态的,进程是动态的。系统运行一个程序即是一个进程从创建、运行到消亡的过程。多任务(multi task)在一个系统中可以同时运行多个程序,即有多个独立运行的任务,每个任务对应一个进程。线程线程(thread...
2019-02-18 19:50:56
143
原创 JVM内存结构及GC原理
内存结构1.Java堆(Heap)对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称做“GC堆”。如果从内存回收的角度看,由于现在收集器基本都是采用的分代收...
2019-02-18 15:46:21
238
转载 java反射机制的理解和用途
在imooc上看到关于反射的文章就留心看了看,写的挺好作者: 陈树义 链接:http://www.imooc.com/article/23418来源:慕课网反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释。一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。Apple apple ...
2019-02-18 15:00:19
154
转载 IO流
流的概念和作用学习Java IO,不得不提到的就是JavaIO流。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流字符流和字节流字符流的由来: 因为数据编码的不同,而...
2019-02-18 11:34:53
143
原创 集合
List (有序可重复)继承CollectionArrayList、Vector、LinkedList比较1)存储结构:ArrayList和Vector底层数组,LinkedList底层链表2)线程安全性:ArrayList,LinkedList是线程不安全的,效率高。Vector实现线程安全的,效率低。3)扩容机制:ArrayList:0.5倍+1扩容 (不可设置,默认...
2019-02-18 11:24:41
135
原创 字符串类
字符串String1)string类被final修饰,意味String不可继承,全员方法默认为final,是不可变类,对象一旦生成不可更改,修改对象会创建新的对象2)内存图3)常用方法2. StringBuffer 和 StringBuilder1)二者皆为可变类常用方法append() 末尾添加deleteChar...
2019-02-18 10:40:32
508
原创 海量数据常用十大解决方案
1.布隆过滤器2.Hash散列3.BitMap4.堆5.双层通划分6.数据库索引7.倒排索引8.外排序9.Trie树10.分布式解决方案 MR/Spark
2018-11-29 21:12:18
772
原创 9个算法常识
1.实现hive不支持的a.id>b.id案例1:微博需要向用户推送私信,但白名单的用户除外,现在全部用户的uid在表weibouid表的alluid分区,白名单在baimingdan分区,现在用join on实现去除alluid中的白名单uid,两个分区的uid是去重的。解决方案:笛卡尔积方法1:select uid from(select uid from weibouid ...
2018-11-29 21:04:59
290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅