自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 收藏
  • 关注

原创 顶级公司面试编程题——输入一段字符串,求出包含字母a-z的个数。

题目输入一串字符串,并且求出其中a-z各个字母的个数。这道题是我朋友在一家大公司里面试的考试题,这道题目其实是相当难的,它不仅嵌入了多重循环,还有数组的遍历。下面就是这道题目c语言的解法,本人水平有限,其他的语言确实不太熟悉。解答#include <stdio.h>#include <stdlib.h>#define N 50 ...

2020-04-22 10:04:20 780

原创 王者级别的sed高级用法——t label标签

基本语法 :label sed序列指令 ...... s/regex/replace t label问题如何把f6e5d4c3b2a1这一串数字,转换为MAC地址的形式:f6:e5:d4:c3:b2:a1?解答echo f6e5d4c3b2a1 | sed -r ':abc;s/([^:]+)([0-9a-f]{2})/\1:\2/;t abc'执行...

2020-04-09 11:02:46 1764

原创 推荐算法中经典排序算法GBDT+LR

逻辑回归(LR,Logistic Regression)是一种传统机器学习分类模型,也是一种比较重要的非线性回归模型,其本质上是在线性回归模型的基础上,加了一个Sigmoid函数(也就是非线性映射),由于其简单、高效、易于并行计算的特点,在工业界受到了广泛的应用。虽然说逻辑回归可以实现回归预测,但是在推荐算法中,我们都将其看作是线性模型并把它应用在分类任务中。使用LR模型主要是用于分类任务,通常情况下也都是二分类任务,一般在推荐系统的业务中,会使用LR作为Baseline模型快速上线。

2024-03-10 00:09:16 923

原创 推荐系统经典模型YouTubeDNN代码

上一篇讲到过YouTubeDNN论文部分内容,但是没有代码部分。最近网上教学视频里看到一段关于YouTubeDNN召回算法的代码,现在我分享一下给大家参考看一下,并附上一些我对代码的理解。代码中提到的离散特征和变长特征该如何选择?答:首先我们要理解一下什么事离散特征,什么是变长特征?离散特征:是指具有有限取值或离散类别的特征,例如性别、国家、城市等(用户画像信息)。对于离散特征,可以使用embedding来将其映射到低维连续向量空间中。这使得模型能够学习离散特征之间的相关性和交互关系。

2024-02-29 22:37:33 953

原创 推荐系统经典模型YouTubeDNN

我们可以把召回模型的结构分为三层。输入层:输入层总共有四种特征。用户看过视频的 Embedding(embedded video watches)用户搜索的关键词的 Embedding 向量(embedded search tokens)用户所在的地理位置的特征(geographic embedding)适用于冷启动用户基本特征(example age, gender)

2024-02-23 17:32:48 1288

原创 基于Embedding召回和DSSM双塔模型

基于embedding的召回是从内容文本信息和用户查询的角度出发,利用预训练的词向量模型或深度学习模型,将文本信息转换成向量进行表示,通过计算两个向量之间的距离或者相似度来推荐内容。这种方式主要考虑商品文本信息的语义信息,使推荐的内容更加精准。Embedding召回主要的优缺点扩展性强:基于 Embedding 的召回算法可以学习大规模物品或用户的向量表示,因此对于超大规模推荐系统也可以进行有效召回。表达能力强。

2024-02-22 18:50:22 809

原创 对于协同过滤算法我自己的一些总结和看法

协同过滤是个比较直观且解释性较强的一类模型算法,但是没有较强的泛化能力,也就是两两物品的相似性无法推广到其他商品相似度计算中,这样就会存在一个很严重的问题,就是对于近期具有头部热门商品,容易跟大量物品产生相似性,而尾部的稀疏向量就无法与其他物品产生相似性计算而减少对其的推荐。总结一下来说,推荐结果头部效应比较明显,但处理稀疏向量能力弱。对于解决此类问题,我们可以引用矩阵分解技术来增强模型的泛化能力,在协同过滤共现矩阵的基础上,添加用户与物品之间稠密的隐向量,从而挖掘隐含特征,来解决稀疏性问题。

2024-02-05 18:11:46 832

原创 Spark On Hive配置测试及分布式SQL ThriftServer配置

分布式SQL执行引擎就是使用Spark提供的ThriftServer服务,以“后台进程”的模式持续运行,对外提供端口。SQL提交后,底层运行的就是Spark任务。相当于构建了一个以MetaStore服务为元数据,Spark为执行引擎的数据库服务,像操作数据库那样方便的操作SparkSQL进行分布式的SQL计算。

2024-01-20 15:25:38 573

原创 SparkSQL优化器与执行流程

断言下推,将Filter这种可以减少数据集的操作下推,放在Scan位置,为了减少操作时候的数据量。上述代码是先join再where,而下推之后先过滤age,再join,这样可以减小join数据量提升性能。AST逻辑计划结束之后需要生成物理计划,从而生成RDD来进行后续的运行。列值裁剪,在断言下推之后进行裁剪,由于people表中只用到了id这一列,所以可以把其他列裁剪掉,从而做到减少数据量,优化处理速度。为了解决过多依赖Hive的问题,SparkSQL使用了一个新的SQL优化器代替Hive优化器。

2023-02-22 23:28:19 318 1

原创 SparkSQL 实现窗口函数

开窗函数的引入是为了既显示聚合前的数据,又显示聚合后的数据。即在每一行的最后一列添加聚合函数的结果。开窗用于为定义一个窗口(指运算将要操作的行的集合),它对一组值进行操作,不需要使用Group BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。聚合函数和开窗函数的区别:聚合函数是多行变一行;如果要显示其他列必须加入到group by中。开窗函数是一行变多行;不需要加group by就可以将所有信息显示出来。开窗函数分类:聚合开窗函数:聚合函数(col) + OVER()

2023-02-22 00:01:28 766

原创 SparkSQL UDF函数

无论是Hive还是SparkSQL分析处理数据时,往往需要使用函数,SparkSQL模块本身自带很多实现公共功能的函数,在pyspark.sql.functions中。Hive中常见的自定义函数有三种UDF(一对一)、UDAF(多对一)、UDTF(一对多)。在SparkSQL中,目前仅仅支持UDAF与UDF,而python仅支持UDF。sparksession.udf.register():注册的UDF可以用DSL和SQL,返回值用于DSL风格,传参内给的名字用于SQL风格。

2023-02-21 00:04:24 570

原创 SparkSQL DataFrame数据写出

SparkSQL 统一API写出DataFrame数据。

2023-02-15 23:55:33 180

原创 SparkSQL 数据清洗API

【代码】SparkSQL 数据清洗API。

2022-12-13 00:10:42 950

原创 DataFrame API入门操作及代码展示

DataFrame的一个强大之处就是我们可以将它看作是一个关系型数据表,然后可以通过在程序中使用spark.sql() 来执行SQL语句查询,结果返回一个DataFrame。使用SQL查询我们需要调用SparkSession.sql(“SQL语句”)执行查询,返回值是一个新的DataFrame。df.createGlobalTempView():注册全局临时的视图表。df.createTempView():注册临时的视图表。filter()与where()方法。printSchema()方法。

2022-12-01 21:17:30 973

原创 SparkSQL DataFrame的介绍及创建

DataFrame是以二维表格形式的数据存储结构。在SparkSQL中同样是分布式数据集,有分区并且可以并行计算。StructType对象是描述整个DataFrame的表结构。StructField对象描述一个列的信息。Row对象记录一行数据。Column对象记录一列数据并包含列信息。相同点:都是弹性分布式数据集。不同点:DataFrame:存储结构限定为二维表结构化数据。RDD:存储数据没有任何限制。

2022-11-30 20:22:20 403

原创 浅谈SparkSQL基本概念和原理

在Spark2.0之后,推出了SparkSession对象,作为Spark编码的统一入口对象。SparkSession对象既可以用于SparkSQL编程、又可以用于SparkCore RDD编程,主要是通过SparkSession对象获取SparkContext方法。在企业中虽然Hive技术依旧居多,但是作为性能强于Hive的SparkSQL,在未来将会代替Hive成为分布式SQL计算的主流。相同点:两者都是分布式SQL计算引擎,都可以运行Yarn上。

2022-11-30 14:20:48 636

原创 Spark并行度和任务调度

规划并行度优先级:代码→客户端提交参数→配置文件→默认设置(默认为1,具体会根据文件的分片数来跑)。Driver也就是我们通常理解的包工头。

2022-11-23 18:32:27 1271

原创 Spark DAG及内存迭代计算

Spark会产生DAG图。DAG图会基于分区和宽窄依赖关系划分阶段。一个阶段内部都是窄依赖,窄依赖内,如果形成前后的1:1的分区对应关系,就可以产生许多内存迭代计算管道。这些内存迭代计算的管道,就是一个个具体执行的Task。一个Task就是一个具体的线程,任务跑在一个线程内,就是走内存计算了。

2022-11-23 17:14:58 978

原创 Spark 广播变量和累加器

【代码】Spark 广播变量和累加器。

2022-11-22 15:19:17 281

原创 RDD缓存机制及持久化技术

Spark cache CheckPoint

2022-11-21 15:53:54 869

原创 Spark RDD编程模型及算子介绍(二)

collect算子:将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象。RDD是分布式对象,数据量可以很大,所以用这个算子之前需要知道如果数据集结果很大,就会把driver内存撑爆,出现oom。结果如下图所示在HDFS WebUI上查看。

2022-11-18 01:03:16 600

原创 Spark RDD编程模型及算子介绍(一)

RDD是Spark 对于分布式数据集的抽象,它用于囊括所有内存中和磁盘中的分布式数据实体。每一个RDD都代表着一种分布式数据形态。在RDD的编程模型中,一共有两种算子,Transformations类算子和Actions类算子。开发者需要使用Transformations类算子,定义并描述数据形态的转换过程,然后调用Actions类算子,将计算结果收集起来、或是物化到磁盘。

2022-11-17 15:46:42 591

原创 Spark RDD的介绍及创建

RDD(Resilient Distributed Dataset)弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合。它用于囊括所有内存中和磁盘中的分布式数据实体。RDD与数组的对比:对比项数组RDD概念类型数据结构实体数据模型抽象数据跨度单机进程内跨进程、跨计算节点数据构成数组元素数据分片数据定位数据下标、索引数据分片索引。

2022-11-10 12:49:15 708

原创 Python SparkContext编程示例WordCount

Spark本身执行是通过JVM Driver和JVM Executor去跑Spark程序的。而且Python是如何跑在Spark中,如上图白色部分为python的代码部分,需要通过一个socket网络通道去连接到JVM Driver中,然后通过Py4j来讲python程序翻译成JVM代码,变成JVMDriver来运行。Python → JVM代码 → JVM Driver → RPC → 调用JVM Executor → PySpark中转 → Python Executor进程。

2022-11-09 16:23:45 1238

原创 Spark的应用架构和程序层次结构

Spark程序运行层次结构

2022-11-07 16:28:15 1483

原创 Spark On Yarn的两种运行模式

spark on yarn两种部署方式

2022-11-07 15:46:59 1828

原创 Spark On Yarn基本原理及部署

spark on yarn部署

2022-11-07 12:41:11 1180

原创 Spark Standalone HA基本原理及部署

spark HA部署

2022-11-05 01:59:04 575

原创 Spark Standalone架构及安装部署

Spark Standalone部署

2022-11-04 21:39:41 1784

原创 Spark Local模式的基本原理及部署

spark 部署

2022-11-04 02:00:05 613

原创 基于CDH环境下的Hive数仓配置及优化

Hive数仓及优化

2022-10-12 01:35:38 1705

原创 Spark概念及相关介绍

spark介绍

2022-10-09 00:47:47 233

原创 基于Hive数仓的陌陌聊天数据需求开发

数仓需求分析

2022-08-15 01:28:25 1136 1

原创 Hive Join相关操作及常见函数

hive join相关操作

2022-08-11 01:56:24 697

原创 Hive DML常见操作

Hive DML常见操作

2022-08-08 00:45:53 902

原创 Hive DDL常见操作

Hive DDL常见操作

2022-07-30 00:44:29 709

原创 Hive的介绍及部署搭建

hive安装部署

2022-07-29 17:15:52 940 3

原创 YARN功能介绍、交互流程及调度策略

YARN介绍

2022-07-26 15:43:04 867

原创 MapReduce介绍及执行过程

mapreduce基本原理及介绍

2022-07-26 00:51:59 4971 1

原创 HDFS工作流机制

hdfs工作机制摘要

2022-07-23 14:23:55 285

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除