自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(270)
  • 资源 (2)
  • 收藏
  • 关注

原创 pyspark 使用函数regexp_replace 替换竖线|

pyspark 使用函数regexp_replace 替换竖线|

2023-01-30 16:38:15 514 1

原创 基于Python版本的golang哈希编码

Python 和GO版本哈希hash编码。

2022-10-10 11:40:00 468 1

原创 pyspark dataframe分位数计算

pyspark dataframe分位数计算

2022-08-04 17:09:22 1541 2

原创 hive解析json数组

hive sql 解析json数组

2022-07-05 11:03:13 313

原创 crontab失效怎么解决

crontab失效怎么解决 1. 查看是否有安装crontab 2. rpm -qa|grep crontabs如何没有安装则sudo yum install -y crontabs 3. 查看当前crontab状态 systemctl status crontab4. 重启 systemctl restart crontab5. 在crontab调度的bash脚本头部添加6. source /etc/profile7. source ~/.bashrc......

2022-06-29 10:56:16 897

原创 crontab hadoop spark 不生效

单独执行含有hadoop命令脚本生效,但是放到crontab里执行不行。1、检查crontab是否启动 systemctl status crond 、 systemctl start crond2、如果生效了,很可能是环境问题 需要加上环境 source /etc/profile source ~/.bashrc......

2022-06-29 10:53:15 314

原创 mac book pro m1安装xgboost

mac book pro m1安装xgboost

2022-06-07 12:40:18 457

原创 pyspark explode时增加序号

对于Spark2.4+,可以使用带高阶函数 transformation的explode。from pyspark.sql import functions as Fdemo.select('pois').withColumn("pois2", F.explode(F.expr("""transform(pois,(x,i)-> struct(x as poi,(i+1) as poi_rn))""")))\.select('pois2.*','pois').show(truncate=Fa

2022-05-20 15:40:29 490

原创 pyspark.sql之实现collect_list的排序

通过利用pyspark.sql.Window实现collect_list的排序window_ = Window.partitionBy("userid").orderBy("stay_start_time")df42= df3.join(df41,'userid','inner').withColumn('lng_lat',concat_ws(',',col('stay_lng'),col('stay_lat')))\.withColumn("lng_lats",F.collect_list("ln

2022-05-16 16:27:38 1065

原创 python dataframe计算日期对应的周数或者星期几

import pandas as pdimport datetimea=['20211001','20211002','20211003','20211003','20211004']df=pd.DataFrame(a,columns=['t'])df['t2'] = pd.to_datetime(df['t'])df['day_of_week'] = pd.to_datetime(df['t']).dt.weekdf['week'] = df['t2'].dt.weekdaydf['wee.

2021-11-17 15:52:30 5215 1

原创 模型训练的auc和loss比较问题

AUC 反应的是正样本在负样本前面的概率问题,AUC越大,说明正样本更靠前。LOSS 反应的是真实值与预测值之前的差值,就是损失,LOSS越小,说明预测值越接近于真实值。在二分类问题中,LOSS越小,说明预测的样本预测值两极占比高(负样本更接近0,正样本更接近1)例如:两个模型A B,一个auc高一些,但log也大一些。另一个auc低,但log也低。A模型AUC高,说明它在判断哪个更好的方面,有着更好的表现,但是可能它比较“保守”,预估分都接近于正负样本的比例值(比如ctr=0.1,则预估分接近0

2021-11-04 12:23:29 2925

原创 Python 多线程读取多文件

# -*- coding:utf-8 -*-import pandas as pdimport osfrom concurrent.futures.thread import ThreadPoolExecutorfrom concurrent.futures._base import as_completeddef get_single_data(cur_path): return pd.read_csv(cur_path)def get_all_data(file_dir):.

2021-09-17 19:37:20 1941

原创 python 读取目录下多个文件方式对比

1.速度最快def get_sample(file_dir): all_file_list = os.listdir(file_dir) data_frame_list = [] for single_file in all_file_list: cur_path = os.path.join(file_dir, single_file) if "_SUCCESS" in cur_path or "_COPYING_" in cur_path:

2021-09-16 20:17:11 353

原创 pyspark jieba 集群模型 对文本进行切词

如果是单个机器或者是local模式,简单的方式就是在节点上pip install jieba就完事了。但是在集群上肯定不能安装啊。怎么办呢??spark可以使用自己的镜像。比如本地有一个conda的envs的环境。可以将这个打包,在提交任务的时候可以分发到各个executor上。spark-submit \--name seg_tags \--queue root.niubi_queue\--deploy-mode cluster \--driver-memory 10g \-.

2021-09-09 16:47:26 346

原创 keras使用class weight和sample weight处理不平衡问题

在机器学习或者深度学习中,经常会遇到正负样本不平衡问题,尤其是广告、push等场景,正负样本严重不平衡。常规的就是上采样和下采样。这里介绍Keras中的两个参数class_weight和sample_weight1、class_weight 对训练集中的每个类别加一个权重,如果是大类别样本多那么可以设置低的权重,反之可以设置大的权重值2、sample_weight 对每个样本加权中,思路与上面类似。样本多的类别样本权重低例如 model.fit(class_weight={0:1.,1:

2021-08-03 14:38:40 1979 2

原创 smote 采样

对于正负样本严重不平衡的训练集,可以采用下面的办法进行采样# 使用sklearn的make_classification生成不平衡数据样本from sklearn.datasets import make_classification# 生成一组0和1比例为9比1的样本,X为特征,y为对应的标签X, y = make_classification(n_classes=2, class_sep=2, weights=[0.9, 0.1], n_i...

2021-07-23 12:30:19 1550

原创 mac python环境搭建

一、对于Mac 默认是pip3,为了方便,同时安装pip2,脚本是get-pip.py。然后执行相应的sudo python get-pip.py分别使用pip 和pip3因为是pycharm上切换的两个环境,所以在使用时分别进行下载安装包。二、对于报错ERROR: Command errored out with exit status 1:可以安装pandas和numpy,但是安装scipy和sklearn报错最终解决方式:pip install --upgrade

2021-07-07 18:56:33 281

原创 scala 内部类使用小细节

对于Java 外部类调用内部类不用担心类别问题。比如outer1.foo(inner2)但是对于Scala 需要进行类型投影 也就是outer1.foo(inner2)是执行不了的,需要对foo(in:Outer#Inner)

2021-03-01 11:16:27 102

原创 链表翻转 全翻转 部分翻转

public class ListReverse {class Node {int val;Node next;public Node(int val) {this.val = val;}}//链表翻转//递归public Node reverse(Node head) {if (head == null || head.next == null) return head;//后续遍历Node last = reverse(head.next);//将头节点放在其子节点的后面h

2020-12-20 14:49:07 153

原创 回溯算法 全排列和N皇后

import java.util.LinkedList;import java.util.List;/**Author: ***Date: 2020/12/18 14:52Version 1.0*/public class AllSort {static List<List> res = new LinkedList<>();public static void main(String[] args) {int[] nums = {1, 2, 3};permu

2020-12-18 17:03:48 105 1

原创 hive stage job等划分

1.通过explain可以清晰的看到stage划分。常见的是各个算子(join groupby orderby 等有shuffle)或者是一些filter where等。2.基于上面的1就可以划分出stage。但是有些stage并不会执行,或者说经过优化器后的filter where会在其他stage里进行。这样,有些stage就是空的stage。3.基于stage划分,如何确定job数量(总数就是stage数量)。主要是看哪些stage会执行。只有需要执行的stage才会提交yarn,生成具体的j

2020-12-18 10:38:50 3706

原创 spark shuffle

Shuffle 是数据从map端到reduce数据流转的一种形式,当发生join、groupby等操作的时候,父类数据将会根据key进行shuffle write当本地,然后reduce根据相同key进行shuffle read,这样就产生了同一个父RDD可能存在于多个子RDD中。在这个过程中主要有两种shuffle形式,hashshuffle是很早之前的一种方案,在map段进行shuffle write的时候,会产生大量的小文件,这会造成大量的IO开销,很容易造成找不到文件而报错,这时只能重跑stag

2020-12-01 09:41:44 78

原创 DNN反向传播计算过程

根据初始化参数,正向计算各个神经元输出1.使用relu作为激活函数,如果输入值是小于等于,偏导将会是0,也就是不会更新梯度;如果输入是大与0,梯度是1以LR为例,假设使用relu作为激活函数,继续学习。很明显 如果权重初始化为0 这个神经元将不会得到更新 (更新公式:w1=w1-a*w1梯度)2.如果激活函数是sigmoid,这样即使初始化权重全部是0,但梯度不会全部是0(sigmoid梯度=sig(1-sig))综上,对深度网络如果某一层初始化权重全部是0,且使用了relu作.

2020-11-11 17:41:51 243

原创 hive通过union all 实现 join

对于join操作,需要shuffle,在reduce端进行。所以对于数据量超大,比如两个表记录条数均在亿级别的,往往会导致计算时间过长。那如何可以高效的完成呢?就是将关联操作尽量的迁移到map端。具体做法:selectuid,COALESCE(a,null) as a,COALESCE(b,null) as bfrom(select uid, a,null as b from table1 -- uid 唯一union allselect uid , null ...

2020-11-07 21:46:13 802 1

原创 rdd.cache()和rdd.persist(Storage.MEMORY_ONLY)

rdd.cache()和rdd.persist(Storage.MEMORY_ONLY)cache 底层也是调用了persist,但是当内存不足时 persist会吃就会到磁盘,但是cache不会。所以在绝大数场景下最好使用persist

2020-11-07 21:30:40 237

原创 python 创建2维数组

对于初学者,python提供了方便的数组创建方式1.res=[[1] *3 ] *3[[1,1,1],[1,1,1],[1,1,1]]看起来没什么问题,但是这种方式的创建 实际上左边数组的3次复制(指针、地址) 在修改任意一个元素时,其他对应位置上的元素也会变动2.res=[[1] * 3 for i in range(3)] 这种方式 每个内部数组,会在新的迭代中新建,也就是说会开辟新的指针/地址。在任意修改一个元素时,只会作用当前元素。3.也可以使用np创建数组res=np.o.

2020-10-28 10:19:56 944

原创 记 hive增加字段不完全生效

使用公司内部中控平台,对已有hive在最后位置增加一个字段,hive文件格式是parquet,增加的字段类型是array<string>。通过spark读取文件,确定已经写入新增的字段值。通过中控平台上的hivesql查询,该字段一直是空null。通过中控平台上的sparksql查询,报错(之前的数据不存在)。解决办法:1.删掉该新增字段,发现中控平台报错不了。放弃2.对刚才写入的分区,删掉并重建该分区。(外部表)。问题解决。坑。。。。...

2020-10-27 15:56:08 554

原创 hive MapReduce Timed out after 600 secs

mapred.task.timeout参数说明 该参数默认为 600秒(60000 ms) 。 如果map或reduce方法在600秒内没有返回或,TaskTracker将认为相应的task已经死亡。 并向JobTracker汇报错误。JobTracker会kill 当前task,并在其他节点上重新执行它。如果多次尝试均失败,那整个job就失败返回可以调节该参数在当前任务中的数值,set mapred.task.timeout=1800000; (60000*30) 300min...

2020-10-21 09:33:01 1991

原创 hive sql 实现有序集合

select uid,split(regexp_replace(concat_ws('\,',sort_array(collect_list(time_vid))),'\\d+_',''),',') as vidsfrom(select uid,vid,time,concat_ws('_',cast(time as string),cast(vid as string)) as time_vid from table)t1 group by uid

2020-10-12 10:43:00 634

原创 spark 加载tensorflow model注意事项

1.对于tensorflow训练后的模型需要查看模型的网络结构 在模型保存路径下执行 saved_model_cli show --dir=./ --all图中的name都是要spark加载时创建模型结构时用到的2.spark加载tf的模型

2020-09-18 10:30:46 548

原创 spark tensorflow 整合时出现的问题

使用spark分布式环境,训练和加载tensorflow。通常会将加载的模型广播出去,这个时候涉及两个问题:1.加载的模型的路径是hdfs,tensorflow.SavedModelBundle的load使用的是本地路径,所以需要使用sc.addFiles("",true),这个样保证hdfs数据get到环境路径下(本地路径);2.同时,加载的模型往往需要广播到各个节点,但是这个时候也容易报错,可以采用在udf内部或者各个partition中加载模型。...

2020-07-30 14:07:43 467 2

原创 spark UDF 问题

ERROR yarn.ApplicationMaster: User class threw exception: org.apache.spark.sql.AnalysisException: Resolved attribute(s) item_id#5636 missing from .... Attribute(s) with the same name appear in the operation: item_id. Please check if the right attribute.

2020-07-22 18:04:59 475

原创 HMM原理与新词发现

1.首先是利用已有的分词预料库,这样经过统计得到BMES的初始概率,已经每个单词的在各个BMES下的发射概率,以及BMES之间的转移概率。2.给定一句话,将单词完全切分,利用动态规划,得到概率最大的切词方式。3.经过2的切词,得到了分词数组,然后可以与语料库中的关键字比对,将新增的关键字经过人工检查后加入。...

2020-05-14 10:36:42 759 3

原创 mysql 时间处理 -常用

时间差---秒SELECT floor((TIME_TO_SEC(end_time)- TIME_TO_SEC(start_time))/60) FROM `t_ppush_task` where areas=44 order by push_time desc limit 100;时间-字符串SELECT DATE_FORMAT(create_time,'%Y%m%d%H'...

2020-01-10 10:10:13 180

原创 ROC曲线和AUC面积理解

https://blog.csdn.net/program_developer/article/details/79946787

2019-11-25 18:02:52 197

原创 计算当前时间观影并活跃 在未来只观影短视频

下面代码是伪代码,只是为了提供思路。具体需要重新计算(部分sql存在问题)selectcount(distinct uid ) as cntfrom(selectt1.uid,t2.p_day,sum(short_video ) asshort_video ,min(case when t1.p_day=t2.p_day then 0 else 1 end)as t...

2019-11-22 10:27:29 134

原创 spark开发调优,常见参数配置,大全

https://blog.csdn.net/vinfly_li/article/details/79415342

2019-11-14 11:16:51 270

转载 根据权重生成随机数

想设计一个算法在一个集合中随便选一个数,但是选出来这个数的概率要和这个数的大小成正比。也就是说希望越大的数被大概率的选出来。这个问题更清晰点儿描述是,有一组数字,他们都带有不同的权重,现在要从中“随机”抽一个数字,但是抽到某个数字的概率要正比于他的权重。假设这个集合中的元素和其对应权重为{‘A’:50,‘B’:10,‘C’:100,‘D’:3,‘E’:60,‘F’:25}。方法一如果随...

2019-10-22 16:59:30 1229

原创 spark hive中的cube 、roll_up和grouping sets

hive简单总结cube(a,b,c)=>就是魔方,就是groupby()的a,b,c,ab,ac,bc,abc结果的union all用法:group by a,b,c with cuberollup(a,b,c)=>就是卷曲来,就是groupby() 的a,ab,abc的union all用法:group by a,b,c with rollupgroupin...

2019-10-21 16:36:37 704

转载 Linux中文本操作 vi/vim基础操作

Linux vi/vim所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。相关文章:史上最全Vim快捷键键位图 — 入门到进阶什么是 vim?Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转...

2019-10-21 10:29:20 136

chinese-llama-plus-lora-33b(2)

chinese-llama-plus-lora-33b(2)

2023-10-12

springMVC-Hibernate-Oracle-master.zip

springMVC-Hibernate-Oracle进行开发,一个小的demo 大家可以使用

2018-01-08

jgx565621106-WangYeJinDuTiao-master.zip

关于进度条的实验,可以使用部分功能进行修改,欢迎使用

2018-01-08

空空如也

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

TA关注的人

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