spark
木木统
Sharing makes the world better!!!
分享让世界更美好!!!
展开
-
Spark的Ml pipeline
博客原文:https://blog.csdn.net/rlnLo2pNEfx9c/article/details/78692986ML pipeline提供了一组统一的高级API,它们构建在 DataFrame之上,可帮助用户创建和调整实用的机器学习pipeline。一 重要概念1.1管道中的主要概念MLlib对机器学习算法的API进行了标准化,使得将多种算法合并成一个pipel...转载 2020-04-11 15:52:45 · 311 阅读 · 0 评论 -
spark广播变量
一、前述Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,需要使用广播变量。累机器相当于统筹大变量,常用于计数,统计。二、具体原理1、广播变量广播变量理解图注意事项1、能不能将一个RDD使用广播变量广播出去? 不能,因为RDD是不存储数据的。可以将RDD的结果广播出去。2、...转载 2020-01-18 23:26:45 · 305 阅读 · 0 评论 -
SparkStream:foreachRDD详解
foreachRDD通常用来把SparkStream运行得到的结果保存到外部系统比如HDFS、Mysql、Redis等等。了解下面的知识可以帮助我们避免很多误区误区1:实例化外部连接对象的位置不正确,比如下面代码dstream.foreachRDD { rdd => val connection = createNewConnection() // executed a...转载 2020-01-18 22:48:23 · 958 阅读 · 0 评论 -
Spark三大核心数据结构(二)——累加器 & 自定义累加器的使用原理
Spark的三大核心数据结构:RDD、累加器(只写不读)、广播变量(只读不写)在spark应用程序中,我们经常会有这样的需求,如异常监控,调试,记录符合某特性的数据的数目,这种需求都需要用到计数器,如果一个变量不被声明为一个累加器,那么它将在被改变时不会再driver端进行全局汇总,即在分布式运行时每个task运行的只是原始变量的一个副本,并不能改变原始变量的值,但是当这个变量被声明为累加器后...转载 2020-01-18 21:48:03 · 725 阅读 · 0 评论 -
Spark集群三种部署模式的区别
目前Apache Spark支持三种分布式部署方式,分别是standalone、spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一...转载 2019-12-23 11:06:14 · 633 阅读 · 0 评论 -
yarn cluster和yarn client模式区别——yarn-cluster适用于生产环境,结果存HDFS;而yarn-client适用于交互和调试,也就是希望快速地看到application
Yarn-cluster VS Yarn-client 从广义上讲,yarn-cluster适用于生产环境;而yarn-client适用于交互和调试,也就是希望快速地看到application的输出。 在我们介绍yarn-cluster和yarn-client的深层次的区别之前,我们先明白一个概念:Application Master。在YARN中,每个Application实例都有一...转载 2019-12-23 11:03:26 · 256 阅读 · 0 评论 -
Spark Streaming中withWatermark的简单尝试
我们在处理流数据的时候,往往会有实时性要求。可是如果我们直接按照程序所在服务器的当前时间计算又不行,比如当上游日志数据延迟了,则所有的这部分数据都会被抛弃掉。所以一般我们在记录日志的时候,加上日志的时间戳。这样我们在进行流处理的时候,就可以把日志记录的时间拿出来,根据这个时间来决定流处理是不是要往下进行。而往往我们会以最早到达的日志作为时间参考点,如果下一个日志比这个时间点晚的太多,就可以抛弃掉。...转载 2019-12-21 19:01:52 · 1048 阅读 · 0 评论