spark
文章平均质量分 74
chixushuchu
这个作者很懒,什么都没留下…
展开
-
spark 程序配置日志级别 通过log4j
spark 如何配置日志打印级别 Log4j.properties文件1、spark自身的打印级别首先明白如何设置spark本身的日志级别Edit yourconf/log4j.propertiesfile and change the following line:log4j.rootCategory=INFO, consoletolog4j.rootCateg...原创 2019-11-11 11:10:59 · 1260 阅读 · 0 评论 -
Spark DataFrame VS DataSet 如何创建DataFrame DataFrame 详解
一 概念预览1、对应关系2、DataFrames and Datasets3、Schemas定义:4、Structured Spark Types1、DataFrame Vs DataSet2、Columns3、Rows4、Spark Types5、Structured Api Execution预览1、逻辑计划 Logical Plannin...原创 2019-10-19 00:32:30 · 512 阅读 · 0 评论 -
Spark ML算法简单了解 Kmeans
官网http://spark.apache.org/docs/latest/mllib-clustering.html#k-meansKmeans原理介绍聚类介绍聚类kmeans 算法是一个无监督学习过程。一般是用来对数据对象按照其特征属性进行分组。经常被应用在客户分群、欺诈检测、图像分析领域。K-means是最有名并且最经常使用的聚类算法算法介绍:KMeans算法的基本思想是初始随机...原创 2019-01-07 16:55:10 · 2283 阅读 · 0 评论 -
Spark2.0 一些新特性
① Spark Core& Spark SQL API1、dataframe 与dataset统一,dataframe诞生于1.6,消亡于2.0…dataframe只是dataset[Row]的类型别名2、SparkSession :统一SQLContext 和HiveContext,新上下文入口为SparkSession新的流式调用configuration api3、accu...原创 2018-12-25 16:54:34 · 209 阅读 · 0 评论 -
Spark 2.0 rpc架构的实现
在spark2.0中,用户文件与Jar的上传采用基于Spark内置RPC框架的NettyStreamManager节点间的Shuffle过程和Block数据的复制与备份采用Netty Spark RPC框架原创 2018-12-30 20:59:12 · 300 阅读 · 0 评论 -
SparkStreaming 对接kafka实时计算程序HA高可用
HA高可用性:High Availability,如果有些数据丢失,或者节点挂掉;那么不能让你的实时计算程序挂了;必须做一些数据上的冗余副本,保证你的实时计算程序可以7 * 24小时的运转1、updateStateByKey、window等有状态的操作,自动进行checkpoint,必须设置checkpoint目录checkpoint目录:容错的文件系统的目录,比如说,常用的是HDFSSpa...原创 2018-12-25 16:04:07 · 759 阅读 · 0 评论 -
Spark rdd 宽窄依赖
看到一篇很好的文章,转载过来了。感觉比《spark技术内幕》这本书讲的好多了。原文链接:https://www.jianshu.com/p/5c2301dfa3601.窄依赖窄依赖就是指父RDD的每个分区只被一个子RDD分区使用,子RDD分区通常只对应常数个父RDD分区,如下图所示【其中每个小方块代表一个RDD Partition】 窄依赖有分为两种:一种是一对一的依...转载 2018-12-30 19:10:05 · 341 阅读 · 0 评论 -
Spark 内核设计的艺术架构与实现 第二章Spark模型设计
1 Spark编程模型用户使用SparkContext 提供的API编写Driver段程序(常用的textFile sequenceFile runjob 等)Spark原创 2018-12-30 17:39:04 · 448 阅读 · 0 评论 -
广告流量实时统计 scala版本 过滤黑名单 统计各省市实时广告用户点击量
1.项目分析项目地址:https://gitee.com/jenrey/adv技术分析: SparkStreaming或者Strom数据: 广告流量点击数据需求分析: 1)【 实时】统计【每天】【各省】【热门】广告(分组求广告点击次数多的TopN) 2)实时统计某个...转载 2018-12-24 20:08:10 · 1359 阅读 · 0 评论 -
SparkStreamin 广告流量实时点击 生成黑名单 过滤黑名单 各省市各广告实时统计 每天各省top3广告
标题二、计算各省市各广告各流量实时统计原创 2018-12-24 18:20:44 · 886 阅读 · 0 评论 -
Spark Streaming foreachRDD以及foreachPartition 操作数据库连接写入数据
Spark Streaming foreachRDD的正确使用误区1. 在driver端创建对象在driver上创建连接对象(比如网络连接或数据库连接)如果在driver上创建连接对象,然后在RDD的算子函数内使用连接对象,那么就意味着需要将连接对象序列化后从driver传递到worker上。而连接对象(比如Connection对象)通常来说是不支持序列化的,此时通常会报序列化的异常(se...原创 2018-12-24 14:56:33 · 2023 阅读 · 0 评论 -
Spark transform 与action算子
Transformationfilter map mapToPair flatMap reduceByKey sortBy/sortByKey sample join leftOuterJoin rightOuterJoin fullOuterJoin union intersection subtract distinct cogroup mapPartiti...原创 2019-01-11 16:57:32 · 1129 阅读 · 4 评论 -
Spark ML算法简单了解 TF-ITF
首先抛出官方文档http://spark.apache.org/docs/latest/mllib-feature-extraction.htmlTF-IDFTF-IDF特征抽取:从原始数据中抽取特征TF-IDF:词频-逆向文件频率。一种在文本挖掘中广泛使用的特征向量化方法,可以体现一个文档中词语在语料库中的重要程度词语:用t表示文档:用d表示语料库:用D表示词频TF(t,d) ...原创 2019-01-07 14:32:17 · 1193 阅读 · 0 评论 -
spark相关提问
1、spark和hadoop优势?Spark 把中间数据放到内存中,迭代运算效率高。MapReduce 中计算结果需要落地,保存到磁盘上,这样势必会影响整体速度,而 Spark 支持 DAG 图的分布式并行计算的编程框架,减少了迭代过程中数据的落地,提高了处理效率。(延迟加载) 其次,Spark 容错性高。Spark 引进了弹性分布式数据集 RDD (Resilient Distribute...原创 2019-01-25 18:30:15 · 297 阅读 · 0 评论 -
Spark调优 JVM结构
Spark学习之路 (十三)SparkCore的调优之资源调优JVM的基本架构 目录一、JVM的结构图1.1 Java内存结构1.2 如何通过参数来控制各区域的内存大小1.3 控制参数1.4 JVM和系统调用之间的关系二、JVM各区域的作用2.1 Java堆(Heap)2.2 方法区(Method Area)2.3 程序计数器(Program...转载 2019-01-09 17:15:50 · 187 阅读 · 0 评论 -
Spark 运行原理 以及资源调优
原文链接:https://www.cnblogs.com/qingyunzong/p/8973707.html#_label2_0 Spark学习之路 (十二)SparkCore的调优之资源调优 /p>目录一、概述二、Spark作业基本运行原理三、资源参数调优3.1 num-executors3.2 executor-memory3.3 e...转载 2019-01-09 17:06:44 · 199 阅读 · 0 评论 -
Spark sparkcore 内存模型
Spark学习之路 (十一)SparkCore的调优之Spark内存模型 目录一、概述二、堆内和堆外内存规划2.1 堆内内存2.2 堆外内存2.3 内存管理接口三、内存空间分配3.1 静态内存管理3.2 统一内存管理四、存储内存管理4.1 RDD 的持久化机制4.2 RDD 缓存的过程4.3 淘汰和落盘五、 执行内存管理5.1 多任务间内存分配5...转载 2019-01-09 16:56:20 · 164 阅读 · 0 评论 -
JVM的垃圾回收算法以及GC收集器
Spark学习之路 (十四)SparkCore的调优之资源调优JVM的GC垃圾收集器 目录一、概述二、垃圾收集器(garbage collector (GC)) 是什么?三、为什么需要GC?四、为什么需要多种GC?五、对象存活的判断六、垃圾回收算法6.1 标记 -清除算法6.2 复制算法6.3 标记-整理算法6.4 分代收集算法七、垃圾收集器7....转载 2019-01-09 18:32:07 · 600 阅读 · 0 评论 -
Spark中shuffle类算子
shuffle算子 3.1 去重:def distinct()def distinct(numPartitions: Int) 3.2 聚合def reduceByKey(func: (V, V) => V, numPartitions: Int): RDD[(K, V)]def reduceByKey(partitioner: Partitioner, func: (V...原创 2019-01-09 13:53:52 · 3582 阅读 · 0 评论 -
Spark shuffle 过程 抛弃hashShuffle 基于新版本
彻底搞懂spark的shuffle过程(shuffle write) 什么时候需要 shuffle writer假如我们有个 spark job 依赖关系如下我们抽象出来其中的rdd和依赖关系:E <-------n------,            &n转载 2019-01-09 10:34:01 · 499 阅读 · 0 评论 -
SparkSql 3中join
SparkSQL的3种Join实现 引言Join是SQL语句中的常用操作,良好的表结构能够将数据分散在不同的表中,使其符合某种范式,减少表冗余、更新容错等。而建立表和表之间关系的最佳方式就是Join操作。对于Spark来说有3中Join的实现,每种Join对应着不同的应用场景:Broadcast Hash Join : 适合一张较小的...转载 2019-01-09 10:01:57 · 326 阅读 · 0 评论 -
Spark2.0 StructuredStreaming
流式计算的现状大多数的流式计算引擎(比如storm、spark streaming等)都仅仅关注流数据的计算方面:比如使用一个map函数对一个流中每条数据都进行转换,或者是用reduce函数对一批数据进行聚合。但是,实际上在大部分的流式计算应用中,远远不只是需要一个流式计算引擎那么简单。相反的,流式计算仅仅在流式应用中占据一个部分而已。因此现在出现了一个新的名词,叫做持续计算/应用,contin...原创 2018-12-29 14:33:29 · 234 阅读 · 0 评论 -
Spark 性能调优之 foreachPartition 优化写数据库性能
foreach 操作写数据库缺点首先,对于每条数据,都要单独去调用一次function,task为每个数据,都要去执行一次function函数。如果100万条数据,(一个partition),调用100万次。性能比较差。另外一个非常非常重要的一点如果每个数据,你都去创建一个数据库连接的话,那么你就得创建100万次数据库连接。但是要注意的是,数据库连接的创建和销毁,都是非常非常消耗...原创 2018-12-18 20:34:39 · 5461 阅读 · 1 评论 -
Spark 性能调优 filter算子使用后 使用coalesce减少分区数量
filter示意图默认情况下,经过了这种filter之后,RDD中的每个partition的数据量,可能都不太一样了。原本每个partition的数据量可能是差不多的。每个partition的数据量变少了,但是在后面进行处理的时候,还是要跟partition数量一样数量的task,来进行处理,有点浪费task 计算资源每个partition的数据量不一样,会导致后面的每个task处理每个...原创 2018-12-18 19:53:44 · 1258 阅读 · 0 评论 -
Spark troubleshooting yarn-client 网卡流量激增 任务提交流程
一、 yarn-client模式原理1、执行命令./spark-submit --master yarn --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar100或者./spark-submit --master yarn–client --class org...原创 2018-12-20 13:02:51 · 204 阅读 · 0 评论 -
Spark troubleshooting 1算子返回null错误 2错误持久化以及checkpoint
问题在有些算子函数里,我们都需要有返回值。但是,有些可能不需要返回值,但是这时候不能直接返回null,返回null将会导致错误Scala.Math(NULL) //异常解决方法如果不想有返回值,可以在返回的时候,返回一些特殊的值,比如“-999”获取到rdd之后,对rdd进行filter操作,如果数据是-999的,可以返回false,进行过滤掉filter之后,使用coalesc...原创 2018-12-20 09:47:09 · 199 阅读 · 0 评论 -
Spark 性能调优 序列化之使用kryo trouble shooting常见序列化错误
Kryo与Spark内部默认序列化机制优缺点默认优点默认情况下,Spark内部使用java的序列化机制,ObjectOutputStream/ObjectInputStream对象输入输出流机制,来进行序列化,这种默认序列化机制的好处在于,处理起来比较方便,不需要我们自己手动做什么事情,只是,在算子里使用到的变量,必须是实现Serializable接口的,可序列化即可。默认缺点默认序列机...原创 2018-12-17 09:59:50 · 584 阅读 · 0 评论 -
Spark 中如何设置executor个数 以及task并行度
一.指定spark executor 数量的公式executor 数量 = spark.cores.max/spark.executor.coresspark.cores.max 是指你的spark程序需要的总核数spark.executor.cores 是指每个executor需要的核数二.指定并行的task数量spark.default.parallelism参数说明:该...转载 2018-12-19 18:02:03 · 12369 阅读 · 2 评论 -
Spark troubleshooting yarn队列资源不足
生产环境配置 以及对应问题spark用的yarn资源队列的情况:500G内存,200个cpu core启动Spark application spark-submit配置 80个 executor 每个executor 4g内存,2个cpu core每次运行spark作业 大概耗费320G内存,160个cpu core乍看起来,咱们的队列资源,是足够的,500G内存,280个cpu c...原创 2018-12-19 17:45:08 · 1350 阅读 · 0 评论 -
Spark troubleshooting shuffle寻址 以及 解决JVM GC导致拉取文件失败
shuffle寻址图shuffle文件寻址基础知识MapOutputTrackerspark架构中的一个主从模块Driver端主对象MapOutputTrackerMasterExecutor端从对象MapOutputTrackerWorkerBlockManager也是spark架构中的一个模块,也是主从架构Driver端主对象 BlockManagerMasterExec...原创 2018-12-19 16:44:29 · 249 阅读 · 0 评论 -
Spark性能调优 troubleshooting shuffle调优 reduce端缓冲大小以避免OOM
reduce导致 内存溢出原因reduce端拉取map端task,是map端写一点数据,reduce端taskk就会拉取一小部分数据,立即进行后面的聚合、算子函数应用每次拉取数据量大小是有buffer决定的,而默认大小是48M,有时候,map端的数据量很大的情况下,reduce端所有task拉取数据全部达到缓冲最大极限值,然后加上reduce端执行聚合函数代码会创建大量对象。这时候可能会出现内...原创 2018-12-19 16:16:12 · 194 阅读 · 0 评论 -
Spark 性能调优 Rdd 之 reduceByKey 本地聚合(也就是map端聚合算子)
简单代码val lines = sc.textFile("hdfs://")val words = lines.flatMap(_.split(" "))val pairs = words.map((_, 1))val counts = pairs.reduceByKey(_ + _)counts.collect()示意图原创 2018-12-19 15:25:41 · 2054 阅读 · 0 评论 -
Spark任务提交 yarn-cluster模式 解决jvm内存溢出问题 以及简单概述jdk7方法区和jdk8元空间
yarn-cluster 提价任务流程1、提交方式./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar100或者./spark-submit --master ...原创 2018-12-20 14:08:21 · 1300 阅读 · 0 评论 -
Spark 电商分析 Spark-sql 统计各区域热门商品统计 需求、设计、数据库
一、需求分析1、根据用户指定的日期范围,统计各个区域下的最热门的top3商品区域信在哪里?各个城市信息不怎么变化,存储在mysql中hive用户行为数据,hive和mysql城市信息 join(Hive和mysql 异构数据源使用,技术点1)关联之后是RDD,RDD转换成DataFrame,注册临时表,第二个技术点各个区域下各个商品的点击量,保留每个区域的城市列表数据?自定义UDAF函数...原创 2018-12-20 16:33:11 · 2141 阅读 · 0 评论 -
Spark 性能调优 算子调优 mappartitions提升效率
Spark最基本的原则就是每个task处理一个RDD的partitionmap操作mapPartitions操作由map转为mapPartitions/** * 获取sessionid2到访问行为数据的映射的RDD * @param actionRDD * @return */ public static JavaPairRDD<String, Row> ...原创 2018-12-18 18:54:05 · 1858 阅读 · 0 评论 -
Spark 2.0常用聚合函数 以及其他常用函数
avg sum max min count countDistinct原创 2018-12-29 12:54:23 · 2484 阅读 · 0 评论 -
SparkStreaming 实时计算 广告点击流量实时统计 需求 技术方案数据库设计
几大模块内容用户访问session分析模块:会话(session),用户的基础访问行为页面单跳转化率模块:页面(page),用户的页面访问和页面跳转行为各区域热门商品统计模块:商品(product),用户的商品点击行为广告点击流量实时统计模块:广告(ad,advertisement),用户的广告点击行为广告点击流量实时统计模块每次点击一个广告以后,通常来说,网站 / app中都会有...原创 2018-12-24 09:42:19 · 2810 阅读 · 5 评论 -
搜狐实验室 新闻点击量项目
新闻项目大数据实时可视化分析项目项目托管到码云第一章技术点Hadoop2.x、Zookeeper、Flume、Hive、Hbase、Kafka、Spark2.x、SparkStreaming、MySQL、Hue、J2EE、websoket、Echarts需求分析业务需求:1)捕获用户浏览日志信息TB2)实时分析前20名流量最高的新闻话题3)实时统计当前线上...原创 2018-12-29 10:29:37 · 748 阅读 · 5 评论 -
Spark 2.0 DataSet 各种操作 action操作 基本操作 typed untyped
1、Action操作employee数据表{&amp;amp;amp;amp;quot;name&amp;amp;amp;amp;quot;: &amp;amp;amp;amp;quot;Leo&amp;amp;amp;amp;quot;, &amp;amp;amp;amp;quot;age&amp;amp;amp;amp;quot;: 25, &amp;amp;amp;amp;quot;de原创 2018-12-28 15:26:44 · 2505 阅读 · 0 评论 -
Spark 大数据 JVM调优 调节executor堆外内存与连接等待时长
executor堆外内存原创 2018-12-17 17:34:54 · 506 阅读 · 0 评论