
大数据
文章平均质量分 76
RainTicking
I dare do all that may become a man,who dare do more,is none.
展开
-
数据指标体系方法—新海盗模型
海盗模型,即 AARRR 模型,是 Acquisition(获取)、Activation(激活)、Retention(留存)、Revenue(收益)、Referral(推荐传播),这个五个单词的缩写,分别对应用户生命周期中的5个重要环节。在这个阶段,要关注的数据指标无非就是渠道质量和成本,比如渠道的广告点击率、广告转化率、平均每个新用户的获取成本等。无论是什么类型的电商,最关注的无非就是 GMV 了,而在跨境独立站方向,因为涉及到广告,还会关注到 ROI 或者 ROAS 等衡量收益和成本比例的指标。原创 2024-03-16 17:00:09 · 532 阅读 · 0 评论 -
数据指标体系方法—UJM模型
UJM 模型也不仅仅适用于做数据指标体系的规划,还可以用于做需求挖掘与分析,从用户旅途地图中挖掘用户的痛点,探索用户的需求。另外,UJM 也可以和 OSM 模型结合起来使用,其中 UJM 的机会点可以转换为 OSM 模型的策略。原创 2024-03-16 16:50:57 · 1119 阅读 · 0 评论 -
数据指标体系方法—OSM模型
S 代表业务策略,这里指的是要实现 O 需要采用的策略,比如 Object 是提高 GMV,那么 Strategy 就可能包含了卖出更多的货品、拉来更多的新客户或者提升老客户的复购等。M 则代表了业务度量,主要是衡量业务策略的效果好坏以及业务目标完成的情况,比如 Strategy 是拉来更多的新客户,那么 Measure 就是新用户注册数、新用户下单数量等,其实就是相当于给 Strategy 设定了 KPI,给 Object 设定了 Target。第一,优化广告投放的策略,让用户看到他/她更偏好的产品;原创 2024-03-16 16:35:21 · 1428 阅读 · 0 评论 -
SparkSQL远程调试(IDEA)
【代码】SparkSQL远程调试(IDEA)原创 2023-11-29 22:15:06 · 572 阅读 · 0 评论 -
SparkSQL之Optimized LogicalPlan生成过程
在分析Rule体系时就已经提到,Optimizer同样继承自RuleExecutor类,本身没有重载RuleExecutor中的execute方法,因此其执行过程仍然是调用其父类RuleExecutor中实现的execute方法。在QueryExecution中,Optimizer会对传入的Analyzed LogicalPlan执行execute方法,启动优化过程。原创 2023-11-25 20:28:03 · 498 阅读 · 1 评论 -
SparkSQL之Analyzed LogicalPlan生成过程
而在对Project中的表达式name属性进行分析时,因为Project的子节点Filter此时仍然处于unresolved状态(注:虽然age列完成了分析,但是整个Filter节点中还有“18”这个Literal常数表达式未被分析),因此解析操作无法成功,留待下一轮规则调用时再进行解析。本小节对这些规则仅做概述性的分析,从宏观层面介绍规则所起到的主要作用,旨在把握规则体系的轮廓,后续章节在具体的查询分析时会对其中常用的重要规则进行讲解。经过上述3个规则的解析之后,剩下的规则对逻辑算子树不起作用。原创 2023-11-13 23:01:01 · 1103 阅读 · 0 评论 -
SparkSQL之Catelog体系
本质上,SessionCatalog起到了一个代理的作用,对底层的元数据信息、临时表信息、视图信息和函数信息进行了封装。如上图所示,SessionCatalog的构造参数包括6部分,除传入Spark SQL和Hadoop配置信息的CatalystConf与Configuration外,还涉及以下4个方面的内容。在关系数据库中,Catalog是一个宽泛的概念,通常可以理解为一个容器或数据库对象命名空间中的一个层次,主要用来解决命名冲突等问题。原创 2023-11-12 11:21:48 · 657 阅读 · 0 评论 -
SparkSQL之Rule体系
RuleExecutor的apply(plan:TreeType):TreeType方法会按照batches顺序和batch内的Rules顺序,对传入的plan里的节点进行迭代处理,处理逻辑由具体Rule子类实现。凡是涉及树型结构的转换过程(如Analyzer逻辑算子树分析过程、Optimizer逻辑算子树的优化过程和后续物理算子树的生成过程等),都要实施规则匹配和节点处理,都继承自RuleExecutor[TreeType]抽象类,如下图所示。原创 2023-11-12 11:06:25 · 265 阅读 · 0 评论 -
SparkSQL之LogicalPlan概述
逻辑计划阶段在整个流程中起着承前启后的作用。在此阶段,字符串形态的SQL语句转换为树结构形态的逻辑算子树,SQL中所包含的各种处理逻辑(过滤、剪裁等)和数据信息都会被整合在逻辑算子树的不同节点中。原创 2023-10-23 20:42:13 · 381 阅读 · 0 评论 -
编程常用缩写
在编程中我们经常会为了减小标识符的长度而采用缩写,这通常是通过去掉一些元音字母完成的,但更多的时候我们使用一些常用、通用的缩写。原创 2023-06-27 19:05:42 · 286 阅读 · 0 评论 -
SparkSQL之AstBuilder
左边的一系列节点对应select表达式中选择的列,中间的From ClauseContext为根节点的系列节点对应数据表,右边的一系列节点则对应where条件中的表达式。MyVisitor中访问方法的类型为String(AstBuilder中的SqlBaseBaseVisitor为AnyRef类型,返回LogicalPlan类型),但不会返回字符串,仅用于输出访问的路径和对AST的理解。上述语法树的结构比较通用,其他类型的SQL语句生成的语法树大同小异,这里假设在上述语句中加入排序的操作。原创 2023-06-24 23:49:31 · 683 阅读 · 0 评论 -
ANTLR实战
ANTLR(Another Tool for Language Recognition)是目前非常活跃的语法生成工具,用Java语言编写,基于LL(∗)解析方式,使用自上而下的递归下降分析方法。ANTLR可以用来产生词法分析器、语法分析器和树状分析器(Tree Parser)等各个模块,其文法定义使用类似EBNF(Extended Backus-Naur Form)的方式,简洁直观。ANTLR本身使用switch-case逻辑来匹配字符(Token),形成记号序列流。原创 2023-06-22 08:54:19 · 1299 阅读 · 0 评论 -
设计模式之访问者模式
这种模式的工作方法如下:假设拥有一个由许多对象构成的对象结构,这些对象的类都拥有一个accept方法用来接受访问者对象;访问者是一个接口,它拥有一个visit方法,这个方法对访问到的对象结构中不同类型的元素做出不同的反应;在对象结构的一次访问过程中,遍历整个对象结构,对每个元素都实施accept方法,在每个元素的accept方法中回调访问者的visit方法,从而使访问者得以处理对象结构的每个元素;需要注意,在该接口中包含访问所有城市的visit方法,分别代表该访问者在不同城市的具体活动。原创 2023-06-20 23:11:37 · 274 阅读 · 0 评论 -
Hadoop的shuffle过程及调优
今天这章,我们详细介绍了 Shuffle 过程,关注 Shuffle 过程的性能对整个 MR 作业的性能调优至关重要。经过这章的介绍,我们能够掌握 Shuffle 过程的关键技术点,虽然还不算深入。同时,我们介绍了常见的参数以及调优方法,希望能够在实际应用中不断的尝试、总结,写出性能最佳的任务。原创 2023-06-17 18:54:39 · 1682 阅读 · 0 评论 -
HiveQL语法
HQL的基本语法原创 2016-09-10 20:20:38 · 489 阅读 · 0 评论 -
Spark源码编译与部署
Spark源码编译与部署原创 2023-06-05 09:46:18 · 566 阅读 · 0 评论