- 博客(81)
- 收藏
- 关注
原创 Spark SQL 源码分析系列文章
Spark SQL 源码分析系列文章,从整个SQL执行流程到各个环节的关键组件,以及Catalyst框架的讲解。
2014-07-29 09:46:46 35301 1
原创 Apache Helix简介
Apache HELIX一个为partitioned和replicated分布式资源 而设计的 集群管理框架What is HELIXApache Helix是一个通用的集群资源管理框架,它能被用作自动管理存在于集群节点上的分区的,有副本的分布式资源。Helix能够在结点down掉和recovery后,集群扩容,配置更新后自动的重新分配资源。前言-What Is Cluster Management
2015-08-11 10:38:53 10692 1
原创 HDFS之Node角色
Secondary NameNode:NameNode是一种logappend方式来存储对dfs的修改操作,editlog。 NameNode启动的时候,会去从fsimage中读取HDFS的状态,然后从editlog中恢复恢复对dfs的修改操作。然后在对fsimage写入新的状态,启动一个新的空的edits file.由于NameNode只会在其启动的时候,会合并fsimage和editlog.
2015-08-04 16:13:01 2220
原创 LinkedIn Cubert 实践指南
LinkedIn Cubert安装指南Understanding Cubert Concepts(一)Partitioned BlocksUnderstanding Cubert Concepts(二)Co-Partitioned Blocks
2015-07-01 11:25:50 2033
原创 Understanding Cubert Concepts(二)Co-Partitioned Blocks
Understanding Cubert Concepts(二):Cubert Co-Partitioned Blocks话接上文Cubert PartitionedBlocks,我们介绍了Cubert的核心Block概念之一的分区块,它是一种根据partitionKeys和cost function来对原始数据进行Redistribution和Transformation来结构化数据,这种结构化的
2015-07-01 10:54:56 2579
原创 Understanding Cubert Concepts(一)Partitioned Blocks
Understanding Cubert Concepts:Cubert Concepts对于Cubert,我们要理解其核心的一些概念,比如BLOCK。这些概念也是区别于传统的关系型范式(Pig,Hive)等数据处理流程并使得Cubert在大规模数据下JOIN和Aggregation中取胜的关键因素。(自己测下来,CUBE的计算效率比Hive高好多倍。)BLOCKCubert定义了一个BLOCK的概
2015-06-29 17:59:16 2047
原创 LinkedIn Cubert安装指南
最近工作需要,调研了一下LinkedIn开源的用于复杂大数据分析的高性能计算引擎Cubert。自己测了下,感觉比较适合做报表统计中的Cube计算和Join计算,效率往往比Hive高很多倍,节省资源和时间。下面看下这个框架的介绍: Cubert完全用Java开发,并提供一种脚本语言。它是针对报表领域里经常出现的复杂连接和聚合而设计的。Cubert使用MeshJoin算法处理大时间窗口下的大数据集,
2015-06-18 11:41:31 3047
原创 Build Spark1.3.1 with CDH HADOOP
Build Spark1.3.1 with CDH HADOOP1、找到CDH的版本[root@web02 spark1.3]# hadoop versionHadoop 2.0.0-cdh4.7.0Subversion file:///var/lib/jenkins/workspace/CDH4.7.0-Packaging-Hadoop/build/cdh4/hadoop/2.0.0-cdh4
2015-04-20 16:39:53 2752
原创 sbt pom reader - sbt读取pom
sbt pom reader - sbt读取pomSpark为了依赖项的统一管理用了sbt pom reader这个插件,sbt编译发布也是从pom里读GAV了。 我记得老版本sbt的依赖项是写在project/SparkBuild.scala里的。这个工具在java/scala项目内很有使用场景。地址在:https://github.com/sbt/sbt-pom-reader1.配置插件在/ap
2015-04-20 12:05:01 3349
翻译 Apache Hadoop NextGen MapReduce (YARN)
Apache Hadoop NextGen MapReduce (YARN)MRV2的设计是基于分离JobTracker的主要职能,将以下2个职能放在2个单独的进程中,以前都是在一个(JobTracker)进程中。1、资源管理 2、Job调度/监控2个核心概念: 1、全局的资源管理器 global Resource Manager (RM) 2、Per Application 每个应用程序有一
2015-04-17 18:03:04 1525
原创 Spark SQL之External DataSource外部数据源(二)源码分析
Spark SQL在Spark1.2中提供了External DataSource API,开发者可以根据接口来实现自己的外部数据源,如avro, csv, json, parquet等等。 在Spark SQL源代码的org/spark/sql/sources目
2014-12-22 01:12:30 11936 1
原创 Spark SQL之External DataSource外部数据源(一)示例
一、Spark SQL External DataSource简介 随着Spark1.2的发布,Spark SQL开始正式支持外部数据源。Spark SQL开放了一系列接入外部数据源的接口,来让开发者可以实现。 这使得Spark SQL支持了更多的类型数据源,如json, parquet, avro, csv格式。只要我们愿意,我们可以开发出任意的外部数据源来连接到Spark SQL。之前大家
2014-12-22 01:12:20 9445
原创 Docker 安装 on Mac OS X
一、简介 Docker是一个开源的容器引擎,能提供虚机化,从而达到隔离应用,可移植到任意安装有Docker的机器上运行,这对开发者来说是一个极大的福音。 由于工作上原因,最近准备开始使用Docker(公司装Docker的时候,linux server内核版本太低,需要重新编译)。 本文主要讲解如何在Mac OSX上安装Docker。 Tips:由于Docker引擎是使用了特定于Linux...
2014-12-07 11:19:30 13522 1
原创 Hive中跑MapReduce Job出现OOM问题分析及解决
一、引子今天在跑一段很复杂而且涉及数据量10年的N个表join的长SQL时,发生了OOM的异常。由于一个map通常配置只有64MB或者128MB,则在Map阶段出现OOM的情况很少见。所以一般发生在reduce阶段。但是今天这个异常详细的看后,会发现既不是map阶段,也不是reduce阶段,发现不是执行过程,而是driver提交job阶段就OOM了。Hive中XMLEncoder序列化Mapred
2014-11-21 20:02:47 29588
原创 sbt发布assembly解决jar包冲突问题 deduplicate: different file contents found in the following
一、问题定义最近在用sbt打assembly包时出现问题,在package的时候,发生jar包冲突/文件冲突问题,两个相同的class来自不同的jar包在classpath内引起冲突。具体是:我有一个self4j的jar, 还有一个hadoop-common-hdfs的jar包,其中hadoop-common-hdfs.jar内包含了self4j这个jar包,导致冲突。此类异常一般是由于打包不规范
2014-11-20 20:48:48 16927 2
原创 Spark 常见问题小结
1、WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster uito ensure that workers are registered and have sufficient memory当前的集群的可用资源不能满足应用程序所请求的资源。资源分2类: cores 和 ramCo
2014-11-06 19:43:02 4002
原创 Java GC 垃圾回收器的类型小结
JVM GC 垃圾回收器类型小结JVM的垃圾回收器大致分为四种类型:1、串行垃圾回收器2、并行垃圾回收器3、并发标记扫描垃圾回收器4、G1垃圾回收器1、串行垃圾回收器串行垃圾回收器在进行垃圾回收时,它会持有所有应用程序的线程,冻结所有应用程序线程,使用单个垃圾回收线程来进行垃圾回收工作。串行垃圾回收器是为单线程环境而设计的,如果你的程序不需要多线程,启动串行
2014-10-22 14:26:21 5235
原创 Spark SQL 源码分析之 In-Memory Columnar Storage 之 in-memory query
Spark SQL源码分析之如何查询cache后的table
2014-10-02 13:16:47 6605
原创 Spark SQL 源码分析之 In-Memory Columnar Storage 之 cache table
Spark SQL缓存到内存中的数据的存储策略
2014-09-25 18:20:23 11680
原创 Spark SQL Catalyst源码分析之Physical Plan
Spark SQL之Catalyst的物理计划,讲解了物理计划的产生过程,以及涉及到的策略。
2014-07-28 18:42:33 11548
原创 Spark SQL Catalyst源码分析之TreeNode Library
Spark SQL Catalyst的核心类库TreeNode详解,配有实例,图文并茂。
2014-07-24 16:05:36 9929 1
原创 Spark SQL Catalyst源码分析之Analyzer
本文详细介绍了Spark SQL的Catalyst里,Analyzer是如何Sql parser的解析的UnResolved逻辑计划,进行resolve的。
2014-07-22 00:24:01 10623
原创 Spark SQL Catalyst源码分析之SqlParser
本文以Catalyst源代码的角度解析Catalyst的解析器如何解析SQL的生成UnResolved LogicalPlan的。
2014-07-19 03:16:11 17795 9
原创 Spark SQL with Hive
Spark1.1发布后会支持Spark SQL CLI , Spark SQL的CLI会要求被连接到一个Hive Thrift Server上,来实现类似hive shell的功能。
2014-07-09 22:29:46 15775
原创 Spark SQL 初探
早在Spark Submit 2013里就有介绍到Spark SQL,不过更多的是介绍Catalyst查询优化框架。经过一年的开发,在今年Spark Submit 2014上,Databricks宣布放弃Shark 的开发,而转投Spark SQL,理由是Shark继承了Hive太多,优化出现了瓶颈,如图: 今天把Spark最新的代码签了下来,测试了一下:1、编译Spar
2014-07-02 19:13:20 9324
原创 Spark操作hbase
在Spark是一种计算框架,在Spark环境下,不仅支持操作单机文件,HDFS文件,同时也可以用Spark对Hbase操作。 企业中数据源会从HBase取出,这就涉及到了读取hbase数据,本文为了尽可能的让大家能尽快实践和操作Hbase,使用的是Spark Shell 来进行Hbase操作。一、环境:Haoop2.2.0Hbase版本0.96.2-hadoop2, r158109
2014-07-01 01:28:21 20164 9
原创 Spark机器学习库mllib之协同过滤
很久就想写一篇ML的实践文章,虽然看过肯多资料,总觉得纸上谈兵印象不深刻,过不了多久就忘了,现在就借Spark的Mllib来简单的实际一下推荐算法吧。 说起推荐算法,大家耳熟能详的就是CF(协同过滤),这次就拿CF中ALS(alternating least squares),交替最小二乘,来做个例子吧。CF里面的算法比较多,有基于物品的,基于用户的,ALS是基于矩阵分解的,关于
2014-06-25 18:01:33 11455 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人