摘要: Grouping函数: 可以接受一列,返回0或1。如果列值为空,则返回1,非空则返回0。它只能在rollup和或cube函数中使用,因为在统计中显示“全部”的那一项统计值时,那一项的标签通常是空的,这时grouping就非常有用,还可以在grouping的基础上进行decode, case等进行美化 阅读全文
posted @ 2023-11-02 09:56 Solong1989 阅读(83) 评论(0) 推荐(0) 编辑
摘要: sql代码细节优化:比如去重用group by替代distinct ;多表关联,先进行子查询后再进行关联;表关联时一定要在子查询里过滤掉NULL值,避免数据倾斜;不要对一个表进行重复处理,多使用临时表,尽量做到一次处理多次使用等等, 1、谓词下推 基本策略是,始终将过滤表达式尽可能移至靠近数据源的位 阅读全文
posted @ 2023-03-18 11:38 Solong1989 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1、数据倾斜原因 数据倾斜主要表现在,map /reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长。这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce节点所处理的数据量比其他 阅读全文
posted @ 2023-03-18 11:30 Solong1989 阅读(112) 评论(0) 推荐(0) 编辑
摘要: Hive:select count(distinct)优化以及hive.groupby.skewindata 原文链接:https://juejin.cn/post/6926536667877048333 问题引入 数据分析师小A接到需求,需要统计当日各个省份20岁以下的日活跃用户数(去重统计use 阅读全文
posted @ 2021-07-01 16:54 Solong1989 阅读(956) 评论(0) 推荐(0) 编辑
摘要: 1、Application application(应用)其实就是用spark-submit提交的程序。一个application通常包含三部分:从数据源(比方说HDFS)取数据形成RDD,通过RDD的transformation和action进行计算,将结果输出到console或者外部存储。 2、 阅读全文
posted @ 2019-08-07 20:22 Solong1989 阅读(1508) 评论(0) 推荐(0) 编辑
摘要: Sprak参数有两种设置方式,一种是在代码中直接设置,一种是在提交任务时设置。代码中的优先级高于提交任务。 1、num-executors 参数说明:该参数用于设置Spark作业总共要用多少个Executor进程来执行。Driver在向YARN集群管理器申请资源时,YARN集群管理器会尽可能按照你的 阅读全文
posted @ 2019-04-19 14:18 Solong1989 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: 1、Xgboost对GBDT的优化 算法层面 1.XGB增加了正则项,能够防止过拟合。正则项为树模型复杂度,通过叶子节点数量和叶节点的值定义树模型复杂度。 T为叶子节点的数量,这T个叶子节点的值,组成了T维向量ω。 2.XGB损失函数是误差部分是二阶泰勒展开,GBDT 是一阶泰勒展开。因此损失函数近 阅读全文
posted @ 2019-04-16 16:52 Solong1989 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 看了很多博文,一谈到梯度下降,大多都在画图,类比“下山”。对于一开始想要了解“梯度下降”是个什么玩意儿时,这种类比法是非常有助于理解的。但是,当我大概知道了梯度下降是什么东西之后,我就好奇了,梯度下降究竟是怎样寻找到模型的最优参数的?不能一想到梯度下降,脑海中就只有“下山”的画面,“下山”不是目的, 阅读全文
posted @ 2018-11-05 11:53 Solong1989 阅读(1413) 评论(0) 推荐(0) 编辑
摘要: 1.极大似然估计中取对数的原因: 取对数后,连乘可以转化为相加,方便求导; 对数函数ln为单调递增函数,不会改变似然函数极值点。 2.统计学三大相关系数对比: pearson积差相关系数,计算连续性变量才可采用;Spearman秩相关系数或Kendall等级相关系数,适合于定序变量或不满足正态分布假 阅读全文
posted @ 2018-10-22 16:09 Solong1989 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 在使用pandas对DataFrame进行赋值操作时,会出现一个看似莫名巧妙的告警信息: SettingWithCopyWarning:A value is trying to be set on a copy of slice from a DataFrame Try using .loc[row 阅读全文
posted @ 2018-10-22 15:58 Solong1989 阅读(7949) 评论(0) 推荐(0) 编辑