spark
文章平均质量分 68
spark使用、原理、机器学习
Just Jump
勿忘来时路上的脚印。站在巨人的肩膀上。
你没有比别人更努力,更不会比别人更不努力。你只是按照你能做到的、最适合你自己的办法去实现自己的目标,去成长为你眼中优秀的人们中的一员。
你自己、优秀的人群;决心、视野;自律、标准。
业精于勤,行成于思。
古之成大事者,不惟有超世之才,亦必有坚韧不拔之志。
苟有恒,何必三更起五更眠;最无益,只怕一日曝十日寒。 十五年只做一个行当。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pyspark使用 graphframes创建和查询图的方法
使用graphframes创建图和查看图数据原创 2024-07-17 20:51:06 · 1289 阅读 · 0 评论 -
pyspark训练ALS模型注意事项
而用于隐式反馈时,每个评分代表的是用户会和给定产品发送交互的置信度(比如随着用户访问一个网页次数的增加,评分也会提高),预测出来的也是置信度。rank: 使用的特征向量的大小,更大的特征向量会产生更好的模型,但是也需要话费更大的计算代价,默认10。用于显式评分时,每个用户对于一个产品的评分需要是一个得分(例如1到5星),而预测出来的评分也是得分。MLlib/ ml中包含交替最小二乘法(ALS)的一个实现,这是一个协同过滤的常用算法,可以很好的。产品的页面但是没有对产品评分)交互皆可。原创 2023-08-15 19:08:29 · 662 阅读 · 0 评论 -
使用Spark ALS模型 + Faiss向量检索实现用户扩量实例
使用Spark ALS模型 + Faiss向量检索实现用户扩量实例原创 2023-08-10 16:39:22 · 1624 阅读 · 0 评论 -
pyspark使用XGboost训练模型实例
pyspark训练Xgboost模型原创 2023-08-04 19:42:15 · 3128 阅读 · 3 评论 -
spark读取本地文件
spark读取本地文件-EXCEL、CSV、TXT原创 2023-03-01 00:18:52 · 1205 阅读 · 0 评论 -
Spark参数配置和调优,Spark-SQL、Config
Spark参数配置和调优,Spark-SQL、Config原创 2023-02-22 00:13:40 · 6520 阅读 · 0 评论 -
Spark 推测执行(speculative)
Spark 推测执行(speculative)转载 2023-02-21 23:33:59 · 1018 阅读 · 0 评论 -
pyspark比较dropDuplicates()+count与count(Distinct)
pyspark , dropDuplicates()+ count与count(Distinct)计算速度和结果差异原创 2023-01-17 19:12:06 · 1205 阅读 · 0 评论 -
pyspark实践之 map/flatMap应用示例
pyspark map\flatMap使用原创 2023-01-17 17:37:59 · 2096 阅读 · 0 评论 -
pyspark数据倾斜问题解决-repartition & mapPartitions
pyspark mapPartitions, repartition原创 2023-01-08 13:34:41 · 2160 阅读 · 1 评论 -
spark底层原理理解--高级进阶
spark底层原理理解。从基础开发应用进阶到高级原理理解和调优。原创 2022-11-10 17:45:27 · 976 阅读 · 0 评论 -
pyspark使用xgboost做模型训练
pyspark 使用xgboost模型做训练原创 2022-08-14 02:37:33 · 2833 阅读 · 1 评论 -
序列特征Embedding后怎么用?
写在前面:前段时间做了个项目,用到了word2vec将用户浏览商品序列做了Embedding。但是这个Embedded的序列特征向量到底该怎么用呢?后面的模型该怎么设计呢?如何评价到底哪种用法是适合场景的?这种方法又该如何解释呢?所以,这里就解答这个问题。1、序列特征的处理方法之一:基于注意力机制方法序列特征的处理方法之一:基于注意力机制方法 - 知乎前言之前两篇讲过 稠密特征和多值类别特征加入CTR预估模型的常用处理方法,这篇介绍一下针对序列特征采用的最基本的注意力机制方法。我们都知道转载 2021-12-29 20:08:44 · 1285 阅读 · 0 评论 -
【转】XGBoost算法原理小结
转自:XGBoost算法原理小结前言XGBoost(eXtreme Gradient Boosting)全名叫极端梯度提升,XGBoost是集成学习方法的王牌,在Kaggle数据挖掘比赛中,大部分获胜者用了XGBoost,XGBoost在绝大多数的回归和分类问题上表现的十分顶尖,本文较详细的介绍了XGBoost的算法原理。目录1. 最优模型的构建方法2. Boosting的回归思想3. XGBoost的目标函数推导4. XGBoost的回归树构建方法5. XGBoost与GD转载 2021-12-15 21:15:44 · 559 阅读 · 0 评论 -
Xgboost安装、使用和算法原理理解
一、Xgboost相关重要文档1、官方文档官方文档中可查询到各语言版本的安装方法、官方用例等XGBoost Documentation — xgboost 1.6.0-dev documentationhttps://xgboost.readthedocs.io/en/latest/index.html2、githubgithub源码可查看代码实现、下载数据样例等GitHub - dmlc/xgboost: Scalable, Portable and Distributed Gradi原创 2021-12-03 11:24:58 · 3251 阅读 · 0 评论 -
word2vec应用的主要步骤及算法原理
写在前面:word2vec的算法实现参考博客:Spark MLlib — Word2Vechttps://blog.youkuaiyun.com/zhangchen2449/article/details/52795529?ops_request_misc=&request_id=&biz_id=102&utm_term=spark%20mllib%20word2vec%20霍夫曼树&utm_medium=distribute.pc_search_result.none-task原创 2021-11-18 20:29:48 · 2368 阅读 · 0 评论 -
Python多线程-阻塞主线程
写在前面:前面已经有Scala实现多线程了,那么用Python实现多线程又有什么区别和好处?Scala里实现多线程,启的是同一个Application,计算多线程任务的task都是同时返回到driver中进行管理。而这些task的完成情况和状态管理会一直保存在driver中,直到Application结束。如果模型迭代次数很多,或者需要写循环来做多次计算时,这很容易导致driver的内存溢出。所以,为了同时实现多线程,而又不至于让Application任务太大、task太多、driver内存溢出原创 2021-09-26 12:26:10 · 1417 阅读 · 0 评论 -
记一次奇葩的Spark内存溢出OOM
错误信息如下:org.apache.spark.memory.SparkOutOfMemoryError: Unable to acquire 1048576 bytes of memory, got 65536内存溢出的位置:做JOIN操作的时候,内存溢出了。首先,定位下任务使用的资源,其次,调参数--driver-cores 4 \--driver-memory 8G \--executor-cores 4 \--executor-memory 16G \-..原创 2021-09-22 19:18:36 · 2046 阅读 · 0 评论 -
Scala常用小处理方法汇总
本文介绍case语法与match 、map结合使用完成业务中常见的分情况匹配或分情况讨论的场景问题。1、match ...case ...2、map ...case ...原创 2021-09-08 23:19:31 · 558 阅读 · 0 评论 -
Scala多线程之任务的异同、同步执行实践
近期使用Spark开发ML机器学习模型的时候,其中有一个部分需要交替搜索最优参数。待搜索的参数空间有上万维,如果参数搜索串行执行,那么上千次的迭代计算大约需要10个小时,对于线上部署的模型是万万不可取的。考虑到参数搜索部分的每次的计算量并不大,只是需要重复上万次,有一些迭代的搜索计算是不相互依赖的,可以并行计算。那么就考虑使用多线程的思想,并行执行一些计算任务。因为参数的更新需要等这些并行的计算任务都完成后 取他们计算结果汇总后的最大值,所以需要的是同步执行,即需要block阻塞。如果将多线原创 2021-09-02 01:07:33 · 898 阅读 · 0 评论 -
使用scala做二元分类模型的评价
1、假设我们有一个训练好的二元分类模型tvsFitted,我们看下能得到这个模型的哪些指标来评价这个模型的好坏。 //fit val tvsFitted = tvs.fit(trainData)2、模型训练结束后,使用summary来获取评价指标 //best model summary 获取训练时最优模型的评价指标 import org.apache.spark.ml.PipelineModel //获取最优模型 val trainedPipe原创 2021-08-29 21:05:28 · 321 阅读 · 0 评论 -
Scala中的容易混淆的符号->和 <- 和=>比较
写在前面:对于初学者来说,这几种符号实在太容易让人混淆了,还是有必要整理起来,相互比较下,对各符号的功能用途有了更深入的了解后自然就轻松了。参考文章:Scala中的 -> 与 <-以及=>Scala中"=>"的使用小结1、概括<- 只会出现在for循环里面-> 只会出现在Map里的key->value映射时=> 虽然出现的场景有四种,但背后代表的含义是统一的,即转化,从一种类型变成另一种类型。不管是用在函数、匿名函数,或是用在match匹配中,...转载 2021-08-08 08:00:52 · 749 阅读 · 0 评论 -
Spark处理数据倾斜问题
写在前面:有博主的文章写的很好,很详细,推荐!参考:Spark如何处理数据倾斜(甚好,甚详细,很有逻辑,强推!) spark数据倾斜解决方案汇总1、什么是数据倾斜在执行shuffle操作的时候,数据是按照key对每行数据进行拉取、聚合等操作的。同一个key的数据Row,一定是分配到一个task中进行处理的。当大量相同key的数据被partition分配到同一个分区里时,就会发生数据倾斜问题。例子: 有数据行共是90万,可能某个key对应了88万数据,这88万个数...转载 2021-08-07 19:20:32 · 1719 阅读 · 0 评论 -
Scala使用ALS模型做推荐
1、代码import org.apache.spark.sql.SparkSessionimport toby.gao.config.modelConfig/** * scala - recommendation 推荐系统 * package : org.apache.spark.ml.recommendation * 方法: ALS 、 ALSModel 交替最小二乘法 */object example28 { def main(args: Array[String]):原创 2021-08-05 17:47:21 · 1145 阅读 · 0 评论 -
使用scala做机器学习模型主要步骤示例
本文介绍使用scala做机器学习模型的一个主要步骤示例。这里主要列了些基本环节,可以在此基础上进行扩充。object mlExample { def main(args: Array[String]): Unit = { val spark = SparkSession.builder() .appName("TobyGao") .enableHiveSupport() .getOrCreate() val modelPath = "/user/原创 2021-08-04 22:30:58 · 2097 阅读 · 0 评论 -
使用Scala做特征工程常用方法
1、为后面的代码示例准备下数据 val modelPath = "/user/gaoToby/model_saved" val dataPath = "/user/gaoToby/ml_data" //1-1 load data // in Scala val sales = spark.read.format("csv") .option("header", "true") .option("inferSchema", "true")原创 2021-08-04 21:04:38 · 990 阅读 · 0 评论 -
IDEA使用Maven创建Scala模块
1、IDEA -> File -> New -> Module 使用IDEA创建一个新的Module2、从现有的结构中创建3、设置Module名字、GroupId、SNAPSHOT版本4、选择Maven版本5、配置POM文件,添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xm...原创 2021-07-26 23:31:36 · 1299 阅读 · 1 评论 -
spark使用MLlib时pom.xml的配置
新项目要使用机器学习做一个二分类模型预测,在IDEA中使用Maven新创建了一个工程model,当我在脚本中import 相关模块的时候,提示无法加载。这是因为在maven仓库中还没有ML包,需要在POM文件中配置才行。一、POM文件配置方法第一步:在POM文件中配置spark-mllib依赖 <dependency> <groupId>org.apache.spark</groupId> .原创 2021-07-26 19:26:13 · 4408 阅读 · 0 评论 -
【转】Scala的5种运算:位运算、算术运算、关系运算、逻辑运算、赋值运算
最近刷leetcode刷到位运算相关的,比如191. 位1的个数、231. 2 的幂,所以这里补一下位运算相关的知识点。看到一篇文章对于Scala的5种运算,位运算、算术运算、关系运算、逻辑运算、赋值运算,写的很全面、详细,这里转载其中位运算的部分。有兴趣的同学可以去看原文。原文: Scala(3) -- scala运算符 ,原作者:erainm原文链接:https://blog.youkuaiyun.com/eraining/article/details/1086810785. 位运算符5...转载 2021-07-18 18:18:33 · 1257 阅读 · 0 评论 -
spark访问OSS文件时POM文件配置和使用方法
1、spark如果要访问OSS文件,需要在POM.xml文件中添加一些依赖。要添加的依赖是:(1)hadoop-jfs(2)jss-sdk-java添加方法,在<dependencies>...</dependencies>中添加 <dependency> <groupId>org.apache.hadoop</groupId> <art原创 2021-07-07 19:56:16 · 1109 阅读 · 2 评论 -
spark使用本地local模式时pom.xml的配置
1、本地local模式启动SparkSession我写了个脚本做使用本地local模式启动SparkSession,想做个简单的代码测试,如下://in scalapackage com.Toby.Gaoimport org.apache.spark.sql.SparkSessionobject Test { def main(args:Array[String]){ val spark = SparkSession .builder()原创 2021-07-07 19:36:48 · 1032 阅读 · 0 评论 -
【转】JAVA基础:一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(上篇)
写在前面:转载自:知乎 飞爱学习作者:一个敲代码的汽车人原文链接:https://zhuanlan.zhihu.com/p/139018397这篇主要讲 重载overload 、封装Encapsulation。也是工程化的设计思想的产物。1 类(Class)、对象(Object)和构造器(Constructor)1.1 案例要求设计一个矩形的面积计算器,输入为矩形的高(height)和宽(width),输出为矩形的面积(area)。1.2 代码对JAVA的语法有最基本的...转载 2021-07-02 17:08:23 · 334 阅读 · 0 评论 -
【转】JAVA基础:一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(中篇)
写在前面:转载自:知乎 飞爱学习作者:一个敲代码的汽车人原文链接:https://zhuanlan.zhihu.com/p/139033198这篇主要讲的是继承extends和覆盖override。不管是继承、覆盖还是多态,甚至类、抽象类、接口,都是在体现一种工程化实现的设计思想。如果能从做工程、多方协作的设计师的视角去看待这些概念,你会更容易理解为什么要创造出来这些概念,为什么用这些概念或方法就能达到工程代码的易扩展、易维护的目的。1 继承(Inheritance)1....转载 2021-07-02 17:04:28 · 252 阅读 · 0 评论 -
【转】JAVA基础:一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(下篇)
写在前面:转载自:知乎 飞爱学习作者:一个敲代码的汽车人原文链接:https://zhuanlan.zhihu.com/p/139388786我觉得对于多态、抽象、接口、覆盖的案例讲解很是生动、详细和透彻了。必须强推!原作者是个人才!1 抽象(Abstrac)1.1 案例咱们再加一点难度。现在要求设计一个面积计算器,计算的对象包括平行四边形、梯形和圆。平行四边形的输入为高和宽,梯形的输入为高、上底长和下底长,圆的输入为直径(假定都是规范的数值输入),所有的输出均为面积。...转载 2021-07-02 16:09:36 · 320 阅读 · 0 评论 -
Scala类的单继承/多继承/private关键字问题
本文我们聊聊Scala类的单继承/多继承、private/public关键字问题。1、Scala的类是单继承的,但特质可以多继承1.1 首先,来看下多继承、单继承是什么意思,区别是什么?多继承:A类、B类是两个没有继承关系的类,C类即继承了A类又继承了B类。单继承:C类继承了B类,B类继承了A类,C、B、A是单一依次继承的关系。1.2 多继承相比于单继承有什么问题?为什么Scala采用单继承,而不是多继承?举一个多重继承的例子。蝙蝠即有鸟类的一些特征,又有哺乳动物类的一些原创 2021-07-01 16:07:20 · 2266 阅读 · 1 评论 -
Scala使用mapPartitions来实现UDAF的功能效果
写在前面:我们之前已经介绍过如何写UDAF,也介绍过map、flatMap的区别,也使用flatMap实现了UDTF的功能效果。这篇我们介绍如何使用mapPartitions()来实现UDAF的功能效果。1、直接上代码实例看实现方法//in scalaimport org.apache.spark.sql.{DataFrame, SparkSession}import org.apache.spark.sql.functions.sumimport scala.collection.原创 2021-06-30 15:35:01 · 668 阅读 · 0 评论 -
Scala使用flatMap来实现UDTF的功能效果
写在前面:工作中发现大家经常写UDF,偶尔写UDAF,但几乎很少有人写UDTF。通常UDF、UDAF就能满足大多的工作需求了。当然有很多同事喜欢写map来代替写UDF,这是可以达到同样效果的。map的功能很强大。你会发现flatMap的功能也很强大。灵活使用它就完成可以实现写UDTF达到的效果。所以,这大概也是看同事代码的时候可以经常看到flatMap,而很少见到写UDTF的原因吧。当然还有使用mapPartition()的方法来达到UDAF同样效果的写法。我们在下一篇中介绍。直接上代码原创 2021-06-30 14:28:29 · 480 阅读 · 1 评论 -
Scala比较理解map、flatMap
写在前面:首先问几个问题,如果以下问题大家都能轻松的说明白,那么说明你对这几种方法已经熟练掌握了。如果对这些问题,你还有疑问,那么我希望通过这篇文章能让你不再有疑问。1、Scala中map、flatMap的区别是什么?2、map/flatMap 和filter/where在处理数据上的区别又是什么?3、map和UDF在处理数据上的区别是什么?map(函数)的方法是否等同于UDF?如果等同,那么UDF的优势是什么,适用场景是什么?4、flatMap() 和UDTF有什么区别? 和SQL中的..原创 2021-06-29 23:20:22 · 1651 阅读 · 5 评论 -
Scala利用Buffer写UDAF详解
1、什么情况下使用UDAF?2、怎么注册UDAF?注册后怎么调用UDAF?3、怎么写UDAF? 是class 还是 object ?3.1 首先我们看看官方的UDAF的抽象类是怎么定义的abstract class UserDefinedAggregateFunction extends Serializable { /** * A `StructType` represents data types of input arguments of this aggregate .原创 2021-06-24 20:59:18 · 741 阅读 · 0 评论 -
10、Scala特质trait
特质 (Traits) 用于在类 (Class)之间共享程序接口 (Interface)和字段 (Fields)。 它们类似于Java 8的接口。 类和对象 (Objects)可以扩展特质,但是特质不能被实例化,因此特质没有参数。翻译 2021-06-11 19:44:38 · 252 阅读 · 0 评论
分享