Driver spark.driver.cores driver端分配的核数,默认为1,thriftserver是启动thriftserver服务的机器,资源充足的话可以尽量给多. spark.driver.memory driver端分配的内存数,默认为1g,同上. spark.driver.maxResultSize driver端接收的最大结果大小,默认1GB,最小1MB,设置0为无限. 这个参数不建议设置的太大,如果要做数据可视化,更应该控制在20-30MB以内.过大会导致OOM. sp…
1.代码中尽量避免group by函数,如果需要数据聚合,group形式的为rdd.map(x=>(x.chatAt(0),x)).groupbyKey().mapValues((x=>x.toSet.size)).collection() 改为 rdd.map(x=>(x.chatAt(0),x)).countByKey();或进行reduceByKey,效率会提高3倍. 2.parquet存储的文件格式查询会比sequenceFile快两倍以上,当然这是在select * from的…
一.前述 Spark内存管理 Spark执行应用程序时,Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等.Executor负责task的计算任务,并将结果返回给Driver.同时需要为需要持久化的RDD提供储存.Driver端的内存管理比较简单,这里所说的Spark内存管理针对Executor端的内存管理. Spark内存管理分为静态内存管理和统一内存管理,Spark1.6之前使用的是静态内存管理,S…
一.前述 Spark中资源调度是一个非常核心的模块,尤其对于我们提交参数来说,需要具体到某些配置,所以提交配置的参数于源码一一对应,掌握此节对于Spark在任务执行过程中的资源分配会更上一层楼.由于源码部分太多本节只抽取关键部分和结论阐述,更多的偏于应用. 二.具体细节 1.Spark-Submit提交参数 Options: --master MASTER_URL, 可以是spark://host:port, mesos://host:port, yarn,  yarn-cluster,yarn…
shell 脚本 常用参数 #!/bin/sh # 在脚本第一行脚本头 # sh为当前系统默认shell,可指定为bash等shell sh -x # 执行过程 sh -n # 检查语法 (a=bbk) # 括号创建子shell运行 basename /a/b/c # 从全路径中保留最后一层文件名或目录 dirname # 取路径 $RANDOM # 随机数 $$ # 进程号 source FileName # 在当前bash环境下读取并执行FileName中的命令 # 等同 . FileNam…
1.安装完spark,进入spark中bin目录: bin/spark-shell   scala> val textFile = sc.textFile("/Users/admin/spark/spark-1.6.1-bin-hadoop2.6/README.md") scala> textFile.flatMap(_.split(" ")).filter(!_.isEmpty).map((_,1)).reduceByKey(_+_).collect(…
一.        场景 ◆ Spark[4]: Scope:  a MapReduce-like cluster computing framework designed for low-latency iterativejobs and interactive use from an interpreter(在大规模的特定数据集上的迭代运算或重复查询检索) 正如其目标scope,Spark适用于需要多次操作特定数据集的应用场合.需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小…
一.使用SparkConf配置Spark 对 Spark 进行性能调优,通常就是修改 Spark 应用的运行时配置选项.Spark 中最主要的配置机制是通过 SparkConf 类对 Spark 进行配置.当创建出一个 SparkContext 时,就需要创建出一个 SparkConf 的实例. import org.apache.spark.SparkContext import org.apache.spark.SparkConf object Test { def main(args: A…
开发环境 教学视频:Spark的环境搭建,需安装配置环境:Java, Hadoop 环境配置:玩转大数据分析!Spark2.X+Python 精华实战课程(免费)[其实只是环境搭建] 进入pyspark环境 命令行 pyspark --master <master-url> 本地单线程模式:pyspark --master local 本地多线程模式:pyspark --master local[*] 本地多线程模式:pyspark --master local[K] 集群多线程模式:pysp…
Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制.Spark任务调度机制.Spark内存管理机制.Spark核心功能的运行原理等,熟练掌握Spark内核原理,能够帮助我们更好地完成Spark代码设计,并能够帮助我们准确锁定项目运行过程中出现的问题的症结所在. Spark Shuffle 解析 Shuffle 的核心要点 ShuffleMapStage与ResultStage 在划分stage时,最后一个stage称为finalStage,它本质上是一个ResultSt…
Spark快速入门 - Spark 1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 快速入门(Quick Start) 本文简单介绍了Spark的使用方式.首先介绍Spark的交互界面的API使用,然后介绍如何使用Java.Scala以及Python编写Spark应用.详细的介绍请阅读Spark Programming Guide. 在按照本文进行操作之前,请确保已安装Spark.本文中的所有操作没有使用HDFS,所以您可以安装任何版本的Hadoop.…
Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.比如说传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等.有时候我们可能需要统计一下那个进程占用了那类文件,或者该进程总共打开的文件数等等,此时我们就需要一个工具帮我们查看相应的信息啦,它就是本片博客的主人公-lsof. 一.losf是个什么玩意? 1>.los…
一.官网介绍 1.什么是Spark 官网地址:http://spark.apache.org/ Apache Spark™是用于大规模数据处理的统一分析引擎. 从右侧最后一条新闻看,Spark也用于AI人工智能 spark是一个实现快速通用的集群计算平台.它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的.低延迟的数据分析应用程序.它扩展了广泛使用的MapReduce计算 模型.高效的支撑更多计算模式,包括交互式查询和流处理.spark的一个主要特点是能够在内存中进…
Spark学习之Spark调优与调试(7) 1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项. 当创建一个SparkContext时就会创建一个SparkConf实例. 2. Spark特定的优先级顺序来选择实际配置: 优先级最高的是在用户代码中显示调用set()方法设置选项: 其次是通过spark-submit传递的参数: 再次是写在配置文件里的值: 最后是系统的默认值. 3.查看应用进度信息和性能指标有两种方式:网页用户界面.驱动器和执行器进程生成的日志文件. 4.…
for.if条件: https://blog.51cto.com/qiufengsong/1252889 一.for循环: );do echo $i done ###第一行:seq是指1到10,第二行:echo是打印的意思,打印1到10 二.if条件: 3:给定一个用户,如果其ID号大于499,就说明其是普通用户,否则,就说明其是管理员或系统用户: #!/bin/bash # UserName=daemon Uid=`id -u $UserName` ]; then echo "A common…
1. 编辑spark-defaults.conf位置文件 添加spark.eventLog.enabled和spark.eventLog.dir的配置修改spark.eventLog.dir为我们之前在hdfs配置的端口hdfs配置参考hadoop(七)集群配置同步(hadoop完全分布式四)|9 [shaozhiqi@hadoop102 conf]$ pwd /opt/module/spark-2.4.3-bin-hadoop2.7/conf [shaozhiqi@hadoop102 conf…
Spark调优 | Spark Streaming 调优 1.数据序列化 2.广播大变量 3.数据处理和接收时的并行度 4.设置合理的批处理间隔 5.内存优化 5.1 内存管理 5.2优化策略 5.3垃圾回收(GC)优化 5.5Spark Streaming 内存优化 6.实例项目调优 6.1合理的批处理时间(batchDuration) 6.2合理的 Kafka 拉取量(maxRatePerPartition 参数设置) 6.3缓存反复使用的 Dstream(RDD) 6.4其他一些优化策略…
Spark Core 1. 概述 Spark 是一种基于内存的快速.通用.可扩展的大数据分析计算引擎 1.1 Hadoop vs Spark 上面流程对应Hadoop的处理流程,下面对应着Spark的处理流程 Hadoop Hadoop 是由 java 语言编写的,在分布式服务器集群上存储海量数据并运行分布式 分析应用的开源框架 作为 Hadoop 分布式文件系统,HDFS 处于 Hadoop 生态圈的最下层,存储着所有的 数 据 , 支持着 Hadoop的所有服务 . 它的理论基础源于Goog…
production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个命令.因为大家的服务器的防火墙都是关闭的,但是如果你的 服务器是有公网IP的话就会面临各种安全的问题呢,所以我建议大家还是开启防火墙,这个命令其实挺有意思的,就是配置起来比较繁琐,但是原理还 是很容易理解的,关于其原理百度上面一大堆,我这就不再废话啦~ 一.在配置之前,我们需要扫盲一下知识点: 1.…
find常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux系统中,在init 3模式情况下都是命令行模式,这个时候我们想要找到一个文件的就得依赖一个非常好用的命令find,也是我们要学些的命令哟 再Linux操作系统的世界里,有各个不同的发行版本,redhat,centos,ubantu,suse,debian,fedora等等,我们需要在这些不通的操作系统中找一个文件,那么 我们开始今天的命令吧! 在学find命令之前,我们一起了解一下模糊匹配的命令l…
find一些常用参数的一些常用实例和一些具体用法和注意事项. 1.使用name选项: 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用.  可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来.  不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为 'pathname'参数,波浪号~代表了你的$HOME目录. find ~ -name "*.log" -print 想要在当前目录及子目录中查找所有…
注重版权,尊重他人劳动 转帖注明原文地址:http://www.cnblogs.com/vincent-hv/p/3316502.html   Spark主要提供三种位置配置系统: 环境变量:用来启动Spark workers,可以设置在你的驱动程序或者conf/spark-env.sh 脚本中: java系统性能:可以控制内部的配置参数,两种设置方法: 编程的方式(程序中在创建SparkContext之前,使用System.setProperty(“xx”,“xxx”)语句设置相应系统属性值)…
    在Linux下,对于参数的设置,一般来说,都遵循这个规律.每一个功能程序,一定对于一个对于名字的配置文件.     涉及到多用户的功能配置,一定有一个全局的配置文件,对所有用户都生效,而每个用户肯定有各自的配置文件,对各自用户生效,相互独立.     下面就分布总结一下在ubuntu下面,一些常用参数的配置. 1. Shell设置     全局配置文件: /etc/profile            系统登录时,读取此配置文件设置通用环境.     全局环境变量: /etc/envir…
五.mongodb启动时其他常用参数的使用(都是选用): 1).--logappend,指定日志的写入方式为追加,强烈建议使用: 2).--port,指定mongodb的端口号,当不使用这个参数的时候,默认是27017: 3).--fork,使mongodb以后台进程的方式运行,当使用这个参数启动以后,可以在同一个终端中进行其他操作,比如ps.mongo,而不需要重新打开中端: 4).-replSet,使用副本集时的参数: 5).其他参数:--directoryperdb.--config等(暂…
一.简介 许多应用需要即时处理收到的数据,例如用来实时追踪页面访问统计的应用.训练机器学习模型的应用,还有自动检测异常的应用.Spark Streaming 是 Spark 为这些应用而设计的模型.它允许用户使用一套和批处理非常接近的 API 来编写流式计算应用,这样就可以大量重用批处理应用的技术甚至代码. 和 Spark 基于 RDD 的概念很相似,Spark Streaming 使用离散化流(discretized stream)作为抽象表示,叫作 DStream.DStream 是随时间推…
下面来看看更复杂的情况,比如,当调度器进行流水线执行(pipelining),或把多个 RDD 合并到一个步骤中时.当RDD 不需要混洗数据就可以从父节点计算出来时,调度器就会自动进行流水线执行.上一篇博文结尾处输出的谱系图使用不同缩进等级来展示 RDD 是否会在物理步骤中进行流水线执行.在物理执行时,执行计划输出的缩进等级与其父节点相同的 RDD 会与其父节点在同一个步骤中进行流水线执行.例如,当计算 counts 时,尽管有很多级父 RDD,但从缩进来看总共只有两级.这表明物理执行只需要两个…
一.前述 数据倾斜问题是大数据中的头号问题,所以解决数据清洗尤为重要,本文只针对几个常见的应用场景做些分析 . 二.具体方法  1.使用Hive ETL预处理数据 方案适用场景: 如果导致数据倾斜的是Hive表.如果该Hive表中的数据本身很不均匀(比如某个key对应了100万数据,其他key才对应了10条数据),而且业务场景需要频繁使用Spark对Hive表执行某个分析操作,那么比较适合使用这种技术方案. 方案实现思路: 此时可以评估一下,是否可以通过Hive来进行数据预处理(即通过Hive…
一.前述 Spark中调优大致分为以下几种 ,代码调优,数据本地化,内存调优,SparkShuffle调优,调节Executor的堆外内存. 二.具体    1.代码调优 1.避免创建重复的RDD,尽量使用同一个RDD 2.对多次使用的RDD进行持久化 如何选择一种最合适的持久化策略? 默认情况下,性能最高的当然是MEMORY_ONLY,但前提是你的内存必须足够足够大,可以绰绰有余地存放下整个RDD的所有数据.因为不进行序列化与反序列化操作,就避免了这部分的性能开销:对这个RDD的后续算子操作,…
Spark2.1.1 一 Spark Submit本地解析 1.1 现象 提交命令: spark-submit --master local[10] --driver-memory 30g --class app.package.AppClass app-1.0.jar 进程: hadoop 225653 0.0 0.0 11256 364 ? S Aug24 0:00 bash /$spark-dir/bin/spark-class org.apache.spark.deploy.SparkS…