数据抽取提速:

1. 不要把rdd或者df展示出来,只有第一遍跑流程的时候看看中间结构,后面就只保存不展示。

2. 尽量使用spark.sql,而不是rddsql处理groupby会快很多。基本上10minrddsql只需2min。所以基本除了复杂函数,都用sql解决。

3. reduceByKey 在大数据集上比groupByKey快很多。 深入理解groupByKey、reduceByKey – 简书

【Spark系列2】reduceByKey和groupByKey区别与用法_spark groupbykey和reducebykey-CSDN博客

Python:

链接:datetime — 基本日期和时间类型 — Python 3.12.0 文档

datetime.datetime.now()

返回表示当前地方时的 date 和 time 对象。

datetime.timedelta(days=1)

timedelta 对象表示两个 date 或者 time 的时间间隔。

Pandas-排序函数sort_values()-CSDN博客

pandas排序

pd concat:PANDAS 数据合并与重塑(concat篇)_pandas.concat-CSDN博客

pd drop:python进行数据处理——pandas的drop函数_python drop-CSDN博客

pd mean:Python Pandas dataframe.mean()用法及代码示例 – 纯净天空

pandas创建dataframe:创建Pandas DataFrame的6种方法 – 知乎

list数据转为dataframe数据:Pandas将列表(List)转换为数据框(Dataframe)_python list 转dataframe-CSDN博客

dataframe和pandas:https://blog.csdn.net/weixin_43469047/article/details/104188643

mac上python安装:http://nidele.com/code/python/how-to-setup-python3-in-Mac/

shift函数:https://blog.csdn.net/brucewong0516/article/details/80157639

reset_index删除原索引行:https://blog.csdn.net/liyazhou0215/article/details/70160115

tail显示数据倒数几行:pandas中的tail()方法的使用说明_pandas tail-CSDN博客

pandas loc和iloc:Pandas中loc和iloc函数用法详解(源码+实例)-CSDN博客

pandas与numpy区别:Pandas与NumPy区别以及dataframe和ndarray对象转换_ndarray dataframe-CSDN博客

pandas确实值与空值处理:https://blog.csdn.net/lwgkzl/article/details/80948548

SQL:

https://www.cnblogs.com/WeiKing/p/11790871.html

SQL CREATE VIEW的用法-CSDN博客

CREATE VIEW “VIEW_NAME” AS “SQL 语句”

create temporary view OLD_T15_USERS as select

temporary临时存在的表/视图,只在当前连接中可见。当前数据库连接关闭,mysql会自动删除临时表并且释放所有的空间。

drop view if exists

获取31-75天内下单的末单用户user_id列表。

select 语句中 if 的用法 – 知乎

Mysql coalesce()函数认识和用法-CSDN博客

select coalesce(a,b,c);

如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。

SQL 连接(JOIN) | 菜鸟教程

insert overwrite table 表名

插入覆盖数据。

SQLServer随机数的获取_51CTO博客_sqlserver 随机数

可以直接运行select rand() 获取0~1之间的float型的数字,类似的,如果想获得例如1~100之间的整数随机数可以运行 select round(100*rand(),0)

SQL之CASE WHEN用法详解 – 知乎

SQL中的distinct的使用方法_sql distinct-CSDN博客

distinct用来查询不重复记录的条数,即用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段。

SQL中 group by 1, order by 1 语句是什么意思-CSDN博客

group by, order by 后面跟数字,指的是 select 后面选择的列(属性),1 代表第一个列(属性),依次类推。

注意:这边从1开始数,而不是0。

SQL 语句中, asc 指定列按升序排列,desc 指定列按降序排列。

SQL中的cast()函数_sql cast-CSDN博客

CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。

例如:cast(b.recent_day7_visit_times as bigint)

hive sql 聚合函数:Hive SQL 内置聚合函数 | Hive SQL 教程 – 盖若

concat函数:

SQL Server Concat()函数 -SQL Server教程

concat_ws函数:

SQL CONCAT_WS()函数 -SQL教程

row_number用法:SQL Server中row_number的用法-CSDN博客

percentile_approx:【数据库】Hive SQL–如何使用分位数函数(percentile)_hive percentile-CSDN博客

get_json_object:https://blog.csdn.net/qq_34105362/article/details/80454697

Spark:

https://www.cnblogs.com/yyy-blog/p/spark-sql.html

createOrReplaceTempView:创建临时视图,此视图的生命周期与用于创建此数据集的[SparkSession]相关联。

createOrReplaceTempView(): 创建或替换本地临时视图。

createGlobalTempView:创建全局临时视图,此时图的生命周期与Spark Application绑定。

ROW FORMAT DELIMITED FIELDS

TERMINATED BY ‘\t’ 列分割用’\t’

STORED AS ORC 列式存储,占用空间最小,非常适合用来做数仓

spark rdd介绍:Spark RDD是什么? – 知乎

https://juejin.cn/post/6844903826953076750

flatMap:spark中flatMap函数用法–spark学习(基础)_spark flatmap-CSDN博客

flatMap :https://blog.csdn.net/zlbingo/article/details/113118584

filter:Spark的Dataset操作(二)-过滤的filter和where_spark where-CSDN博客

repartition:Spark中repartition和coalesce的用法 – 简书

parquet:Spark基础:读写Parquet – 知乎

sc.parallelize:spark使用parallelize方法创建RDD_sc.parallelize-CSDN博客

Pyspark读取parquet数据过程解:https://www.w3xue.com/exp/article/20203/79644.html

Spark-SQL之DataFrame操作大全_dataframe orderby-CSDN博客

Spark-SQL之DataFrame操作大全

https://www.cnblogs.com/BlueSkyyj/p/9640626.html

Spark-SQL常用命令

pyspark机器学习实战:

pyspark在机器学习中实战小练 – 知乎

spark文件读取:https://km.sankuai.com/page/459578031

pyspark RDD 一行转多行:

https://blog.csdn.net/qq_36079077/article/details/105430128

hive:

UDF创建

常用查询:https://km.sankuai.com/page/28277531

Hive之UDFs(User-Defined Functions )-腾讯云开发者社区-腾讯云

CREATE TEMPORARY FUNCTION datekey2date AS ‘com.sankuai.meituan.hive.udf.DateKey2Date’

创建临时函数

详解ROC和AUC计算过程:

详解ROC/AUC计算过程_计算roc-CSDN博客

dataframe直接保存到hive表中:

如何把dataframe直接保存到hive表中?_dataframe到hive-CSDN博客

spark-scala

基础语法:Spark从入门到精通2 — Scala基础语法_spark语言基本语法-CSDN博客

取行中制定列:Spark 之 Row:Spark 之 Row_rowapl-CSDN博客

Scala map中下划线_._2的含义:Scala map中下划线_._2的含义_.map(_._2)-CSDN博客

val wordAndOne: RDD[(String, Int)] = words.map((_, 1)) //按单词和一组合

xgb优化:

class_weight:

使用class weight和sample weight处理不平衡问题-CSDN博客

样本不均衡处理:

样本不均衡的处理(Xgboost,pytorch及tensorflow) – 知乎

xgb自定义损失函数开发:

xgb自定义损失函数:XGB自定义损失函数

mlp自定义损失函数demohttps://dev.sankuai.com/code/repo-detail/~zhangkaishun/mlp_plugins_demo/file/detail?branch=refs%2Fheads%2Fmaster&path=plugins%2Fsrc%2Fmain%2Fjava%2FFocalLoss.scala

hope组件开发:

demo:https://mlp.sankuai.com/ide/67071080/

esmm实验:https://mlp.sankuai.com/ml/#/graph/67065799/version/0?name=rtb_%E7%B2%BE%E6%8E%92_esmm%E5%AE%9E%E9%AA%8C

pip安装:

https://zhuanlan.zhihu.com/p/335220647

tensorflow:

Tensorflow中的Placeholder及用法:Tensorflow中的Placeholder及用法 – 知乎

FixedLenFeature 使用:FixedLenFeature 使用_tf.fixedlenfeature-CSDN博客

tensorflow中解析Example数据 tf.parse_example:tensorflow中解析Example数据 tf.parse_example-CSDN博客

tf.nn.sigmoid_cross_entropy_with_logits用法:tf.nn.sigmoid_cross_entropy_with_logits_tf.sigmoid_cross_entropy_with_logits-CSDN博客

tf.losses.log_loss()用法:Tensorflow 中的损失函数 —— loss 专题汇总 – 知乎

tf.metrices.auc用法:tf.metrices.auc源码解读 – 知乎

tf.feature_column.numeric_column与tf.feature_column.categorical_column_with_vocabulary_list用法:

Tensorflow.feature_column的总结-CSDN博客

tf.feature_column.embedding_column用法:构建分布式Tensorflow模型系列:特征工程 – 知乎

当某些特征的类别数量非常大时,使用indicator_column来把原始数据转换为神经网络的输入就变得非常不灵活,这时通常使用embedding column把原始特征映射为一个低维稠密的实数向量。同一类别的embedding向量间的距离通常可以用来度量类别直接的相似性。

tf.layers.dense用法:tf.layers.dense()的用法-CSDN博客

tf.estimator.export.PredictOutput用法:《Estimator工程实现》系列三: 模型导出示例_estimator 导出模型-CSDN博客

pytorch:

pytorch中squeeze()和unsqueeze()函数介绍:【学习笔记】pytorch中squeeze()和unsqueeze()函数介绍-CSDN博客

nn.linear():

PyTorch的nn.Linear()详解_nn.linear()-CSDN博客

torch.mmh和torch.mul:torch.mul() 和 torch.mm() 的区别_torch mul-CSDN博客

torch.linspace:PyTorch中linspace的详细用法_pytorch linspace-CSDN博客

torch.where(condition, x, y):torch.where(condition, x, y) – 知乎

python中list-numpy.array-torch.tensor互相转换: python中list-numpy.array-torch.tensor互相转换 – CodeAntenna

torch.sum():torch.sum()的用法-CSDN博客

git:

在Git的PR(Pull Request)提示冲突无法merge合并的解决方案:https://www.cnblogs.com/xxcanghai/p/12160556.html

Git合并远程分支:

Git 合并远程分支-CSDN博客

git删除远程分支文件:

git 删除远程分支文件-CSDN博客

scala:

基础教程:Scala 基础语法 | 菜鸟教程

在 Scala 中,使用关键词 “var” 声明变量,使用关键词 “val” 声明常量。

SparkSQL中DataFrame的getAs和getString函数解析:[转]SparkSQL中DataFrame的getAs和getString函数解析_spark sql getas_楓尘林间的博客-CSDN博客

Scala中的some:Spark(八) scala中的Option、Some、None – 简书

Scala map中下划线_._2的含义:

Scala map中下划线_._2的含义_.map(_._2)-CSDN博客

linux:

输出文件指定行:awk ‘NR>=5 && NR <=8' file.txt