摘要:
Spark学习笔记 连接数据库 大数据中各种框架的连接器(Spark, Flink, MongoDB, Kafka, Hive, Hbase等) Spark-基础 spark DataFrame聚合操作 spark的DataFrame的schema模式:读时模式, 指定模式+ spark读写文件+ 阅读全文
摘要:
可以使用select和selectExpr来操作DataFrame中的列 例如查询:DEST_COUNTRY,ORIGIN_COUNTRY val path="/Volumes/Data/BigData_code/data/flight-data/json/2015-summary.json" va 阅读全文
摘要:
结构体 创建结构体 在字符串公式中就是一个”()“就表示一个结构体 //创建结构体 //方法1: df.selectExpr("(Description, InvoiceNo) as complex", "*").show(2) //方法2: df.selectExpr("struct(Descri 阅读全文
摘要:
UDF可以将一个或者多个列作为输入,同时也可以返回一个或者多个列。在一般情况下,这些函数被注册为SparkSession或者Countext的临时函数。 注册成DataFrame的函数 案例:向UDF中注册一个3次幂函数的自定函数 函数: def pow3(number:Double)={ numb 阅读全文
摘要:
参考博客之一:https://tech.meituan.com/2016/04/29/spark-tuning-basic.html 参考博客之一:https://tech.meituan.com/2016/05/12/spark-tuning-pro.html 上面是非常好的博客推荐查看 缓慢任务 阅读全文
摘要:
快速开始 创建环境 Spark程序主要分为三个阶段: 创建环境 数据操作 关闭环境(在Streaming程序中为执行环境) 下面是批处理的Spark SQL API的创建环境的类:SparkSession,其目的是为了创建基本的Spark SQL的环境。 from pyspark.sql impor 阅读全文
摘要:
Tensorflow运行模型——会话+ 框架学习目录 Tensorflow框架学习笔记 Tensorflow-基础 Tensorflow计算模型——计算图 Tensorflow笔记——张量+ Spark机器学习框架学习笔记 SparkMlib基础和基础统计 SparkMLlib的线性回归和逻辑回归+ 阅读全文
摘要:
朴素贝叶斯是基于每个特征都是相互独立的这个假设而成立的。朴素贝叶斯算法常常用于多分类的任务中。在spark mllib中支持多项式朴素贝叶斯和伯努利朴素贝叶斯模型。这些模型常常用于文档分类。在文档分类的任务中,每一个样本就是一个文档,每一个特征就是一个单词,单词的数值为该词的评率。而输入特征为稀疏向 阅读全文
摘要:
#概要 决策树及其集合是分类和回归的机器学习任务的流行方法。决策树被广泛使用,因为它们易于解释,可以处理分类特征,扩展到多类分类环境,不需要特征缩放,并且能够捕捉非线性和特征的相互作用。树的组合算法,如随机森林和提升算法,是分类和回归任务中表现最好的。 在这里就不过多介绍决策树的具体原理了,这篇文章 阅读全文
摘要:
在机器学习中分为监督学习和无监督学习。其中聚类算法就是无监督学习。聚类算法就是根据某种相似性将相似的样本划分为一个类型。比如,最简单的k-mean算法的相似规则就是空间中的位置,两个样本点空间中位置越接近表示越相似。 K-means算法 在Spark mllib中实现了k-mean和k-mean++ 阅读全文
摘要:
概述 降维是减少所考虑的变量的数量,它可以从原始和杂乱特征中提取潜在特征或者说价值更高的特征,能够在压缩数据的大小的时候尽量不影响算法的结果。 奇异分解(SVD) 给出一篇比较好的博客:https://www.cnblogs.com/pinard/p/6251584.html 在Spark mlli 阅读全文
摘要:
TF-IDF TF-IDF的算法步骤: TF(词频)=$\farc{某个词在该文章出现的次数}{该文章的总词数}$ IDF(逆文档频率)=$log(\frac{语料库的文档总数}{包含该词的文档数+1})$,分母加1是为了不让等于0. TF-IDF=TF*IDF 可以看出计算出的每个词的TF-IDF 阅读全文
摘要:
FP-growth 可调参数: minSupport:被识别为频繁项集的最小支持度。例如,如果一个项目在 5 个事务中出现 3 个,则它的支持率为 3/5=0.6。 numPartitions: 用于分发工作的分区数。 阅读全文
摘要:
分类与回归 | 问题类型 | 解决方法 | | | | | 二元分类 | 线性SVM,逻辑回归,决策树,随机森林,梯度提升树,朴素贝叶斯 | | 多元分类 | 逻辑回归,决策树,随机森林,朴素贝叶斯 | | 回归问题 | 线性最小二乘法,套索,岭回归,决策树,随机森林,梯度提升树,等渗回归 | 线性 阅读全文
摘要:
概述 Spark MLlib分为基于RDD的API和基于**DataStream的API,**其中基于RDD的API是MLlib的主要API。数据类型 MLlib支持存储在一台机器上的本地向量和矩阵,以及由一个或多个 RDD 支持的分布式矩阵。本地向量和本地矩阵用于公共接口的简单数据。 本地矢量 M 阅读全文
摘要:
将相同国家进行分组,然后将count相加sum(count), 对sum(count)进行排序,输出top5 val path="/Volumes/Data/BigData_code/data/flight-data/csv/2015-summary.csv" val data = spark.re 阅读全文
摘要:
聚合操作 注意:任何的聚合操作都有默认的分组,聚合是在分组的基础上进行的。比如,对整体进行求和,那么分组就是整体。所以,在做聚合操作之前,一定要明确是在哪个分组上进行聚合操作 注意:聚合操作,本质上是一个多对一(一对一是多对一的特殊情况)的操作。特别注意的是这个’一‘,可以是一个值(mean, su 阅读全文
摘要:
val path="/Volumes/Data/BigData_code/data/retail-data/by-day/2010-12-01.csv" spark.read.format("csv").option("header", "true").option("inferSchema", " 阅读全文
摘要:
读时模式 val path="/Volumes/Data/BigData_code/data/" //读取json生成dataframe val df = spark.read.format("json").load(path + "flight-data/json/2015-summary.jso 阅读全文
摘要:
在聚合操作中,需要指定键或分组方式,以及指定如何转换一列或多列数据的聚合函数。s 除了处理任意类型的值之外,Spark还可以创建以下分组类型: * 最简单的分组通过在select语句中执行聚合来汇总整个DataFrame * “group by”指定一个或者多个key也可以指定一个或者多个聚合函数, 阅读全文