- 博客(67)
- 资源 (7)
- 收藏
- 关注
转载 欢迎使用Markdown编辑器写博客
欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用
2016-10-29 17:33:57
317
原创 Python系列之-入门
Python系列之-入门Python简介Python是一门面向对象,解释型的语言。和传统的C/C++语言相比,是边解释边进行,是通过Python解释器实现的。语法简洁清晰,强制用空白符作为缩进。并且有着很多库,包括第三方提高的库。关于Python的版本问题,2.7.x还是3.x,看你的项目需求。但是这两个版本都需要掌握。主要差别还是体现在某些语法和库上。Python开发环境搭建基于不同的系统有W
2016-03-30 22:26:09
427
原创 网络上的学习笔记 Hadoop
1. 如今有10个文件夹,每个文件夹都有1000000个url.如今让你找出top1000000url(1)运用2个job,第一个job直接用filesystem读取10个文件夹作为map输入,url做key,reduce计算个url的sum,下一个job map用url作key,运用sum 二次排序,reduce中取top10000000 (2)建hive表 A,挂
2015-10-09 17:56:46
754
原创 Spark问题笔记5
对于文本文件,在Spark中,一行就是一条记录,若干条记录组成一个集合。我们 原来的算法直接在每一行上进行计算,就不行了。需要先构建数据集,然后通过数据集的操作, 实现我们的目的。将数据载入并构造数据集在Spark中,这个数据集被称为`RDD` :弹性分布数据集。对数据集进行map操作将原始记录映射为新的记录,并返回一个新的RDD。 对map后的数据集进行collect
2015-10-05 22:03:21
450
原创 Spark Streaming 的 UpdateStateByKey操作
updateStateByKey利用给定的函数更新DStream的状态,返回一个新"state"的DStream。操作允许不断用新信息更新它的同时保持任意状态。你需要通过两步来使用它定义状态 状态可以是任何的数据类型定义状态更新函数 怎样利用更新前的状态和从输入流里面获取的新值更新状态举个例子说明。若想保持一个文本数据流中每个单词的运行次数,运行次数用一个state表
2015-09-21 22:11:25
1510
原创 Hadoop学习笔记1
1、MapReduce模型 MapReduce是一个分布式编程模型,主要用于处理和生成大规模数据集。 用户自定义一个Map函数处理一个KV对以生成一批中间的KV对,再定义一个Reduce函数将所有的中间KV对合并起来。 主要由Mapper和Reducer抽象类。Mapper负责对数据的分析处理,转换为KV的数据结构;Reducer获取Mapper出来的
2015-09-13 16:53:56
476
原创 Python标示符
Python标示符:以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
2015-09-10 12:14:42
392
原创 Junit简介与使用
简介xUnit是一套基于测试驱动开发的测试框架,并不会出现在发布的产品中的JUnit是xUnit的一套子集JUnit3:不支持注解,必须继承junit.framework.TestCase这个类,且命名必须是test开头JUnit4:只要加上@Test注解即可,不需要继承任何类,命名没有限制,使用断言机制如何开发测试用例?1. 导入jar(右键Build Path
2015-09-09 02:40:41
475
原创 GraphX的基本介绍
1、GraphX的需要懂的三个问题:(1)提供给用户的API,各家提供的差不多(2)图在分布式系统中如何存储?每个机器存哪个边?哪个点?(3)分布式图是如何通信的呢?(边点确定时)2、GraphX图引擎基于Spark,其存的点和边叫分别较做EdgeRDD和VertexRDD,相比于RDD,附加了元信息。分布式的存储方式会影响后期的执行效率;边和点的存
2015-09-04 23:40:56
3782
原创 spark源码剖析之----Shuffle
1.源码结构上图是Shuffle的源码组成。2.ShuffleRDD的类可见其继承了RDD类,其中主要是重写了RDD的getDependencies、partitioner、getPartitions、compute和clearDependencies方法。其中compute方法如下:先Look下Spark Shuffle的整体流程哈,这是在老版本的Spar
2015-09-04 02:09:52
571
原创 spark源码剖析之----Partitioner
每个RDD里面都有一个可选的分区策略方法,在Spark源码中关于Partitioner提供了Partitioner的抽象类,/** * An object that defines how the elements in a key-value pair RDD are partitioned by key. * Maps each key to a partition ID, from
2015-09-03 16:57:42
501
1
原创 工厂模式/抽象工厂模式
这里使用简单的话来讲解工厂模式,不涉及编程什么是工厂模式呢?我的理解是对抽象接口实例的封装。假如有一个接口,有若干的实现类,代表不同的实例。传统产生对象的方法是直接new一个出来,对于每个实例都要new,当实现接口的类较多时会很麻烦,并且类的实现也暴露出来了。工厂模式是一种产生对象的模式,使用一个工厂类将接口及其所有实现的类封装起来,当想使用某对象的时候,只需要给工厂传递这一类的特征参数就
2015-09-03 11:33:50
360
原创 Hadoop学习计划
学习Hadoop?Hadoop的源起与体系介绍;实施Hadoop集群;CDH家族分布式文件系统HDFS原理与操作,HDFS API编程;2.x下HDFS新特性,高可用,联邦,快照具有全部新特性的2.x企业级集群实施Map-Reduce原理、体系架构和工作机制,eclipse与Hadoop集群连接,使用mavenMap-Reduce编程实战,日志分析M
2015-09-03 01:56:31
942
原创 Spark编程使用的基本指令
// * hadoop fs -mkdir input // * hadoop fs -copyFromLocal /user/local/hadoop/*.txt input // * hadoop jar *.jar className input output // * hadoop namenode -format // * // * spark // * hadoop
2015-09-03 00:01:22
898
原创 Spark Shuffle 的调研
转正自:http://dongxicheng.org/framework-on-yarn/apache-spark-shuffle-details/概述:对于大数据计算框架而言,Shuffle是分布式系统性能的瓶颈之一,Shuffle阶段的设计优劣是决定性能好坏的关键因素之一。本文将介绍目前Spark的shuffle实现,并将之与MapReduce进行简单对比。本文的介绍顺序是:(1)
2015-09-02 14:43:03
413
原创 Spark问题笔记4
对RDD的操作,体现在对算子的操作算子分两类:Transformation、Action运行调度:->DAG->Stage->TaskDAGSchedule遇到Action时会回溯,当遇到shuffle时会产生新的Stage,从而产生Stage;使用TaskSchedule对Stage1进行调度,把stage1 task任务委派到Worker上。
2015-09-02 14:17:50
423
原创 RDD.scala源码
* A Resilient Distributed Dataset (RDD), the basic abstraction in Spark. Represents animmutable, *partitioned collection of elements that can be operated on inparallel. * RDD.scala:This c
2015-09-01 12:05:15
529
原创 Hbase原理简析
1、概述 Hbase是一个分布式的、面向列的开源的kv数据库。 在2006年发起,是BigTable的山寨产品,07年成为Hadoop的子项目。在10年成为Apache的顶级项目。 众多社区的参与使得Hbase逐渐完善,在很多公司中使用。 Hbase的稳定性一直是个问题,但是使用它的还是很多。主要是因为其实际的存储模型能够与实际的业务匹配程度高相关的。
2015-08-27 17:36:42
707
原创 Spark问题笔记3
1、RDD的缓存策略是什么? 缓存策略对应类StorageLevel,包括多种存储级别:objectStorageLevel{ val NONE =newStorageLevel(false,false,false,false) val DISK_ONLY =newStorageLevel(true,fa
2015-08-26 22:24:14
644
原创 Spark问题笔记2
1、学习Spark必须要深入理解RDD编程模型。为什么呢? RDD是Spark抽象的基石,整个Spark的编程都是基于对RDD的操作完成的。RDD(弹性分布式数据集,Resilient Distributed Datasets),其特性是只读的、可分区、容错的的数据集合;所谓弹性,指内存不够时,可以与磁盘进行交换(Spark是基于内存的),上述是Spark快的一个原因。Spark快的另
2015-08-26 16:36:03
688
原创 Spark问题笔记1
Spark问题笔记1我们知道Spark总是以集群的方式运行的,Standalone的部署方式是集群方式中最为精简的一种(另外的是Mesos和Yarn)。Standalone模式中,资源调度是自己实现的,是MS架构的集群模式,故存在单点故障问题。下面提出几个问题并解决:1、Standalone部署方式下包含哪些节点? 由不同级别的三个节点组成,分别是Master主控节点、Wor
2015-08-26 14:12:42
700
1
原创 二叉树平衡检查(Java)
题目描述实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。package com.msjd.tree;public class Balance { public boolean isBalance(Tre
2015-08-25 12:29:17
563
原创 双栈排序(Java)
题目描述请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。给定一个int[] numbers(C++中为vector),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。测试样例:[1,2,3,4,5]返回:[5,4,3,2,1]i
2015-08-25 11:12:41
1796
原创 集合栈
题目描述请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈。该数据结构应支持与普通栈相同的push和pop操作。给定一个操作序列int[][2] ope(C++为vector>),每个操作的第一个数代表操作类型,若为1,则为push操作,后一个数为应push的数字;若为2,则为pop操作,后一个数无意义。请返回一个i
2015-08-25 10:10:55
823
原创 回文链表(Java)
题目描述请编写一个函数,检查链表是否为回文。给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。测试样例:{1,2,3,2,1}返回:true{1,2,3,2,3}返回:false注:(1)引入栈(2)知道链表长度时,可以使用递归法引入栈:将前半部分的节点入栈,由于不知道链表长度,利用快慢指针的方法,将慢指针的数据
2015-08-24 20:33:57
1055
原创 链式A+B
题目描述有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。给定两个链表ListNode* A,ListNode* B,请返回A+B的结果(ListNode*)。测试样例:{1,2,3},{3,2,1}返回:{4,4,4}public class Plus { //链式A
2015-08-24 19:00:59
740
原创 链表分割(Java)
题目描述编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。 // 分割链表: public ListNode partition1(ListNode pHead, int x) {
2015-08-24 11:40:32
1063
原创 访问单个节点的删除(Java)
题目描述实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回trueclass ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val;
2015-08-24 10:45:53
778
原创 翻转子串(Java)
假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例:"Hello world","world
2015-08-23 22:32:22
725
原创 清除行列(Java)
题目描述请编写一个算法,若MxN矩阵中某个元素为0,则将其所在的行与列清零。给定一个MxN的int[][]矩阵(C++中为vector)mat和矩阵的阶数n,请返回完成操作后的int[][]矩阵(C++中为vector),保证n小于等于300,矩阵中的元素为int范围内。测试样例:[[1,2,3],[0,1,2],[0,0,1]]返回:[[0,0,3],[0,0,0
2015-08-23 20:49:53
587
原创 像素翻转(Java)
有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。测试样例:[[1,2,3],[4,5,6],[7,8,9]],3返回:[[7,4,1],[8,5,2],[9,6,3
2015-08-23 20:14:50
771
原创 确定两串乱序同构(Java)
import java.util.Arrays;public class Same { public boolean checkSam(String stringA, String stringB) { // write code here if(stringA.length() != stringB.length()) return false;
2015-08-23 19:31:22
615
原创 原串翻转(Java)
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。测试样例:"This is nowcoder"返回:"redocwon si sihT"注:字符串的处理 较简单哈public class
2015-08-23 18:37:08
454
原创 确定字符互异(Java)
题目描述请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。测试样例:"aeiou"返回:True"BarackObama"返
2015-08-23 18:12:14
1466
原创 基本字符串压缩(Java)
题目描述利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。给定一个string iniString为待压缩的串(长度小于等于3000),保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的串。测试样例"aabc
2015-08-23 17:42:44
639
原创 空格替换(Java)
题目描述请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。测试样例:"Mr John Smith”,13返回:"Mr%20Joh
2015-08-23 17:19:37
687
原创 数据库的基本概念
数据库:关系型数据库:MySQL、oracle、SQL Server等非关系型数据库(NoSQL):Hbase、Cassandra、Redis等,这个就真是太多了,基于列的、基于图的、键值对的等等ACID:数据库事务正确执行的四个要素,包含原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、永久性(Durability)。注:。一个
2015-08-21 15:02:44
467
原创 配置文件恢复
我自己写的:但是不知道什么问题 拿不到 满分 总是 测试错误 ,请看到的大神 指点下import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Scanner;// 要是能用Scala 就简单多了呀public cla
2015-08-20 19:37:55
641
原创 桃7
import java.util.Scanner;public class Tao7 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int tao = sc.nextInt(); tao7
2015-08-20 15:06:07
330
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人