自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

转载 spark的性能优化

基本概念和原则首先,要搞清楚Spark的几个基本概念和原则,否则系统的性能调优无从谈起:每一台host上面可以并行N个worker,每一个worker下面可以并行M个executor,task们会被分配到executor上面去执行。Stage指的是一组并行运行的task,stage内部是不能出现shuffle的,因为shuffle的就像篱笆一样阻止了并行task的运

2018-02-06 13:33:42 348

转载 scala 通配符的用法

1. 用于替换Java的等价语法由于大部分的Java关键字在Scala中拥有了新的含义,所以一些基本的语法在Scala中稍有变化。1.1 导入通配符*在Scala中是合法的方法名,所以导入包时要使用_代替。//Javaimport java.util.*;//Scalaimport java.util._1.2 类成员默认值Java中类成员可以不赋初始值,编译器会

2017-11-25 18:43:31 2933

原创 spark 2.2 源码分析 Spark-submit 篇

spark 2.2 源码分析 Spark-submit 篇本文主要分析spark的第一步spark-submit类。之前shell阶段主要就是环境变量的加载,而个人认为spark-submit才是spark程序的真正步。由上文可知org.apache.spark.launcher.Main启动了 org.apache.spark.deploy.SparkSubmit。我们来看一下submi

2017-11-22 23:24:24 1035

原创 spark 2.2 源码分析 Spark-shell 篇

spark 2.2 源码分析 Spark-submit 篇本文主要剖析了spark的任务提交过程。在用户写完scala脚本后,进行spark-submit的shell脚本的任务提交,其内部的调用原理:1 任务的提交/bin/spark-submit \  --class org.apache.spark.examples.Helloworld \  --master spark

2017-11-17 21:36:49 636

转载 Spark性能优化 shuffle调优

shuffle调优调优概述      大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占

2017-05-12 14:46:38 371

转载 Spark性能优化:数据倾斜调优

前言   继《Spark性能优化:开发调优篇》和《Spark性能优化:资源调优篇》讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。1.数据倾斜调优调优概述      有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此

2017-05-12 14:44:46 299

转载 Spark性能优化 资源调优

在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪

2017-05-12 14:43:24 276

转载 Spark性能优化 开发调优

1、前言      在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据

2017-05-12 14:41:47 215

转载 spark运行流程

计算模型基本概念l  Application:应用。可以认为是多次批量计算组合起来的过程,在物理上可以表现为你写的程序包+部署配置。应用的概念类似于计算机中的程序,它只是一个蓝本,尚没有运行起来。l  RDD:Resilient Distributed Datasets,弹性分布式数据集。RDD即是计算模型里的一个概念,也是你编程时用到的一种类。一个RDD可以认为是spark在执行分布

2016-11-29 11:16:57 528

原创 scala for 循环

object Test { def main(args: Array[String]) { var a = 0; // for loop execution with a range for( a 1 to 10){ println( "Value of a: " + a ); } }}When the ab

2016-05-12 15:56:39 948

转载 hive.exec.parallel参数

hive.exec.parallel参数hive.exec.parallel参数控制在同一个sql中的不同的job是否可以同时运行,默认为false.下面是对于该参数的测试过程:测试sql:select r1.afrom (select t.a from sunwg_10 t join sunwg_10000000 s on t.a=s.b) r1 join

2016-03-18 11:23:16 6243

翻译 使用Python实现Hadoop MapReduce程序

分类: Python Hadoop2013-03-10 21:35 1698人阅读 评论(0) 收藏 举报HadoopMapreducePython转自:使用Python实现Hadoop MapReduce程序英文原文:Writing an Hadoop MapReduce Program in Python根据上面两篇文章,下面是我在自己的ubuntu上的

2014-03-04 16:14:47 567

转载 hadoop的datajoin

hadoop中联结不同来源数据有时可能需要对来自不同源的数据进行综合分析:如下例子:有Customers文件,每个记录3个域:Custom ID,    Name,     Phone Number                                        Customers  Orders 1,Stephanie Leung,555-555

2014-02-17 15:29:18 603

转载 HDFS架构

本文主要讲述 HDFS原理-架构、副本机制、HDFS负载均衡、机架感知、健壮性、文件删除恢复机制1:当前HDFS架构详尽分析HDFS架构 •NameNode •DataNode •Sencondary NameNode数据存储细节NameNode 目录结构Namenode 的目录结构:${ dfs.name.dir

2013-11-27 23:30:17 620

转载 hive的架构

第一部分:概念 概念•用户接口:用户访问Hive的入口•元数据:Hive的用户信息与表的MetaData•解释器:分析翻译HQL的组件•编译器:编译HQL的组件•优化器:优化HQL的组件第二部分:Hive架构与基本组成架构图基本组成•用户接口,包括 CLI,JDBC/ODBC

2013-11-27 23:24:26 750

转载 国内社交游戏现状分析

社交游戏平台继续寡头化社交游戏是依托于社交平台的产品,是在社交平台好友关系的基础上设计的游戏。这种社交好友关系通常是用户现实中的人际网络。可以说,一款游戏的成功,平台的功劳至少占了一半。好的平台可以让游戏事半功倍地大幅增长,取得用户,取得收入。自2011年起,随着国内各家平台的迅猛发展,行业已经走向寡头阶段。小的社交平台陆续死去,粘性不高、用户需求不明确的社交平台举步维艰、成长缓慢

2013-11-19 16:34:29 1796

转载 MapReduce源码分析总结(转)

一 MapReduce概述    Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论文公开发布了。其中对它的定义是,Map/Reduce是一个编程模型(programmingmodel),是一个用于处理和生成大规模数据集(processing and generating large dat

2013-11-14 17:45:55 729

转载 集群工具chukwa和ganglia

众所周知, hadoop 是运行在分布式的集群环境下,同是是许多用户或者组共享的集群,因此任意时刻都会有很多用户来访问 NN 或者 JT ,对分布式文件系统或者 mapreduce 进行操作,使用集群下的机器来完成他们的存储和计算工作。当使用 hadoop 的用户越来越多时,就会使得集群运维人员很难客观去分析集群当前状况和趋势。比如 NN 的内存会不会在某天不知晓的情况下发生内存溢出,因此就需要用

2013-11-07 11:07:04 527

转载 hadoop 调度器

Hadoop公平调度器指南  最近看到调度器这一块,发现Hadoop官方文档中有关公平调度器(Fair Scheduler Guide)和容量调度器(Capacity Scheduler Guide)部分的文档还没有汉化,Google了下也未发现有相关汉化,So,我班门弄斧,抛砖引玉一下了。这里先奉上公平调度器的中文版。由于我一直用Cloudera Hadoop 0.20.1+

2013-11-04 14:22:20 789

转载 hadoop writable的实现

adoop在与用户写的Mapper和Reducer通信的时候,总是使用类型化的数据:从文件读入到Mapper中,Mappers向Reducers提交和Reducers到输出文件,都是存储在Java对象中的。Writable 类型可以和文件和网络相互通信的对象必须遵循特定的接口,叫做Writable,它允许Hadoop以一种序列化的形式读写数据以适应于传输。Hadoop提

2013-10-12 17:33:17 770

转载 mapreduce的一个实例

1、MapReduce理论简介 1.1 MapReduce编程模型MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTrac

2013-10-12 14:28:18 1018

转载 hadoop的lzo

在hadoop中使用lzo的压缩算法可以减小数 据 的大小和数据的磁盘读写时间,不仅如此,lzo是基于block分块的,这样他就允许数据被分解成chunk,并行 的被hadoop处理。这样的特点,就可以让lzo在hadoop上成为一种非常好用的压缩格式。    由于压缩的数据通常只有原始数据的1/4,在HDFS中存储压缩数据,可以使集群能保存更多的数据,延长集群的使用寿命。不仅如此,由于

2013-10-11 17:49:15 905

转载 Hadoop Tool,ToolRunner原理分析

public interface Configurable {void setConf(Configuration conf); Configuration getConf();}Configurable接口只定义了两个方法:setConf与 getConf。 Configured类实现了Configurable接口: public class Conf

2013-10-11 17:01:31 1725

转载 hadoop RPC

源码级强力分析hadoop的RPC机制前言: 这些天一直奔波于长沙和武汉之间,忙着腾讯的笔试、面试,以至于对hadoop RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm)机

2013-10-09 11:37:57 575

转载 hive迁移hadoop namenode时遇到的问题

hive迁移hadoop namenode时遇到的问题Posted on2011-06-14 by 54chen 使用了一段时间的hive和hadoop,在迁移datanode时很容易,要迁移namenode,hive里就闹情绪了。更改namenode后,在hive中运行select 依旧指向之前的namenode地址。要如何解决呢,具体操作如下:1.复制打

2013-08-27 15:24:45 554

转载 hadoop 负载均衡

在使用start-balancer.sh时,如果在hdfs-site.xml里面没有配置dfs.balance.bandwidthPerSec,那么集群hdfs内部默认使用1M/S的速度移动数据(so slowly...),我们可以通过在hdfs-site.xml里面配置dfs.balance.bandwidthPerSec来加快balance的速度。最开始我们配置的是20m/S 

2013-08-23 17:21:01 681

转载 【hadoop】ssh localhost 免密码登陆(图解)

每次搞ssh locahost无密码登陆都要查半天,这次记录一下,以备不时之需假设系统中有用户test,属于用户组test,1. 首先确认能否不输入口令就用ssh登录localhost:$ ssh localhost输出如下所示:2. 如果不输入口令就无法用ssh登陆localhost,执行下面的命令:$ ssh-keygen

2013-08-22 17:46:44 1159

原创 hive的JDBC编码问题解决

Hive默认的字符编码是UTF8,所以我们LOAD到Hive中的文件都是UTF8编码的,这样对中文也有很好的兼容性。但是在使用JDBC连接Hive查询数据时,中文会出现乱码。即使进行转码(无论UTF8还是GB2312)也解决不了,如下:System.out.println(newString(rs.getString("name").getBytes(), "UTF8"));Sys

2013-08-20 17:01:31 2652

原创 hadoop 添加节点

Hadoop集群新增datanode1、新节点需要配置和其他节点一样的环境,包括jdk,hadoop程序包。修改/etc/hosts。需要配置JAVA_HOME。2、在nomenode的conf/slaves 添加新datanode的hostname3、在新的datanode节点中,bin目录下运行一下命令来启动datanode和tasktracker./hadoop-daemon

2013-08-20 16:56:52 485

转载 Storm

目录:[ - ]1、准备工作2、一个Storm集群的基本组件3、Topologies4、Stream5、数据模型(Data Model)6、一个简单的Topology7、流分组策略(Stream grouping)8、使用别的语言来定义Bolt9、可靠的消息处理10、单机版安装指南本文翻译自: https://github.com/nat

2013-08-20 14:40:22 559

转载 实战 windows7 下 eclipse 远程调试 linux hadoop

恩,之所以有这篇博客,是因为最近又有童鞋咨询怎么在 windows 7 下用eclipse远程调试部署在linux下的hadoop,其实我自己不这么混搭的,既然有童鞋这么问了,那我就索性随着折腾一把了。首先说明几点:远程调试对于本地hadoop版本、远程hadoop版本、eclipse版本都有极为严格的兼容性要求,我所采用的版本如下:(1)本地hadoop:0.20.203

2013-08-20 14:38:30 781

转载 chukwa

从上一篇 chukwa 的简介中,我们知道 chukwa 为日志分析系统提供了一整套的解决方案,其中包含了数据的生成、收集、排序、去重、分析和展示所需要的几乎所有事情,要扩展 chukwa 以实现自己特殊的需求,是很方便的.本文以 chukwa-0.3.0 为例,阐述在 分布式小组内如何以 chukwa 为基础实现"资源状态图"。概述需求"资源状态图"的需求是很明确的,具体分析如下:

2013-08-15 11:05:10 661

转载 hive UDAF 的DEMO

Hive进行UDAF开发,相对要比UDF复杂一些,不过也不是很难。请看一个例子package org.hrj.hive.udf;import org.apache.hadoop.hive.ql.exec.UDAFEvaluator;import org.apache.hadoop.hive.serde2.io.DoubleWritable; public class UDA

2013-08-06 10:47:53 797

转载 hive 的UDF和UDAF

Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式: Java Integer/St

2013-08-06 10:46:28 464

原创 hive的数据修改更新问题解决

由于hive是一个数据仓库。是一个基于日志的分析和统计。底层的数据应该是稳定的,与oracle不同的是,数据不是经常变化的。但是在日常的业务中经常有修改数据的需求。有的数据是经常变化的。需要维护一个经常变化的表。我通过一些项目,总结了一下几个方法:1 如果数据量不大,可以尝试周期的覆盖原始数据的方法。根据需求,对数据进行周期的更新,再导入的时候对数据进行覆盖操作。2 对数据库的数据或者日志

2013-08-01 11:11:28 8954

转载 hive 建表大全

简单的创建表create table table_name ( id int, dtDontQuery string, name string)  创建有分区的表create table table_name ( id int, dtD

2013-08-01 10:59:46 1903

转载 hive的部署

安装环境:    机器 只需要安装一台机器操作系统:Ubuntu 11.04 64操作系统hadoop:版本是1.0.2,安装在/usr/local/hadoopsun jdk:版本是1.6.0_31 64bit,安装在/usr/local/jdkhive:版本是0.8.1,安装在/usr/local/hive安装步骤:1.下载下载hive:http://labs.

2013-08-01 10:54:42 615

转载 hive 字符集修改

hive元数据中utf8的修改表或者字段有中文的时候需要修改hive的元数据库的设置。以mysql为例子,当mysql的字符集设置成utf8的时候使用hive会有问题,详细见hive的wiki。所以当hive使用mysql作为元数据库的时候mysql的字符集要设置成latin1。为了保存那些utf8的中文,要将mysql中存储注释的那几个字段的字符集单独修改为utf8。修改

2013-08-01 10:53:41 10573 2

原创 hive经典的入门流程操作

处理流程建表那么我们首先要在hive里建表,建表语句如下:CREATE TABLE login ( uid STRING, ip STRING)PARTITIONED BY (dt STRING)ROW FORMAT DELIMITEDFIELDS TERMINATED BY ','STORED AS TEXTFILE; 其实

2013-08-01 10:52:40 682

转载 hive交互式模式 命令大全

当$HIVE_HOME/bin/hive执行时,没有-e或者-f选项,会进入交互式shell模式。命令描述quitexit退出交互式shellreset重置配置为默认值set =修改特定变量的值注意: 如果变量名拼写错误,不会报错set输出用户覆盖的hive配置变量set -v输出所有Had

2013-08-01 10:50:48 1934

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除