Spark
文章平均质量分 78
二哥不像程序员
公众号:数据山谷
展开
-
PySpark ML (评估器)
PySpark ML (评估器)评估器简介ML中的评估器主要是对于机器学习算法的使用,包括预测、分类、聚类等,本文中会介绍多种模型的使用方式以及使用一些模型来实现简单的案例。分类LogisticRegression逻辑回归(仅支持二分类问题)DecisionTreeClassifier决策树GBTClassifier提督提升决策树RandomForestClassifier随机森林NaiveBayes朴素贝叶斯MultilayerPerceptronCla原创 2020-11-20 15:29:23 · 1870 阅读 · 0 评论 -
PySpark ML(转换器)
PySpark ML(转换器)在PySpark中包含了两种机器学习相关的包:MLlib和ML,二者的主要区别在于MLlib包的操作是基于RDD的,ML包的操作是基于DataFrame的。根据之前我们叙述过的DataFrame的性能要远远好于RDD,并且MLlib已经不再被维护了,所以在本专栏中我们将不会讲解MLlib。ML简介在ML包中主要包含了三个主要的抽象类:转换器、评估器、管道,本文先来介绍第一种抽象类——转换器。转换器在PySpark中,我们通常通过将一个新列附加到DataFrame来转换原创 2020-11-16 16:00:11 · 1619 阅读 · 0 评论 -
PySpark|比RDD更快的DataFrame
DataFrame介绍DataFrame是一种不可变的分布式数据集,这种数据集被组织成指定的列,类似于关系数据库中的表。如果你了解过pandas中的DataFrame,千万不要把二者混为一谈,二者从工作方式到内存缓存都是不同的。DataFrame的作用对于Spark来说,引入DataFrame之前,Python的查询速度普遍比使用RDD的Scala查询慢(Scala要慢两倍),通常情况下这种速度的差异来源于Python和JVM之间的通信开销。具体的时间差异如下图所示:由上图可以看到,使用原创 2020-11-10 14:55:01 · 1952 阅读 · 0 评论 -
PySpark|RDD编程基础
RDD(弹性分布式数据集)RDD是Spark中最基本的数据抽象,其实就是分布式的元素集合。RDD有三个基本的特性:分区、不可变、并行操作。分区:每一个 RDD 包含的数据被存储在系统的不同节点上。逻辑上我们可以将 RDD 理解成一个大的数组,数组中的每个元素就代表一个分区 (Partition) 。不可变:不可变性是指每个 RDD 都是只读的,它所包含的分区信息是不可变的。由于已有的 RDD 是不可变的,所以我们只有对现有的 RDD 进行转化 (Transformation) 操作,才能得到新的 RD原创 2020-10-27 17:05:23 · 1417 阅读 · 0 评论 -
超全的Spark简介
Spark是什么?简单的说Apache Spark是一个开源的、强大的分布式查询和处理引擎,它提供MapReduce的灵活性和可扩展性,但速度明显要快上很多;拿数据存储在内存中的时候来说,它比Apache Hadoop 快100倍,访问磁盘时也要快上10倍。Spark生态系统Spark Core:Spark Core包含Spark的基本功能,如内存计算、任务调度、部署模式、故障恢复、存储管理等。Spark建立在统一的抽象RDD之上,使其可以以基本一致的方式应对不同的大数据处理场景;通常所说的Ap原创 2020-10-26 18:19:28 · 2258 阅读 · 2 评论 -
Spark-RDD 键值对的操作(Scala版)
键值对RDD是Spark中许多操作所需要的常见数据类型。键值对RDD通常用来进行聚合运算,我们一般要先通过一些初始ETL(抽取,转化,装载)操作来将数据转化为键值对形式。Spark为包含键值对类型的RDD提供了一些专有的操作,这些RDD被称为PairRDD。创建 pair RDD很多存储键值对的数据格式会在读取时直接返回其由键值对数据组成的pair RDD,当需要把一个普通的RDD转化...原创 2019-07-14 21:14:13 · 2368 阅读 · 0 评论 -
人人都懂Spark-SQL基础操作(Scala版)
Spark SQL简单的说Spark SQL是spark用来操作结构化和半结构化数据的接口。本文来讲述一下它的一些基本操作。Spark SQL的特性无缝地将SQL查询和spark程序混合,与常规的Python/Java/scala代码高度整合,包含了连接RDD与SQL表、公开的自定义SQL函数接口等。 可以从各种结构化数据源中读取数据,如(JSON、HIVE等) 可以通过JDBC或...原创 2019-07-14 14:14:13 · 1792 阅读 · 0 评论 -
Spark-数据读取与保存(Scala版)
文件格式Spark对文件的读取和保存方式都很简单,会根据文件的扩展名选择对应的处理方式Spark支持的一些常见格式 格式名称 结构化 备注 文本文件 否 普通的文本文件,每行一条记录 JSON 半结构化 常见的基于文本的格式,半结构化,大多数库都要求每行一条记录 CSV 是 非常常见的基于文本的格式,通常在电子表格应用中使用 ...原创 2018-12-18 18:21:16 · 6950 阅读 · 0 评论 -
Spark RDD编程基础(Scala版)
RDD :弹性分布式数据集(分布式的元素集合)Spark中,对数据的所有操作不外乎创建RDD,转化已有的RDD以及调用RDD操作进行求值,Spark会自动将RDD中的数据分发到集群上,并将操作并行化执行。1、创建RDDSpark有两种创建RDD的方式,一种是读取外部数据集,一种是在驱动器中对一个集合进行并行化。最简单的创建RDD的方法就是讲程序中已有的一个集合传给SparkCont...原创 2018-12-13 18:44:34 · 4070 阅读 · 0 评论 -
Spark-编程进阶(Scala版)
累加器累加器提供了将工作节点中的值聚合到驱动器程序中的简单语法。累加器的一个常见用法是在调测时对作业执行过程中的时间进行计数。例:累加空行val sc = new SparkContext()val file = sc.textFile("file.txt")val blankLines = sc.accumulator(0)//创建Accumulator[Int]并初始化为0...原创 2018-12-19 15:01:50 · 871 阅读 · 0 评论