1. 不要把rdd或者df展示出来,只有第一遍跑流程的时候看看中间结构,后面就只保存不展示。
2. 尽量使用spark.sql,而不是rdd。sql处理groupby会快很多。基本上10min的rdd,sql只需2min。所以基本除了复杂函数,都用sql解决。
3. reduceByKey 在大数据集上比groupByKey快很多。 深入理解groupByKey、reduceByKey - 简书
【Spark系列2】reduceByKey和groupByKey区别与用法_spark groupbykey和reducebykey-CSDN博客
链接: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
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
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从入门到精通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)) //按单词和一组合
class_weight:
使用class weight和sample weight处理不平衡问题-CSDN博客
样本不均衡处理:
样本不均衡的处理(Xgboost,pytorch及tensorflow) - 知乎
xgb自定义损失函数:XGB自定义损失函数
mlp自定义损失函数demo:https://dev.sankuai.com/code/repo-detail/~zhangkaishun/mlp_plugins_demo/file/detail?branch=refs%2Fheads%2Fmaster&path=plugins%2Fsrc%2Fmain%2Fjava%2FFocalLoss.scala
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中的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中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的PR(Pull Request)提示冲突无法merge合并的解决方案:https://www.cnblogs.com/xxcanghai/p/12160556.html
Git合并远程分支:
Git 合并远程分支-CSDN博客
git删除远程分支文件:
git 删除远程分支文件-CSDN博客
基础教程: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博客
输出文件指定行:awk 'NR>=5 && NR <=8' file.txt