
Spark
文章平均质量分 79
飝鱻.
这个作者很懒,什么都没留下…
展开
-
【Spark】岗位数据分析
使用Spark进行岗位数据分析配置详解数据获取MySQL建表语句Settings文件主项目代码items部分代码pipelines部分代码**数据分析分析不同学历的平均薪资分析不同岗位的平均薪资分析各公司提供的岗位配置详解本文是使用Scrapy来获取数据,再使用Spark来进行分析各版本如下软件 / 库版本Pycharm社区版2021.3.3Python3.8Pandas1.4.1Numpy1.22.3PyMySQL1.0.2scrapy.原创 2022-05-07 16:35:22 · 1359 阅读 · 0 评论 -
【Scala】面向对象编程
面向对象编程类对象继承特质模式匹配包类类的定义class Counter{ 定义类的字段和方法}定义字段:使用关键字val或者var定义方法:def 方法名(参数列表):返回结果类型={方法体} def increment(step: Int): Unit = { value += step } def current(): Int = { value }联系起来就是 var value = 0 def increment(step: Int原创 2022-03-06 10:58:35 · 827 阅读 · 0 评论 -
【Spark SQL】数据类型转换和保留小数
数据类型转换和保留小数数据展示数据类型转换 //创建环境 val spark = SparkSession.builder() .master("local[6]") .appName("test") .getOrCreate() //隐式转换 import spark.implicits._ //读取数据 val sourceDF = spark.read .option("header", true)原创 2022-01-08 10:41:07 · 6325 阅读 · 0 评论 -
【Spark】读取Linux得数据并将结果存储在HDFS上
读取Linux得数据并将结果存储在HDFS上准备工作打包运行查看结果准备工作在Linux上创建以下数据确保hadoop和spark是开启的编写代码,也就是简单的wordcountimport org.apache.spark.sql.SparkSessionobject WordCount { def main(args: Array[String]): Unit = { val spark = SparkSession.builder() .master("l原创 2022-01-07 09:12:03 · 1953 阅读 · 0 评论 -
【Spark】SparkSQL练习--出租车数据清洗
SparkSQL练习--出租车数据清洗数据分析数据读取准备工作读取文件数据清洗数据类型转换解决报错问题剪除异常数据完整代码显示数据分析数据集结构其中有几点需要注意hack_license 是出租车执照, 可以唯一标识一辆出租车pickup_datetime 和 dropoff_datetime 分别是上车时间和下车时间, 通过这个时间, 可以获知行车时间pickup_longitude 和 dropoff_longitude 是经度, 经度所代表的是横轴, 也就是 X 轴pickup_l.原创 2022-01-06 17:22:34 · 2554 阅读 · 0 评论 -
【Spark】Dataset与DataFrame的使用
@[toc](Dataset (DataFrame) 的基础操作)原创 2022-01-06 10:08:51 · 1546 阅读 · 0 评论 -
【Spark】自定义函数UDF和UDAF
自定义函数UDF和UDAF自定义UDFUDF的简介具体实现自定义UDAFUDAF的简介弱类型的UDAF强类型的UDAF我们此篇使用的树都是User.json这个,具体如下图{“username”: “zhangsan”,“age”: 20}{“username”: “lisi”,“age”: 21}{“username”: “wangwu”,“age”: 19}自定义UDFUDF的简介UDF: 输入一行, 返回一个结果. 一对一关系,放入函数一个值, 就返回一个值, 而不会返回多.原创 2022-01-05 07:43:14 · 1083 阅读 · 0 评论 -
【Spark】SparkSQL的简介
SparkSQL的应用与使用简介SparkSQL的特点DataFrame和DataSetDataFrameDataSetSparkSQL核心编程新的起点DataFrame的创建DataSet的使用RDD、DataFrame、DataSet 三者的关系简介SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具。Hive是早期唯一运行在Hadoop上的SQL-on-Hadoop工具。但是MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的 .原创 2022-01-05 07:42:45 · 779 阅读 · 0 评论 -
【Spark】Spark电商数据分析
Spark电商数据分析数据展示与分析需求:Top10 热门品类需求分析实现方法一实现方法二实现方法三实现方法四需求:Top10 热门品类中每个品类的 Top10 活跃 Session 统计需求:页面单跳统计什么是页面单跳统计页面单跳的意义数据展示与分析上面的数据图是从数据文件中截取的一部分内容,表示为电商网站的用户行为数据,主要包含用户的 4 种行为:搜索,点击,下单,支付。数据规则如下:➢ 数据文件中每行数据采用下划线分隔数据➢ 每一行数据表示用户的一次行为,这个行为只能是 4 种行为的一种.原创 2022-01-04 07:42:57 · 3953 阅读 · 3 评论 -
【Spark】Spark扩展
Spark扩展持久化RDD Cache缓存RDD CheckPoint 检查点缓存和检查点区别自定义分区存储与读取累加器广播持久化RDD Cache缓存RDD 通过 Cache 或者 Persist 方法将前面的计算结果缓存,默认情况下会把数据以缓存在 JVM 的堆内存中。但是并不是这两个方法被调用时立即缓存,而是触发后面的 action 算子时,该 RDD 将会被缓存在计算节点的内存中,并供后面重用。// cache 操作会增加血缘关系,不改变原有的血缘关系println(wordToOneR.原创 2022-01-04 07:42:33 · 808 阅读 · 0 评论 -
【Spark】SparkRDD实操练习(一)
本篇所使用到的数据可以在此处找到点击下载.SparkRDD实操练习一数据浏览个字段分别是:时间戳、省份、城市、用户、广告,分割符是空格每一条数据代表了一次点击需求:统计出 每一个省份 每个广告被点击数量 排行的TOP3代码实现object RDDTest { def main(args: Array[String]): Unit = { val spark = new SparkConf().setMaster("local[6]").setAppName("agent.原创 2022-01-03 07:12:00 · 379 阅读 · 0 评论 -
【Spark】RDD的行动算子
RDD的行动算子reducecollectcountfirsttaketakeOrderedaggregatefoldcountByKeysave 相关算子foreach所谓的行动算子就是触发作业执行的方法reduce➢ 函数签名:def reduce(f: (T, T) => T): T➢ 函数说明:聚集 RDD 中的所有元素,先聚合分区内数据,再聚合分区间数据 @Test def reduce(): Unit = { val rdd = sc.makeRDD(List(1.原创 2022-01-03 07:11:46 · 837 阅读 · 0 评论 -
【Spark】WordCount的多种实现方式
跳转顶部WordCount的多种实现方式准备工作使用groupBy使用groupByKey使用reduceByKey使用aggregateByKey使用foldByKey使用combineByKey使用countByKey使用countByValue准备工作查看数据创建SparkContext val spark = new SparkConf().setMaster("local[6]").setAppName("wordCount") val sc = new SparkContex.原创 2022-01-02 21:01:02 · 1215 阅读 · 0 评论 -
【Spark】RDD转换算子
本编主要基于B站尚硅谷的视频及文档做出的一些改写和添加自己的理解而编写B站尚硅谷Spark视频讲解链接: 点击跳转.RDD算子RDD算子的简绍转换算子map算子mapPartitionsmap与mapPartition的区别mapPartitionsWithIndexflatMapglomgroupByfiltersampledistinctcoalescesortByintersection、subtract、union和拉链partitionByreduceByKeygroupByKeyredu.原创 2022-01-02 19:18:32 · 1144 阅读 · 0 评论 -
【Spark】Spark核心编程
本编主要基于B站尚硅谷的视频及文档做出的一些改写和添加自己的理解而编写B站尚硅谷Spark视频讲解链接: 点击跳转.Spark 核心编程概述RDD原理解释什么叫做RDD?RDD核心属性执行原理使用RDD的基础编程概述Spark 计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于处理不同的应用场景。三大数据结构分别是1️⃣RDD : 弹性分布式数据集2️⃣累加器:分布式共享只写变量3️⃣广播变量:分布式共享只读变量RDD原理解释什么叫做RDD?RDD(R.原创 2022-01-02 09:28:52 · 648 阅读 · 0 评论 -
【Spark】Spark运行架构
本编主要基于B站尚硅谷的视频及文档做出的一些改写和添加自己的理解而编写B站尚硅谷Spark视频讲解链接: 点击跳转.Spark运行架构运行架构核心组件DriverExecutorMaster & WorkerApplicationMaster核心概念Executor与Core并行度(Parallelism)有向无环图(DAG)提交流程部署执行方式Yarn Client 模式Yarn Cluster 模式运行架构1️⃣ Spark框架的核心是一个计算引擎,整体来说,它采用了标准mast.原创 2021-12-31 10:15:59 · 536 阅读 · 0 评论 -
【Spark】Spark对数据的读入和写出操作
Spark对数据的读入和写出操作数据存储在文件中CSV类型文件JSON类型文件Parquet操作分区操作数据存储在Hive表中数据存储在MySQL中数据存储在文件中在操作文件前,我们应该先创建一个SparkSession val spark = SparkSession.builder() .master("local[6]") .appName("reader1") .getOrCreate()CSV类型文件简单介绍:逗号分隔值(Comma-Separ原创 2021-12-24 18:47:57 · 8539 阅读 · 1 评论 -
【Spark】使用Spark清洗日志数据(一)
使用Spark清洗日志数据(一)具体要求代码实现结果展示具体要求有一些较为杂乱的数据需要清洗,现在需要将其完成下列操作取出IP,生成只有一个IP的数据集简单清洗统计IP出现的次数排序,按照IP出现的次序排序取出前十数据展示代码实现import org.apache.commons.lang3.StringUtilsimport org.apache.spark.{SparkConf, SparkContext}object AccessLogTest { def mai原创 2021-12-21 15:16:35 · 858 阅读 · 0 评论 -
【Spark】SparkShell的运行
SparkShellspark shell的流程具体操作读取HDFS上的文件访问的几种方式简介:spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序。spark shell的流程启动 Spark shell进入Spark 安装目录后执行 spark-shell --master master 就可以提交Spark 任务Spark shell 的原理是把每一行 Scala 代码编译成类, 最终交由 Spa原创 2021-12-21 09:37:36 · 1574 阅读 · 0 评论 -
Spark---SQL的使用
Spark---SQL的使用DataSetDataset的使用Dataset的底层DataFrameDataFrame是什么?简单使用spark处理数据的简单步骤创建DataFrame的三种方式DataFrame的练习操作DataSet和DataFrame的区别相同点不同点DataSetDataset的使用 val spark = new sql.SparkSession.Builder() .master("local[6]") .appName("DataSet") .g原创 2021-01-02 09:13:41 · 588 阅读 · 0 评论 -
Spark---RDD的分区和shuffle
Spark---RDD的分区和shuffle简单简绍分区的作用分区和Shuffle的关系Spark中的Shuufle操作的特点RDD的分区操作Shuffle的原理Hash base shuffleSort base shuffleRDD的缓存RDD缓存的意义RDD缓存的APIRDD缓存的级别存储级别如何选择存储级别Checkpoint特点和Cache的区别Checkpoint的使用简单简绍分区的作用RDD使用分区来分布式并行处理数据,并且要做到尽量少的在不同的Executor之间使用网络交换数据,所以原创 2020-12-30 17:50:39 · 965 阅读 · 0 评论 -
spark---深入了解RDD
spark---深入了解RDDRDD的特点RDD算子可以分为俩类RDD是可以分区的RDD是只读的RDD是容错的弹性分布式数据集解释总结RDD的五大属性RDD的分类从功能上分类为俩大类从数据类型分为三类特点转换算子map算子flatMap算子ReduceByKeymapPartitionsmapPartitionsWithIndex算子filter算子samplemapValues算子intersection(交集)union(并集)subtract(差集)groupByKeycomobineByKeyRD原创 2020-12-30 10:24:30 · 1048 阅读 · 0 评论 -
Spark---RDD的简单了解
Spark---RDD的使用RDD简单简绍RDD的定义RDD的特点RDD的创建方式程序入口SparkContext通过本地集合创建RDD通过外部数据创建RDD通过RDD来衍生RDDRDD简单简绍RDD的定义RDD,全称为Resilient Distributed Datasets,是一个容错的,并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区.同时, RDD还提供了一组丰富的操作来操作这些数据.在这些操作中,诸如map,flatMap, filter等转换操作实现了Mon原创 2020-12-29 16:40:16 · 651 阅读 · 0 评论 -
【Spark】PM数据清洗(一)
Spark--->阶段练习1准备数据需求代码实现准备数据需求将同一月份的PM_DongSi累加并且排序代码实现import org.apache.commons.lang3.StringUtilsimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object Spark_Test01 { def main(args: Array[String]): Unit =原创 2020-12-08 23:12:40 · 470 阅读 · 0 评论 -
Spark--->数字类型的操作
Spark--->数字类型的操作方法总览代码操作这些对于数字类型的支持都是Action,而不是转换操作方法总览代码操作import org.apache.spark.{SparkConf, SparkContext}object RDDNumberTest { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local[6]").setAppName("number原创 2020-12-08 22:21:17 · 618 阅读 · 0 评论 -
Spark--->Action算子
Spark--->Action算子Action的结构图reduce注意点:代码foreach注意点代码count解释代码take解释代码Action的结构图reducereduceByKey是一个转换操作,reduce是一个Action算子reduceByKey是通过key来分组,然后每组聚合 reduce是一个数据集进行聚合reduceByKey是针对KV类型的 reduce是所有类型的数据需求:最终生成(“总价”,price)注意点:curr 和 a原创 2020-12-08 21:57:36 · 769 阅读 · 0 评论 -
Spark---创建RDD的三种方式
Spark---创建RDD的三种方式通过本地集合创建RDD通过外部数据创建RDD通过RDD衍生新的RDD通过本地集合创建RDDdef rddCreationLocal(): Unit = { val seq1 = Seq("hello","world","HI") val seq2 = Seq(1,2,3) //可以不指定分区数 val rdd1: RDD[String] = sc.parallelize(seq1,2) //要指定分区数 val rdd2: RDD[Int] =原创 2020-12-08 16:31:43 · 2529 阅读 · 0 评论 -
Spark--->转换算子
Spark--->转换算子flatMap:数据的拆分、转换(一对多)map:转换(一对一)filter:过滤算子sort:排序算子mapPartitionsmapPartitionsWithIndexsample:取样,转换mapValueunionintersectionsubtratreduceByKeygroupByKeycombinerByKeyfoldByKeyaggregateByKeyjoinrepartition、coalesceflatMap:数据的拆分、转换(一对多) def原创 2020-12-08 16:28:02 · 796 阅读 · 0 评论 -
【Spark】第一个代码(WordCount)
Spark--->第一个代码(WordCount)import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object Spark_WordCount { def main(args: Array[String]): Unit = { //todo 建立和spark框架的连接 val sparkConf = new SparkConf().setMaster("local原创 2020-12-07 15:46:39 · 483 阅读 · 0 评论