自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

拱头的专栏

公开笔记分享

  • 博客(104)
  • 收藏
  • 关注

原创 抛开spark-submit脚本提交spark程序

在往yarn中提交spark程序的时候,需要使用到spark-submit脚本,spark-submit脚本会启动SparkSubmit类,再反射启动用户写的spark程序。如果我们能够抛开spark-submit脚本和SparkSubmit类启动spark程序,那么spark程序就能够方便的镶嵌到其他大型程序中,为其他程序提供计算引擎,例如镶嵌到tomcat中,为web程序提供守护程序。为了

2016-06-19 18:00:01 9944 2

原创 Spark面对OOM问题的解决方法及优化总结

分布式计算系统最常见的问题就是OOM问题,本文主要讲述Spark中OOM问题的原因和解决办法,并结合笔者实践讲述了一些优化技巧。涉及shuffle内存溢出,map内存溢出。spark代码优化技巧和spark参数优化技巧。

2016-04-01 11:52:28 61780 2

原创 Spark中的矩阵乘法源码分析

矩阵乘法在数据挖掘/机器学习中是常用的计算步骤,并且在大数据计算中,shuffle过程是不可避免的,矩阵乘法的不同计算方式shuffle的数据量都不相同。通过对矩阵乘法不同计算方式的深入学习,希望能够对大数据算法实现的shuffle过程优化有所启发。网上有很多分布式矩阵乘法相关的文章和论文,但是鲜有对Spark中分布式矩阵乘法的分析。本文针对Spark中分布式矩阵乘法的实现进行必要的说明讨论。

2016-03-27 01:53:15 6894 1

原创 spark partitioner使用技巧

spark partitioner使用技巧以下源码分析基于Spark-1.5.2在Spark的PairRDDFunctions,OrderedRDDFunctions这两个类中,都会用到RDD的partitioner信息.具体使用到的partitioner的方法如下:combineByKeyaggregateByKeygroupByKeyreduceByKeycog

2016-03-22 15:05:25 21316

原创 将本地jar添加进本地仓库

例如将本地使用spark-assembly-1.4.1-hadoop2.3.0.jar 的添加到maven仓库:mvn install:install-file -DgroupId=local.spark -DartifactId=spark-assembly -Dversion=1.4.1-hadoop2.3.0 -Dpackaging=jar -Dfile=/usr/local/spark

2016-03-22 15:35:08 718

原创 maven混合编译java&scala

步骤:1. mvn 生成scala项目mvn archetype:generate \-DarchetypeGroupId=org.scala-tools.archetypes \-DarchetypeArtifactId=scala-archetype-simple \-DremoteRepositories=http://scala-tools.org/repo-rel

2016-03-22 15:33:33 6091

原创 maven插件

插件网站:http://maven.apache.org/plugins/最好的学习方法是直接上官网看插件文档maven-assembly-plugin插件文档地址: http://maven.apache.org/plugins/maven-assembly-plugin/usage.html参考博文: http://blog.csdn.net/cdl

2016-03-22 15:30:18 1477

原创 maven安装配置

maven安装配置安装配置1.官网下载maven,解压到某个路径。2.配置环境变量MAVEN_HOME=安装路径。3.在环境变量path中加入%MAVEN_HOME%/bin或$MAVEN_HOME/binmaven修改本地仓库地址1.创建一个maven的本地路径,例如:F:\j

2016-03-22 15:25:40 533

转载 maven pom.xml详解

转自:http://blog.csdn.net/sunzhenhua0608/article/details/32938533pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。[xml] view plainco

2016-03-22 15:22:35 345

转载 Maven2的配置文件settings.xml

Maven2的配置文件settings.xml简介:概览当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们使用settings.xml中的settings元素来确定这些配置。这包含了本地仓库位置,远程仓库服务器以及认证信息等。settings.xml存在于两个地方:1.安装的地方:$M2_HOME/conf/se

2016-03-22 15:21:08 407

原创 SBT

常用命令clean删除所有生成的文件 (在 target 目录下)。compile编译源文件(在 src/main/scala 和 src/main/java 目录下)。test编译和运行所有测试。console进入到一个包含所有编译的文件和所有依赖的 classpath 的 Scala 解析器。输入:quit, Ct

2016-03-22 15:18:50 1644

原创 Spark源码笔记

以下内容源于spark1.4.1以上版本一.Spark可执行文件笔记:1.spark-shell:1.1 bin/spark-class 启动了org.apache.spark.launcher.Main,这个Main函数用来启动Master,Worker以及SparkSubmit等,start-master.sh/start-slaves.sh/spark-submit都调用

2016-03-22 15:16:56 946

原创 Spark远程调试IDE调试

1、JVM里面设置以下参数(在spark-env.sh中添加系统变量SPARK_JAVA_OPTS)export SPARK_JAVA_OPTS=" -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8888"这里对上面的几个参数进行说明:-agen

2016-03-22 15:11:18 2038

原创 Spark日志研究

Spark日志分三部分:1.Client日志:就是我们spark-submit一个Application的时候在屏幕上可以看到的日志,Spark的一行日志能够看出是哪个类输出的日志,这有助于理解每个类在哪个机器上执行.Client日志最重要的还是记录了SparkContext启动过程的初始化过程.如下图,前面红框表示类.2.Master日志,Master日志主要记录

2016-03-22 15:09:56 806

原创 Spark参数有效配置

Spark参数配置有三种方式:1.在编写代码的时候,通过创建SparkConf的时候,使用set方法配置.2.动态加载:在使用spark-submit提交代码上集群的时候,通过spark-submit的参数进行配置,可以通过spark-submit --help指令查看能够配置的参数.3.通过spark-default.conf配置文件配置.如果配置的参数能够同时在这三

2016-03-22 15:07:21 3504

原创 spark shuffle

功能上看Spark的存储管理模型可以分为两部分:RDD缓存和Shuffle数据的持久化.RDD缓存,指的是RDD调用cache(),persist()或checkpoint,调用这个三个方法会将RDD对应的数据块结果存储到内存或者磁盘中,可以将窄依赖的结果存储下来.Shuffle数据持久化,在一个Application中,可能会经过多次Shuffle过程,Shuffle的中间数据块是会被保

2016-03-22 14:49:40 1797 1

原创 Hbase Filter Scala 实战

大部分内容来自,示例代码部分都用scala编写介绍:hbase的filter用来控制返回的数据,主要用在Get和Scan中,通过filter的限制可以指定返回列簇,列,时间戳和版本号.所有的filter都在服务端生效,叫做谓词下推.这样可以保证被过滤掉的数据不会被传送客户端.在过滤层次结构的最底层是Filter接口和FilterBase抽象类,用户可以通过集成Filter和Filter

2016-03-22 14:45:08 4536

原创 HBASE安装配置

1.伪分布(首先确定启动了hadoop)mkdir /usr/local/hbasetar -zxvf hbase-1.0.1.1-bin.tar.gz -C /usr/local/hbase/cd /usr/local/hbase/hbase-1.0.1.1/#添加JAVA_HOMEvim conf/hbase-env.shexport JAVA_HOME=/usr/li

2016-03-22 14:43:23 1212

原创 Spark读写Hbase示例代码

Spark读写Hbase示例代码写入HbasedefwriteHbaseFromRDD(tableName:String,columnFamily:String,column:String,rdd:RDD[(String,String)]):Unit={valhbaseConf = HBaseConfiguration.create()//

2016-01-20 20:30:14 2550

原创 在windows下配置eclipse的spark调试环境

1.下载配置jdk,scala。2.下载eclipse for scala。3.下载带编译好的spark jar包。4.在eclipse中新建工程,导入 spark-assembly-1.1.1-hadoop1.0.4.jar 这类jar包,并且删除scala原有的library。5.新建类,输入以下代码,执行成功就可以了importscala.math.random

2016-01-05 23:55:07 2465

原创 Spark指令

以下指令在要关闭的worker的节点上执行:启动某个worker:sbin/start-slave.sh 1 spark://192.168.1.120:7077停止某个worker:sbin/stop-slave.sh 1 spark://192.168.1.120:7077start-all.sh 作用: 启动整个集群 stop-all.sh 作用: 关闭整个集群sta

2016-01-05 23:53:50 2577

原创 spark杂记

1.spark可以采用注册的方式将类序列化,在spark程序中,如果使用的第三方jar包的class没有序列化,可以用写一个MyRegistretor类,继承KryoRegistretor,重写其中的registerClass方法,将需要注册的类写入:class HbaseRegistrator extends KryoRegistrator { override def regis

2016-01-05 23:52:47 416

原创 Spark源码导入IDE

可以查看:https://cwiki.apache.org/confluence/display/SPARK/Useful+Developer+Tools#UsefulDeveloperTools-IntelliJ1.导入IntelliJ(方法一)1.1 下载安装IntelliJ,在一开始的界面"Configure->Plugins"中输入Scala,安装Scala插件.1

2016-01-05 23:51:51 1052

转载 Spark与Mysql(JdbcRDD)整合开发

转自 : http://www.iteblog.com/archives/1113 Spark的功能是非常强大,在本博客的文章中,我们讨论了《Spark和Hbase整合》、《Spark和Flume-ng整合》以及《和Hive的整合》。今天我们的主题是聊聊Spark和Mysql的组合开发。如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:itebl

2016-01-05 23:51:08 2706

转载 Spark性能优化的10大问题及其解决方案

转自: http://book.51cto.com/art/201409/453045.htm 问题1:reduce task数目不合适解决方式:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism。通常,reduce数目设置为core数目的2到3倍。数量太大,造成很多小任务,增加启动任务的开销;数目太少,任务运行缓慢。

2016-01-05 23:49:23 6453

原创 Spark的存储管理

功能上看Spark的存储管理模型可以分为两部分:RDD缓存和Shuffle数据的持久化.RDD缓存,指的是RDD调用cache(),persist()或checkpoint,调用这个三个方法会将RDD对应的数据块结果存储到内存或者磁盘中,可以将宽依赖的结果存储下来.Shuffle数据持久化,在一个Application中,可能会经过多次Shuffle过程,Shuffle的中间数据块是会被保

2016-01-05 23:48:26 695

原创 spark搭建与编译

如果安装遇到权限问题:新建文件夹之后用chown和chgrp之后,把文件夹的归宿者设置为当前用户搭建:1.root登录设置sudo -svim /etc/lightdm/lightdm.conf输入 i 编辑:[SeatDefaults]user-session=ubuntugreeter-session=unity-greetergreeter-sho

2016-01-05 23:47:27 1078

转载 Spark操作Hbase

Spark 下操作 HBase(1.0.0 新 API)HBase经过七年发展,终于在今年2月底,发布了 1.0.0 版本。这个版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API。虽然 1.0.0 兼容旧版本的 API,不过还是应该尽早地来熟悉下新版API。并且了解下如何与当下正红的 Spark 结合,进行数据的写入与读取。鉴于国内外有关 HBase 1.0.

2016-01-05 23:44:59 12756

原创 Spark编程模型

常见术语ApplicationSpark的应用程序,包含一个Driver program和若干个ExecutorSparkContextSpark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor。RDD的初始创建都是有SparkContext来负责的,将内存中的集合或者外部文件系统作为输入源。在SparkConte

2016-01-05 23:44:01 622

转载 spark-submit工具参数说明

参数名称含义--master MASTER_URL可以是spark://host:port, mesos://host:port, yarn, yarn-cluster,yarn-client, local--deploy-mode DEPLOY_MODEDriver程序运行的地方,

2016-01-05 23:43:03 3060

原创 Spark-Sql

将RDD转化成SchemaRDD:1.4的API(事例代码,官网有)val sqlContext = new org.apache.spark.sql.SQLContext(sc)// this is used to implicitly convert an RDD to a DataFrame.import sqlContext.implicits.

2016-01-05 23:42:04 380

原创 Spark MLlib 包

稀疏矩阵表示方式说明:

2016-01-05 23:40:35 470

原创 RDD容错

(1)RDD分宽依赖和窄依赖,在宽依赖的RDD数据丢失后,要重新计算所有父分区,由DAGScheduler调用重做上一个Stage,宽依赖的RDD数据丢失后由TaskManager调用重做丢失数据的Task,这一种情况是在一个action执行的过程中发生的,所以出错后不需要执行所有的Stage,因为每个Stage执行之后会保存下suffer数据,供下一个Stage 使用。(2)persist和

2016-01-05 23:39:21 1247

原创 RDD类操作说明

1.RDD类由SparkContext进行创建。2.我们总是说RDD是lazy的,并不是说RDD类中定义了lazy的方法,RDD对应的数据是存在BlockStore的子类中的,说RDD是lazy的,意思是RDD在调用BlockStore,使用数据的时候,BlockStore中,初始化数据块的操作是lazy的.RDD基本转换操作(Transformation):

2016-01-05 23:38:18 3544

原创 RDD读写HDFS

使用hdfs的数据存储创建RDD.Spark的整个生态系统与Hadoop是完全兼容的,所以对于Hadoop所支持的文件类型或者数据库类型,Spark也同样支持.另外,由于Hadoop的API有新旧两个版本,所以Spark为了能够兼容Hadoop所有的版本,也提供了两套创建操作接口.对于外部存储创建操作而言,hadoopRDD和newHadoopRDD是最为抽象的两个函数接口,主要包含以下四个参

2016-01-05 23:36:53 9231

原创 Intellij使用技巧

IntelliJ Idea 常用快捷键列表Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Shift+F 全局搜索Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctr

2016-01-05 23:35:10 457

原创 scala定时任务调度器

一个用scala写的,在linux下执行的定时任务调度器 定时任务时常会有一个定时任务依赖另一个定时任务,这份代码就是用来解决这个问题的package com.tcl.bigdata.yhb.timerimport java.util.Dateimport com.tcl.bigdata.yhb.timer.bean.TimerDependBeanimport scala.collec

2015-12-30 21:27:34 8842

转载 oracle 设置自增字段

oracle设置字段自增的方法,采用创建序列+触发器的形式来实现将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现)----创建表Create table t_user(Id number(6),userid varchar2(20),loginpassword varchar2(20),isdisable number(6)

2015-12-10 21:41:38 564

原创 如何查询Oracle中所有用户信息

1.查看所有用户:select * from dba_users; select * from all_users; select * from user_users;2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):select * from dba_sys_privs; select * from user_sys_pri

2015-12-10 21:40:12 7706 1

原创 将外部数据导入oracle

1.选择tool->Text Importer2.点击Open data file选择导入的文件:3.Data from Textfile解释4.Data to Oracle解释

2015-12-10 21:38:15 369

空空如也

空空如也

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

TA关注的人

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