`
文章列表
<html> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> <body> <input type="text" name="username" /> </body> <script type="text/ecmascript"> va ...
概述 spark sql 是一个结构化执行的数据模块,它并不像基本的spark rdd操作,spark sql可以提供更多的基于数据操作的接口,而且有更多的优化操作,这里提供了几种方式去个spark sql 交互,DataFrames API 和 Datasets API。 SQL DataFrame dataframe 是一个结构化的分布式的类似数据库表的一种存储结构,但是它对比与关系型数据库有更加丰富的操作和更优的性能,dataframe 的数据来源可以是structured data files, tables in Hive, external databases,  existin ...
原文  http://www.cnblogs.com/hseagle/p/3979744.html 概要 Spark 1.1中对spark core的一个重大改进就是引入了sort-based shuffle处理机制,本文就该处理机制的实现进行初步的分析。 通过一个小的实验来直观的感受一下sort-based shuffle算法会产生哪些中间文件,具体实验步骤如下所述。 步骤1: 修改conf/spark-default.conf, 加入如下内容 spark.shuffle.manager SORT 步骤2: 运行spark-shell SPARK_LOCAL_IP=127.0 ...
注:本文转自:http://www.csdn.net/article/2015-06-01/2824823 按照经验来说,当我们配置垃圾收集器时,主要有两种策略——Parallel GC和CMS GC。前者注重更高的吞吐量,而后者则注重更低的延迟。两者似乎是鱼和熊掌,不能兼得。在实际应用中,我们只能根据应用对性能瓶颈的侧重性,来选取合适的垃圾收集器。例如,当我们运行需要有实时响应的场景的应用时,我们一般选用CMS GC,而运行一些离线分析程序时,则选用Parallel GC。那么对于Spark这种既支持流式计算,又支持传统的批处理运算的计算框架来说,是否存在一组通用的配置选项呢? 通常CMS ...
Tungsten项目将是Spark自诞生以来内核级别的最大改动,以大幅度提升Spark应用程序的内存和CPU利用率为目标,旨在最大程度上压榨新时代硬件性能。Project Tungsten包括了3个方面的努力: Memory Management和Binary Processing:利用应用的语义(application semantics)来更明确地管理内存,同时消除JVM对象模型和垃圾回收开销。 Cache-aware computation(缓存友好的计算):使用算法和数据结构来实现内存分级结构(memory hierarchy)。 代码生成(Code generation):使用代码生 ...
堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。 这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。 堆的内存模型大致为: 从图中可以看出: 堆大小 = 新生代 + 老年代。其中,堆的大小可以通过参数 –Xms、-Xmx 来指定。 本人使用的是 JDK1.6,以下涉及的 JVM 默认值均以该版本为准。 ...
本文重点关注 数据块切分方法以及P2P下载数据方法 Broadcast(广播)是相对较为常用方法功能,通常使用方式,包括共享配置文件,map数据集,树形数据结构等,为能够更好更快速为TASK任务使用相关变量。 期间,曾见过有童鞋用原始日志(log)进行广播,导致集群运行缓慢,诸位童鞋可以引此为戒,其与JAVA的ServletContext的作用近似,ServletContext存放过多数据也会内存溢出的,Broadcast虽然不会溢出(使用内存+硬盘方式),但是依然会影响运行。 基础使用: val broadcastValue = sc.broadcast(存储值) broadca ...
服务端代码写多了,最近要写web application,想用 spring mvc比较方便,多年未用,基本语法都忘记了,在此转载一下,以防以后用到再忘记: 本文出处 http://blog.csdn.net/lufeng20/article/details/7598801 概述 继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能。现在你无须让 Controller 继承任何接口,无需在 XML 配置文件中定义请求和 Controller 的映射关系,仅仅使用注解就可以让一个 POJO 具有 Contr ...
定义: 两个泛型类 class A[type_a] class B[type_b] 如果 type_a是type_b 的 父类 那么A也是B的父类,那么就称之为 convariance(协变); 如果 type_a是type_b 的 父类 A是B的子类,那么就称之为 contravariance(逆变); 如果一个类型支持协变或逆变,则称这个类型为variance(翻译为可变的或变型),否则称为invariant(不可变的)。 在Java里,泛型类型都是invariant,比如 List<String> 并不是 List<Object> 的子类型。不过Java支持使用点 ...
本节记录spark下载-->编译-->安装-->使用 首先从主站下载spark源码包(源码包更利于我们学习spark) http://spark.apache.org/downloads.html 注意选择所需要的相对应的spark源码版本,在此我们选择使用spark-1.3.0 spark的所有版本源码全部托管在 github上面 https://github.com/apache/spark spark 源码包编译有三种方式 1:SBT编译 2:Maven编译 3:打包编译 make-distribution.sh note:编译spark需要maven 3.0.4+ ...
记录一下课堂笔记: 定义:spark是一个快速的,通用的分析大数据处理引擎。 DAG(有向无环图):在图论中,如果一个有向图无法从任意顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。 因为有向图中一 ...
将近一年不用spring了,在此回顾一下比较经典的AOP AOP的相关术语: 1.通知(Advice): 通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint): 程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut) 通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方法的名称,Spring中允许我们方便的用正则表达式来指定 4.切面(Aspect) 通知和切入点共同组成了切面:时间、地点和要发生的“故事” 5.引入(Intro ...
问题出现 hadoop默认调度器是FIFO,其原理就是先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。 比如有两个作业job1和job2,job1提交了一个优先级比较高的作业,而且独占资源时间特别长,这时候来了一个job2作业,就需要等待job1完成释放后才能执行。 解决方法 hadoop有facebook贡献的一个计算能力调度器(Capacity Scheduler), 支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。调度时,首先按以下策略选择一个合适队列:计算每个 ...
Facebook之前曾经透露过Facebook的hbase架构,可以说是非常不错的。如他们将message服务的hbase集群按用户分为数个集群,每个集群100台服务器,拥有一台namenode以及分为5个机架,每个机架上一台zookeeper。可以说对于大数据量的服务这是一种优良的架构。对于淘宝来说,由于数据量远没有那么大,应用也没有那么核心,因此我们采用公用hdfs以及zookeeper集群的架构。每个hdfs集群尽量不超过100台规模(这是为了尽量限制namenode单点问题)。在其上架设数个hbase集群,每个集群一个master以及一个backupmaster。公用hdfs的好处是可以 ...
在网上看到的一篇解决hbase性能问题的文章,虽然文章不长,但是我相信作者在此经历的过程和从中学到的知识要比这个深刻的太多了。 原文地址:http://tech.meituan.com/opentsdb_hbase_compaction_problem.html 业务背景 OpenTSDB 是一款非常适 ...
Global site tag (gtag.js) - Google Analytics