- 博客(145)
- 资源 (4)
- 收藏
- 关注
转载 网易商业智能研究员笔试——逻辑推理题
网易商业智能研究员笔试——逻辑推理题 网易笔试已经过去好多天了,考完就放弃的,没想到十一来了竟然看到通过笔试,多少还是有点惊喜。于是回想起笔试时候那些不会的题,今天就来讲讲“3个学生与教授的数字推理题”吧。昨晚睡觉前,感觉无聊,顿时灵感起来,故思得一解法,拿来与大家分享,如有不对还请指出。 题目复述:有个逻辑学教授和他3个非常聪
2015-05-24 19:04:04
1708
原创 Java中接口的属性
Java中接口的属性1、对于常量或者成员来说,属性为public static final2、对于成员函数来说,属性为public
2015-05-24 16:56:52
2867
转载 java中如何判断是否使用继承还是合成
java中如何判断是否使用继承还是合成判断标准是: 是否对于句柄需要采用上溯造型,是的话就需要继承,不是的话就需要合成
2015-05-24 16:22:50
850
转载 多态在 Java 和 C++ 中的实现比较
多态在 Java 和 C++ 中的实现比较上文分别对于多态在 Java和 C++ 中的实现做了比较详细的介绍,下面对这两种语言的多态实现的异同做个小结:· 单继承情况下,两者实现在本质上相同,都是使用方法表,通过方法表的偏移量来调用具体的方法。· Java的方法表中包含 Java类所定义的所有实例方法,而C++ 的方法表则只包含需要动态绑
2015-05-24 00:13:55
602
转载 java中垃圾收集器的重点
释放没用的对象,垃圾回收也可以清除内存记录碎片根集(root set)这个概念;所谓根集就是正在执行的Java程序可以访问的引用变量的集合(包括局部变量、参数、类变量),程序可以使用引用变量访问对象的属性和调用对象的方法。垃圾回收首先需要确定从根开始哪些是可达的和哪些是不可达的,从根集可达的对象都是活动对象,它们不能作为垃圾被回收,这也包括从根集间接可达的对象。而根集通过任意路径不
2015-05-24 00:04:24
680
转载 垃圾回收
1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放
2015-05-23 22:13:14
685
转载 简单Case函数和Case搜索函数。
Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END这两种方式,可以实现相同的功能。简单
2015-05-23 21:11:50
1352
转载 大数相乘算法
1.题目 编写两个任意位数的大数相乘的程序,给出计算结果。2.题目分析 该题相继被ACM、华为、腾讯等选作笔试、面试题,若无准备要写出这种程序,还是要花一定的时间的。故,觉得有必要深入研究一下。搜索了网上的大多数该类程序和算法,发现,大数乘法主要有模拟手工计算的普通大数乘法,分治算法和FFT算法。其中普通大数乘法占据了90%以上,其优点是空间复杂度低
2015-05-23 00:47:17
1165
转载 Hive元数据表
本文是笔者初步整理的Hive元数据表,有不准确的地方请轻拍,后续我会补充.1. Hive 0.11 元数据表汇总线上Hive 0.11 metastore包括下述39个表,主要分为以下几类: Database相关 Table相关 数据存储相关SDS COLUMN相关 SERDE相关(序列化) Partition相关(分区)
2015-05-22 22:11:46
759
转载 元数据
元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子:(她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮
2015-05-22 21:28:56
345
转载 hive中的join
hive只支持等连接,外连接,左半连接。hive不支持非相等的join条件(通过其他方式实现,如left outer join),因为它很难在map/reduce job实现这样的条件。而且,hive可以join两个以上的表。 同个查询,可以join两个以上的表Sql代码 1. SELECT a.val, b.val, c.val FROM a JOIN b ON (a.
2015-05-22 21:00:17
974
转载 ETL
ETL,是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。 ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。 数
2015-05-22 20:07:00
1362
转载 Map-Reduce的逻辑过程
1、Map-Reduce的逻辑过程假设我们需要处理一批有关天气的数据,其格式如下:· 按照ASCII码存储,每行一条记录· 每一行字符从0开始计数,第15个到第18个字符为年· 第25个到第29个字符为温度,其中第25位是符号+/-0067011990999991950051507+0000+004301199099
2015-05-19 23:22:22
1486
转载 Hadoop别人的学习总结
Hadoop别人的学习总结学习Hadoop有一段时间了,主要是通过《Hadoop权威指南》,同时参考了网上的很多文章。静下心来,盘点下这一段时间的收获,归纳总结,做一个学习笔记,因为可以记录的东西实在太多了,所以这里就着重记录我在学习过程中花费比较多时间去理解的内容。说到Hadoop就不能不提到Lucene和Nutch。Lucene并不是一个应用程序,只是提供了一个Java的全文索引引擎工
2015-05-19 22:12:13
2189
转载 Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
http://www.csdn.net/article/2014-02-17/2818431-HDFS+MapReduce+HbaseHadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解发表于2014-02-17 11:55| 11692次阅读|来源CSDN博客| 5 条评论|作者张震摘要:通过对Hadoop分布式计算平台最核心
2015-05-19 21:46:43
774
原创 几句话说下hive与hbase之间的区别:
1、hive封装的是MR,其实就是MR的接口而已。但是HBASE是noSQL的数据库。2、hive不支持常规的数据库操作,如不能插入,删除,更新等,一般是用来处理大量的静态数据,但是hbase可以执行插入等方面的操作。3、hive的运行时间一般比较的长,所以适合大的静态数据,但是hbase则不需要,可以进行大规模的实时查询。
2015-05-19 21:36:35
752
转载 hive与hbase之间的区别
Hive是什么?Apache Hive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库。Hive可以看作是用户编程接口,它本身不存储和计算数据;它依赖于HDFS(Hadoop分布式文件系统)和MapReduce(一种编程模型,映射与化简;用于大数据并行运算)。其对HDFS的操作类似于SQL—名为HQL,它提供了丰富的SQL查询方式来分析存储在HDFS中的数据
2015-05-19 21:27:23
2205
转载 Hadoop详细的流程
Hive是基于Hadoop平台的,它提供了类似SQL一样的查询语言HQL。有了Hive,如果使用过SQL语言,并且不理解Hadoop MapReduce运行原理,也就无法通过编程来实现MR,但是你仍然可以很容易地编写出特定查询分析的HQL语句,通过使用类似SQL的语法,将HQL查询语句提交Hive系统执行查询分析,最终Hive会帮你转换成底层Hadoop能够理解的MR Job。对于最基
2015-05-19 21:03:14
713
转载 MapJoin原理
MapJoin原理MapJoin简单说就是在Map阶段将小表读入内存,顺序扫描大表完成Join。上图是Hive MapJoin的原理图,出自Facebook工程师Liyin Tang的一篇介绍Join优化的slice,从图中可以看出MapJoin分为两个阶段:通过MapReduce Local Task,将小表读入内存,生成HashTableFiles上传至
2015-05-19 20:33:26
5469
转载 MapReduce实现基本SQL操作的原理
1、MapReduce实现基本SQL操作的原理详细讲解SQL编译为MapReduce之前,我们先来看看MapReduce框架实现SQL基本操作的原理1.1 Join的实现原理select u.name, o.orderid from order o join user u on o.uid = u.uid;在map的输出value中为不同表的数据打上tag标记,在reduc
2015-05-19 20:20:10
3008
转载 ANTLR简介
ANTLR简介ANTLR—Another Tool for Language Recognition,其前身是PCCTS,它为包括Java,C++,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器(recognizer),编译器(parser)和解释器(translator)的框架
2015-05-19 15:22:29
667
转载 hadoop排序
本篇博客是金子在学习hadoop过程中的笔记的整理,不论看别人写的怎么好,还是自己边学边做笔记最好了。 1:shuffle阶段的排序(部分排序)shuffle阶段的排序可以理解成两部分,一个是对spill进行分区时,由于一个分区包含多个key值,所以要对分区内的按照key进行排序,即key值相同的一串存放在一起,这样一个partition内按照key值整体有序了。第二部分并不是排序
2015-05-19 14:38:28
602
转载 .解析Partition
1.解析PartitionMap的结果,会通过partition分发到Reducer上,Reducer做完Reduce操作后,通过OutputFormat,进行输出,下面我们就来分析参与这个过程的类。Mapper的结果,可能送到Combiner做合并,Combiner在系统中并没有自己的基类,而是用Reducer作为Combiner的基类,他们对外的功能是一样的,只是使用的位置和使用时的上
2015-05-19 14:17:18
761
转载 C++面试题目
一、常见字符串1. 写出在母串中查找子串出现次数的代码。[cpp] view plaincopyint count(char* str,char* substr) { char* str1; char* str2; int num = 0; while(*str!='\0') { str1 = str;
2015-05-19 12:42:55
542
转载 [C++面试题]之字符串
[C++面试题]之字符串 基本上求职者进行笔试时没有不考字符串的。字符串也是一种相对简单的数据结构,容易引起面试官反复发问。事实上,字符串也是考验程序员编程规范和编程习惯的重要考点。不要忽视这些细节,因为这些细节会体现你在操作系统、软件工程、边界内存处理等方面的知识掌握能力,也会成为企业是否录用你的参考因素。1、怎样将整数转换成字符串数,并且不用函数 itoa
2015-05-19 11:40:10
404
转载 单链表的快速排序
单链表的特点是:单向。设头结点位head,则最后一个节点的next指向NULL。如果只知道头结点head,请问怎么将该链表排序? 设结点结构为[cpp] view plaincopystruct Node{ int key; Node* next; };
2015-05-19 11:03:49
380
转载 二叉树的非递归遍历
二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对
2015-05-19 09:51:59
484
转载 const 和 #define区别
http://blog.sina.com.cn/s/blog_79b01f6601018xdg.htmlconst 和 #define区别 (2012-12-11 14:14:07)转载▼标签: 杂谈 (1) 编译器处理方式不同 define宏是在预处理阶段展开。
2015-05-19 09:05:05
424
原创 数据倾斜问题简单几句话
参考:http://blog.csdn.net/pursuitbeauty/article/details/45827469http://blog.csdn.net/pursuitbeauty/article/details/38236171总结为一下的几点:现象: 就是某些map的文件个数过大,由于hash函数分配不均匀,导致有一些reduce的停滞的时间过
2015-05-18 21:15:38
2902
转载 数据倾斜
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的
2015-05-18 21:01:49
1554
1
原创 shuffle的心得
http://blog.csdn.net/pursuitbeauty/article/details/38333499 参考这篇目标:Shuffle的大致范围就成-怎样把map task的输出结果有效地传送到reduce端。也可以这样理解, Shuffle描述着数据从maptask输出到reduce task输入的这段过程。 · 在跨节点拉取数据时,尽
2015-05-18 19:47:32
538
转载 Shuffle过程是MapReduce的核
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce,Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReducejob 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里我尽
2015-05-18 19:47:02
709
转载 C和C++的区别:
C和C++的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所
2015-05-18 00:38:52
373
原创 对于数据库的东西简而言之
第一范式: 不可以分割数据项第二范式: 对于主键不可以部分依赖(即主键必须是两个候选属性)第三范式:对于主键必须直接依赖(即不可以传递依赖)BCNF:每一个决定引子都必须存在候选因子.
2015-05-18 00:16:31
432
转载 范式:
范式:第一范式不多说了指数据库表的每一列都是不可分割的基本数据项在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。第二范式:数据库表中不存在非关键字段对任一候选键的部分函数依赖,也即所有非关键字 段都完全依赖于任意一组候选关键字。2NF的违例只会出现在候选键由超过一个字段构成的表中,因为对单关
2015-05-18 00:13:53
710
转载 数据库(第一范式,第二范式,第三范式)
范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF)
2015-05-17 23:56:46
367
原创 总结下上一篇蛋疼的protected
其实很简单在一个包里,protected就是public,连任何的实例对象都可以访问。不在一个包的时候,protected就是private,但是需要排除两个例外。1、 衍生类本身可以访问或者覆盖。2、衍生类本身内部的衍生类实例可以直接访问,如同衍生类实例.xx的形式,但是却不允许基类实例.xx的形式。
2015-05-13 16:37:01
412
原创 JAVA当中令人蛋疼的projected
首先先看以下的文章:java中protected 1. protected 访问控制符能被用于方法和成员变量。 2. 声明为protected的方法和成员变量能被同一个包里的所有类所访问,就像默认修饰符package一样。 3. 能被该类的子类所访问,子类可以和父类不在一个包中。 这样,当你想让一个类中的某个方法或成员变量在包中都可见,而且其子类也能
2015-05-13 16:31:05
1740
转载 CUDA矩阵相乘
这几天研究了一下CUDA,发现其并行的思想和普通的CPU多线程思想不太一致,但还是挺不错。主要是将任务划分成一个个block,然后每个block里面再划分成细的线程。然后每个线程做自己做的事情。这种并行思想很适用于像矩阵运算这些元素与元素之间的运算并不耦合得很厉害,但整体数据很大的情况,这只是我对CUDA的初步感觉。矩阵相乘的CPU程序如下://C = A*Bvoid
2015-01-27 20:39:46
812
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅