
Spark
lucasmaluping
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sparkMLib
1.读源文件2、根据源文件rdd做出特征向量Vector3、根据特征向量Vector做出标签点LabeledPoint4、根据标签点LabeledPoint做出训练数据trainingData5、做出LogisticRegressionWithSGD算法对象6、把训练数据trainingData传给LogisticRegressionWithSGD的run方法做出model(公式)7、根据公式做出新数据的预测代码:依赖: <dependency>原创 2020-07-06 10:29:41 · 317 阅读 · 0 评论 -
Scala排序
排序方法在实际的应用场景中非常常见,Scala里面有三种排序方法,分别是: sorted,sortBy ,sortWith分别介绍下他们的功能:(1)sorted对一个集合进行自然排序,通过传递隐式的Ordering(2)sortBy对一个属性或多个属性进行排序,通过它的类型。(3)sortWith基于函数的排序,通过一个comparator函数,实现自定义排序的逻辑。例子一:基于单集合单字段的排序val xs=Seq(1,5,3,4,6,2) println("..原创 2020-06-17 09:00:20 · 987 阅读 · 0 评论 -
sparkUI入门
1 代表job页面,在里面可以看到当前应用分析出来的所有任务,以及所有的excutors中action的执行时间。2 代表stage页面,在里面可以看到应用的所有stage,stage是按照宽依赖来区分的,因此粒度上要比job更细一些3 代表storage页面,我们所做的cache persist等操作,都会在这里看到,可以看出来应用目前使用了多少缓存4 代表environment页面,里面...原创 2020-04-26 11:41:40 · 385 阅读 · 0 评论 -
Spark--数据的读取与保存
一、动机 我们已经学了很多在 Spark 中对已分发的数据执行的操作。到目前为止,所展示的示例都是从本地集合或者普通文件中进行数据读取和保存的。但有时候,数据量可能大到无法放在一台机器中,这时就需要探索别的数据读取和保存的方法了。 Spark 及其生态系统提供了很多可选方案。本章会介绍以下三类常见的数据源。 • 文件格式与文件系统:对于存储在本地文件系统或分布式文件系统(比如 N...原创 2020-03-26 10:27:55 · 1104 阅读 · 0 评论 -
PageRank算法
一、PageRank算法简介(摘自《Spark快速大数据分析》)PageRank是执行多次连接的一个迭代算法,因此它是RDD分区操作的一个很好的用例。算法会维护两个数据集:一个由(pageID,linkList)的元素组成,包含每个页面的相邻页面的列表;另一个由(pageID,rank)元素组成,包含每个页面的当前排序值。它按如下步骤进行计算。将每个页面的排序值初始化为1.0。...原创 2020-03-23 11:09:09 · 464 阅读 · 0 评论 -
pairRDD的CombineByKey
RDD的CombineByKey使用方法这是一个很抽象化的方法,一开始看得一头雾水。但是大部分的聚合函数都基于这个方法去实现的,比如常用的reduceByKey,所以这个方法很重要。方法参数def combineByKey[C]( //在找到给定分区中第一次碰到的key(在RDD元素中)时被调用。此方法为这个key初始化一个累加器。 createCombine...原创 2020-03-19 00:16:47 · 181 阅读 · 0 评论 -
secureCRT sftp常用命令
securecrt 按下ALT+P就开启新的会话 进行ftp操作。输入:help命令,显示该FTP提供所有的命令pwd: 查询linux主机所在目录(也就是远程主机目录)lpwd: 查询本地目录(一般指windows上传文件的目录:我们可以通过查看”选项“下拉框中的”会话选项“,如图二:我们知道本地上传目录为:D:/我的文档)ls: 查询连接到当前linux主机所在目录有哪些文件lls:...原创 2020-03-02 12:08:18 · 1141 阅读 · 0 评论 -
RDD转DataFrame
package com.zpark.lucas/** * @Author Lucas * @Date 2019/12/30 14:49 * @Version 1.0 */import jdk.nashorn.internal.runtime.regexp.joni.constantsimport org.apache.spark.rdd.RDDimport org.ap...原创 2019-12-30 15:31:06 · 208 阅读 · 0 评论 -
Spark的存储级别
Spark 中一个很重要的能力是将数据持久化(或称为缓存),在多个操作间都可以访问这些持久化的数据。当持久化一个 RDD 时,每个节点的其它分区都可以使用 RDD 在内存中进行计算,在该数据上的其他 action 操作将直接使用内存中的数据。这样会让以后的 action 操作计算速度加快(通常运行速度会加速 10 倍)。缓存是迭代算法和快速的交互式使用的重要工具。RDD 可以使用 persist...原创 2019-12-30 11:27:05 · 3157 阅读 · 0 评论 -
RDD和DataFrame的区别
spark3.0版本可能不太公布底层的RDD,以后使用dataframe将成为趋势,现在大都数公司也多使用dataframe来处理数据RDD、DataFrame和DataSet是容易产生混淆的概念,必须对其相互之间对比,才可以知道其中异同。RDD和DF的区别上图直观地体现了DataFrame和RDD的区别。左侧的RDD[Person]虽然以Person为类型参数,但Spark框架本身不了解...原创 2019-12-30 11:23:40 · 553 阅读 · 0 评论 -
Spark的RDD的aggregate() 函数
aggregate() 函数的返回类型不需要和 RDD 中的元素类型一致,所以在使用时,需要提供所期待的返回类型的初始值,然后通过一个函数把 RDD 中的元素累加起来放入累加器。考虑到每个结点都是在本地进行累加的,所以最终还需要提供第二个函数来将累加器两两合并。aggregate(zero)(seqOp,combOp) 函数首先使用 seqOp 操作聚合各分区中的元素,然后再使用 comb...原创 2019-12-13 09:12:15 · 744 阅读 · 0 评论 -
Spark中foreachRDD、foreachPartition和foreach
foreachRDD、foreachPartition和foreach的不同之处主要在于它们的作用范围不同,foreachRDD作用于DStream中每一个时间间隔的RDD,foreachPartition作用于每一个时间间隔的RDD中的每一个partition,foreach作用于每一个时间间隔的RDD中的每一个元素foreachRDD在Spark 官网中,foreac...原创 2019-12-12 16:41:16 · 282 阅读 · 0 评论 -
SparkStreaming窗口函数
结合Spark官网上Spark Streaming的编程指南对Spark Streaming进行介绍StreamingContext如同SparkContext一样,StreamingContext也是Spark Streaming应用程序通往Spark集群的通道,它的定义如下:/** * Main entry point for Spark Streaming functionalit...原创 2019-12-11 14:53:37 · 1486 阅读 · 0 评论 -
Echats入门
https://www.w3cschool.cn/echarts_tutorial/echarts_tutorial-mec528xa.html原创 2019-12-09 16:29:27 · 200 阅读 · 0 评论 -
Azkaban 实战
Azkaba 内置的任务类型支持 command、java。1 Command 类型之单 job 工作流案例1)创建 job 描述文件vim command.job#command.jobtype=command command=echo 'hello'2)将 job 资源文件打包...原创 2019-12-04 16:07:38 · 248 阅读 · 0 评论 -
Azkaban安装配置
一 概述1.1 工作流调度系统1)一个完整的数据分析系统通常都是由大量任务单元组成:shell 脚本程序,java 程序,mapreduce 程序、hive 脚本等。2)各任务单元之间存在时间先后及前后依赖关系。3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行。 例如,我们可能有这样一个需求,某个业务系统每天产生 20G 原始数据,我们每天都要对其进行处理,处...原创 2019-12-04 14:00:56 · 664 阅读 · 0 评论 -
一、Spark中的基本概念
(1)Application:表示你的应用程序(2)Driver:表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext(3)Executor:某个Application运行在Worker节点上的一个进程,该进程负责运行某些task,并且负责将数据存在内...原创 2019-11-26 21:26:02 · 367 阅读 · 0 评论 -
MapPartition和Map的区别
在Spark中有map和mapPartitions算子,处理数据上,有一些区别主要区别:map是对rdd中的每一个元素进行操作;mapPartitions则是对rdd中的每个分区的迭代器进行操作MapPartitions的优点:如果是普通的map,比如一个partition中有1万条数据。ok,那么你的function要执行和计算1万次。使用MapPartitions操作之后,一个ta...原创 2019-11-26 21:12:31 · 327 阅读 · 0 评论 -
待优化环节
1、nginx产生日志文件,过大怎么办?思路1、生成滚动日志,定期删除过期(IO)日志思路2、nginx自己的优化方案2、flume采集日志文件,怎么保证数据的完整性思路1、日志采集不完,就不删除数据思路2、分布式的、快速的保存日志数据...原创 2019-11-26 09:08:53 · 228 阅读 · 0 评论 -
Kafka的message存储数据结构
Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互独立的。每个topic又可以分成几个不同的partition(每个topic有几个partition是在创建topic时指定的),每个partition存储一部分Message。借用官方的一张图,可以直观地看到topic和partition的关系。Anatomy of a Topicpartition是以文...原创 2019-11-25 21:24:27 · 277 阅读 · 0 评论 -
updateStateByKey
updateStateByKey操作允许您在使用新的信息持续更新时保持任意状态。1、定义状态 - 状态可以是任意数据类型。2、定义状态更新功能 - 使用函数指定如何使用上一个状态更新状态,并从输入流中指定新值。如何使用该函数,spark文档写的很模糊,网上资料也不够详尽,自己翻阅源码总结一下,并给一个完整的例子updateStateBykey函数有6种重载函数:1、只传入一个更新函数,最...原创 2019-11-25 21:17:35 · 584 阅读 · 0 评论 -
Scala的Option中的Some和None
大多数语言都有一个特殊的关键字或者对象来表示一个对象引用的是“无”,在Java,它是null。在Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的。但是这对语言设计者来说是一件令人疑惑的选择。为什么要在程序员希望返回一个对象的时候返回一个关键字呢?为了让所有东西都是对象的目标更加一致,也为了遵循函数式编程的习惯,Scala鼓励你在变量和函数返回值可能不会引用任何值...原创 2019-11-25 20:42:25 · 314 阅读 · 0 评论 -
updateStateByKey方法详解
updateStateByKey操作允许您在使用新的信息持续更新时保持任意状态。1、定义状态 - 状态可以是任意数据类型。2、定义状态更新功能 - 使用函数指定如何使用上一个状态更新状态,并从输入流中指定新值。如何使用该函数,spark文档写的很模糊,网上资料也不够详尽,自己翻阅源码总结一下,并给一个完整的例子updateStateBykey函数有6种重载函数:1、只传入一个更新函数,最...原创 2019-11-25 13:40:42 · 2472 阅读 · 0 评论 -
spark阶段测试题
1、map和flatMap的区别理解val words: RDD[String] = lines.flatMap(_.split(","))2、reduce和reduceByKey理解val reduced: RDD[(String, Int)] = wordAndOne.reduceByKey((x,y) => {x + y})val reduced:RDD[(String, ...原创 2019-11-25 13:39:37 · 317 阅读 · 0 评论 -
SparkStreaming2.2.0获取Kafka数据统计wordcount
1、启动kafka在hdp-2的kafka安装路径中bin/kafka-server-start.sh -daemon config/server.properties 2、依赖: <dependency> <groupId>org.apache.spark</groupId> <artifact...原创 2019-11-22 16:09:12 · 495 阅读 · 0 评论 -
SparkStreaming
依赖: <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-streaming --> <dependency> <groupId>org.apache.spark</groupId> <artifactI...原创 2019-11-21 11:30:22 · 392 阅读 · 0 评论 -
nc
https://www.cnblogs.com/-qing-/p/10739814.html-l 开启 监听模式,用于指定nc将处于监听模式。通常 这样代表着为一个 服务等待客户端来链接指定的端口。-p<通信端口> 设置本地主机使用的通信端口。有可能会关闭-k<通信端口>强制 nc 待命链接.当客户端从服务端断开连接后,过一段时间服务端也会停止监听。 但通过选项...转载 2019-11-21 09:36:18 · 265 阅读 · 0 评论 -
HIVE-on-Spark
hive底层是通过MR进行计算,将其改变为SparkCore来执行配置步骤1.在不是高可用集群的前提下,只需要将Hadoop安装目录中的core-site.xml拷贝到spark的配置conf文件目录下即可2.将hive安装路径下的hive-site.xml拷贝到spark的配置conf配置文件目录下即可注意:若是高可用:需要将hadoop安装路径下的core-site,xml和hdfs...原创 2019-11-20 15:04:33 · 394 阅读 · 0 评论 -
Spark SQL
创建DataFrames1)spark-shell版本spark中已经创建好了SparkContext和SQLContext对象2)代码:spark-shell --master spark://hadoop1:7077 --executor-memory 512m --total-executor-cores 2//创建了一个数据集,实现了并行化val seq= Seq((“1”,“...原创 2019-11-20 08:32:21 · 483 阅读 · 0 评论 -
Spark的广播变量和累加器
一、概述在spark程序中,当一个传递给Spark操作(例如map和reduce)的函数在远程节点上面运行时,Spark操作实际上操作的是这个函数所用变量的一个独立副本。这些变量会被复制到每台机器上,并且这些变量在远程机器上的所有更新都不会传递回驱动程序。通常跨任务的读写变量是低效的,但是,Spark还是为两种常见的使用模式提供了两种有限的共享变量:广播变(broadcast variable)...原创 2019-11-19 15:54:25 · 341 阅读 · 0 评论 -
Spark自定义分区器(二)
代码:import java.net.URLimport org.apache.spark.rdd.RDDimport org.apache.spark.{Partitioner, SparkConf, SparkContext}import scala.collection.mutableobject MostJobPartitioner { def main(args: A...原创 2019-11-19 15:27:34 · 224 阅读 · 0 评论 -
Spark的缓存Cache
1、启动spark-shell./spark-shell --master spark://hdp-1:7077 --executor-memory 500m --total-executor-cores 12、读文件var lines = sc.textFile("hdfs://hdp-1:9000/aaa.txt")3、将读到的文件放入缓存var cached = lines.c...原创 2019-11-18 23:00:16 · 213 阅读 · 0 评论 -
Spark自定义分区(一)
import java.io.Fileimport org.apache.commons.io.FileUtilsimport org.apache.hadoop.fs.FileUtilimport org.apache.spark.rdd.RDDimport org.apache.spark.{HashPartitioner, Partitioner, SparkConf, Spark...原创 2019-11-18 15:43:05 · 220 阅读 · 0 评论 -
Spark过滤filter
数据源:http://bigdata.zpark.cn/laozhanghttp://bigdata.zpark.cn/laozhaohttp://bigdata.zpark.cn/laozhaohttp://bigdata.zpark.cn/laozhaohttp://bigdata.zpark.cn/laozhaohttp://bigdata.zpark.cn/laozhaoht...原创 2019-11-18 15:41:28 · 921 阅读 · 0 评论 -
Spark阶段案例分组TopN
数据源:http://bigdata.zpark.cn/laozhanghttp://bigdata.zpark.cn/laozhaohttp://bigdata.zpark.cn/laozhaohttp://bigdata.zpark.cn/laozhaohttp://bigdata.zpark.cn/laozhaohttp://bigdata.zpark.cn/laozhaoht...原创 2019-11-18 14:29:34 · 246 阅读 · 0 评论 -
reduce和reduceByKey的区别
reduce和reduceByKey的区别1、reduce:把RDD中的每一个元素拿出来处理并形成一个新的RDD元素2、reduceByKey,把RDD中的key相同的一组数据拿出来处理,形成一个RDD里面放的是元组reduce和reduceByKey是spark中使用地非常频繁的,在字数统计中,可以看到reduceByKey的经典使用。那么reduce和reduceBykey的区别在哪呢?...原创 2019-11-18 10:25:47 · 1433 阅读 · 0 评论 -
Spark中_+_说明
比如我的内存中存在如下的以key-value形式的数据集(RDD):hello:1 sparkSubmit:1 red:1 sparkSubmit:1 hello:2 hello:1 hello:4 red:1 red:1 red:1 … …reduceByKey的作用对象是(key, value)形式的RDD,而reduce有减少、压缩之意,red...原创 2019-11-17 21:47:50 · 720 阅读 · 0 评论 -
Spark中keys、values、mapValues
1.keys功能:返回所有键值对的key示例val list = List(“hadoop”,“spark”,“hive”,“spark”)val rdd = sc.parallelize(list)val pairRdd = rdd.map(x => (x,1))pairRdd.keys.collect.foreach(println)结果hadoopsparkhiv...原创 2019-11-17 21:47:10 · 813 阅读 · 0 评论 -
Spark--RDD
一、RDD的概述1.1 什么是RDD?RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。...原创 2019-11-13 13:49:11 · 487 阅读 · 0 评论 -
Spark-Shell交互式客户端
启动交互shell[root@hdp-1 bin]# ./spark-shell --master spark://hdp-2:7077 --executor-memory 500m --total-executor-cores 1--master spark://hdp-2:7077 sparkmaster节点的地址--executor-memory 500m--total-...原创 2019-11-13 11:22:54 · 946 阅读 · 0 评论