spark
文章平均质量分 65
拱头
25岁前专注技术
展开
-
RDD读写HDFS
使用hdfs的数据存储创建RDD.Spark的整个生态系统与Hadoop是完全兼容的,所以对于Hadoop所支持的文件类型或者数据库类型,Spark也同样支持.另外,由于Hadoop的API有新旧两个版本,所以Spark为了能够兼容Hadoop所有的版本,也提供了两套创建操作接口.对于外部存储创建操作而言,hadoopRDD和newHadoopRDD是最为抽象的两个函数接口,主要包含以下四个参原创 2016-01-05 23:36:53 · 9280 阅读 · 0 评论 -
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 · 2603 阅读 · 0 评论 -
在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 · 2480 阅读 · 0 评论 -
spark shuffle
功能上看Spark的存储管理模型可以分为两部分:RDD缓存和Shuffle数据的持久化.RDD缓存,指的是RDD调用cache(),persist()或checkpoint,调用这个三个方法会将RDD对应的数据块结果存储到内存或者磁盘中,可以将窄依赖的结果存储下来.Shuffle数据持久化,在一个Application中,可能会经过多次Shuffle过程,Shuffle的中间数据块是会被保原创 2016-03-22 14:49:40 · 1808 阅读 · 1 评论 -
spark partitioner使用技巧
spark partitioner使用技巧以下源码分析基于Spark-1.5.2在Spark的PairRDDFunctions,OrderedRDDFunctions这两个类中,都会用到RDD的partitioner信息.具体使用到的partitioner的方法如下:combineByKeyaggregateByKeygroupByKeyreduceByKeycog原创 2016-03-22 15:05:25 · 21416 阅读 · 0 评论 -
Spark日志研究
Spark日志分三部分:1.Client日志:就是我们spark-submit一个Application的时候在屏幕上可以看到的日志,Spark的一行日志能够看出是哪个类输出的日志,这有助于理解每个类在哪个机器上执行.Client日志最重要的还是记录了SparkContext启动过程的初始化过程.如下图,前面红框表示类.2.Master日志,Master日志主要记录原创 2016-03-22 15:09:56 · 830 阅读 · 0 评论 -
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 · 2057 阅读 · 0 评论 -
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 · 965 阅读 · 0 评论 -
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 · 2565 阅读 · 0 评论 -
Spark面对OOM问题的解决方法及优化总结
分布式计算系统最常见的问题就是OOM问题,本文主要讲述Spark中OOM问题的原因和解决办法,并结合笔者实践讲述了一些优化技巧。涉及shuffle内存溢出,map内存溢出。spark代码优化技巧和spark参数优化技巧。原创 2016-04-01 11:52:28 · 62067 阅读 · 2 评论 -
Spark中的矩阵乘法源码分析
矩阵乘法在数据挖掘/机器学习中是常用的计算步骤,并且在大数据计算中,shuffle过程是不可避免的,矩阵乘法的不同计算方式shuffle的数据量都不相同。通过对矩阵乘法不同计算方式的深入学习,希望能够对大数据算法实现的shuffle过程优化有所启发。网上有很多分布式矩阵乘法相关的文章和论文,但是鲜有对Spark中分布式矩阵乘法的分析。本文针对Spark中分布式矩阵乘法的实现进行必要的说明讨论。原创 2016-03-27 01:53:15 · 6954 阅读 · 1 评论 -
spark杂记
1.spark可以采用注册的方式将类序列化,在spark程序中,如果使用的第三方jar包的class没有序列化,可以用写一个MyRegistretor类,继承KryoRegistretor,重写其中的registerClass方法,将需要注册的类写入:class HbaseRegistrator extends KryoRegistrator { override def regis原创 2016-01-05 23:52:47 · 424 阅读 · 0 评论 -
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 · 1066 阅读 · 0 评论 -
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 · 2734 阅读 · 0 评论 -
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 · 3551 阅读 · 0 评论 -
RDD容错
(1)RDD分宽依赖和窄依赖,在宽依赖的RDD数据丢失后,要重新计算所有父分区,由DAGScheduler调用重做上一个Stage,宽依赖的RDD数据丢失后由TaskManager调用重做丢失数据的Task,这一种情况是在一个action执行的过程中发生的,所以出错后不需要执行所有的Stage,因为每个Stage执行之后会保存下suffer数据,供下一个Stage 使用。(2)persist和原创 2016-01-05 23:39:21 · 1260 阅读 · 0 评论 -
Spark MLlib 包
稀疏矩阵表示方式说明:原创 2016-01-05 23:40:35 · 480 阅读 · 0 评论 -
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 · 392 阅读 · 0 评论 -
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 · 3067 阅读 · 0 评论 -
Spark编程模型
常见术语ApplicationSpark的应用程序,包含一个Driver program和若干个ExecutorSparkContextSpark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor。RDD的初始创建都是有SparkContext来负责的,将内存中的集合或者外部文件系统作为输入源。在SparkConte原创 2016-01-05 23:44:01 · 632 阅读 · 0 评论 -
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 · 12766 阅读 · 0 评论 -
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 · 1087 阅读 · 0 评论 -
Spark的存储管理
功能上看Spark的存储管理模型可以分为两部分:RDD缓存和Shuffle数据的持久化.RDD缓存,指的是RDD调用cache(),persist()或checkpoint,调用这个三个方法会将RDD对应的数据块结果存储到内存或者磁盘中,可以将宽依赖的结果存储下来.Shuffle数据持久化,在一个Application中,可能会经过多次Shuffle过程,Shuffle的中间数据块是会被保原创 2016-01-05 23:48:26 · 709 阅读 · 0 评论 -
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 · 6511 阅读 · 0 评论 -
抛开spark-submit脚本提交spark程序
在往yarn中提交spark程序的时候,需要使用到spark-submit脚本,spark-submit脚本会启动SparkSubmit类,再反射启动用户写的spark程序。如果我们能够抛开spark-submit脚本和SparkSubmit类启动spark程序,那么spark程序就能够方便的镶嵌到其他大型程序中,为其他程序提供计算引擎,例如镶嵌到tomcat中,为web程序提供守护程序。为了原创 2016-06-19 18:00:01 · 10072 阅读 · 2 评论