- 博客(23)
- 收藏
- 关注
原创 MySQL基础
DDL操作delete from table where 条件;truncate table table;区别:1.delete可以加条件2.truncate删除,整个表一起删了,然后建一张空表,效率高一些,delete是一条数据一条数据删除的3.假如要删除的表中有自增的长列,如果用delete删除,再插入数据,自增长列的值从**断点(比如上次从id为5的删除,则下次新增就从id就从6开始)**开始,truncate的话从1开始4.delete删除有返回值,truncate没有5.trunc
2022-05-17 01:30:01
3940
1
原创 sparkSQL的三种join(broadcast join、shuffle hash join和sort merge join)以及AE
每天一个小例子:spark中,1.left semi join (左半连接)的意思就是,JOIN 子句中右边的表只能在 ON 子句中设置过滤条件,右表中有重复的数据会自动跳过,具体详见:https://blog.youkuaiyun.com/happyrocking/article/details/798850712. left anti join含义:left anti join 是 not in/not exists 子查询的一种更高效的实现,相当于not in或者not exists,left anti
2022-04-07 15:08:56
7891
原创 java-web
SpringMVCmodel:数据业务逻辑,数据持久化view:视图层,比如html和jsp,在浏览器中显示的controller:控制层,就是servlet,一般在web.xml文件中设置,作用就是服务器接受请求和响应回服务器,这个servlet是伴随着server启动,servlet有三种生命周期,init,service,destroy流程就是:用户通过视图层发送请求给到服务器端,在服务器端请求被controller层接收,controller通过调用相应的model层处理请求,然后将请求返回
2022-04-06 22:25:16
426
原创 使用zk的分布式锁实现高可用(curator的框架的使用)
引读:实现服务的高可用是防止单点故障的最好方式,因此许多大数据框架包括hadoop,spark都有ha机制,那么实现高可用的方式有许多,但是于我而言,最核心的方式其实就是分布式锁的运用。正题:使用curatorFramework是实现分布式锁的一个比较好的框架,是apache的顶级项目,内部提供了几种锁,包括可重入和非可重入等,适合不同的场景。这次我们介绍一下比较常用的可重入锁的设计高可用的方案。设计架构:启动一个调度线程进行锁的争抢,每次调度线程抢到锁之后,判断自己是否持有锁,如果未持有则尝试抢占分布
2022-04-01 01:07:58
886
原创 java死锁简单案例
1、线程死锁的概念:我们都知道,线程在执行的过程中是占着CPU的资源的,当多个线程都需要一个被锁住的条件才能结束的时候,死锁就产生了!还有一个经典的死锁现象:经典的“哲学家就餐问题”,5个哲学家吃中餐,坐在圆卓子旁。每人有5根筷子(不是5双),每两个人中间放一根,哲学家时而思考,时而进餐。每个人都需要一双筷子才能吃到东西,吃完后将筷子放回原处继续思考,如果每个人都立刻抓住自己左边的筷子,然后等待右边的筷子空出来,同时又不放下已经拿到的筷子,这样每个人都无法得到1双筷子,无法吃饭都会饿死,这种情况就会产
2022-03-16 00:47:41
994
原创 aop原理浅析
aop:java的动态代理,对于oop这种设计理念,aop能够更好地减少代码的冗余,并且相比于纵向的功能增加,aop能够提供横向功能的扩展。纵向的功能的增加其实很好理解,就是几个对象所用代码有类似,但是又不是完全一样,这时我们可以通过一个父类,把类似代码归为一个方法,这样当不同对象继承父类时,调用相同逻辑的方法并加上自身的不同的业务代码即可。因为随着软件开发的系统越来越复杂,工程师认识到,传统的OOP程序经常表现出一些不自然的现象,核心业务中总掺杂着一些不相关联的特殊业务,如日志记录,权限验证,事务控制
2022-03-13 01:17:23
510
原创 go安装出现包找不到的情况
go安装重复,并且由于设置了环境变量,导致go不知道要去哪个目录下找到该go文件解决方式:删除一个go,重新配置环境变量
2021-09-24 16:36:15
2268
原创 py4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSpar
py4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.: java.io.FileNotFoundException: File file:/Users/didi/Desktop/IdeaProjects/spark_learn/log does not exist at org.apache.hadoop.fs.RawLocalFileSy
2021-09-18 15:37:08
3367
1
原创 python上下文管理方法,可以计算每一块代码所运行的时间(魔法方法)
import timeclass timer(object): def __init__(self,info): self.info = info self.start_time = None print("info") # 这个函数就是要配合with使用,with完之后,在局部中计算时间,自动回开始,不用在代码的开始使用这个方法,这个就是魔法方法的好处 def __enter__(self): self.start_
2020-09-15 17:24:08
307
原创 python存储数据到mysql--针对dataframe格式下的
这个导入时间大概在5秒左右,因为是一条一条的导入的(50000条数据)import pymysqlconn = connect((host='主机名', port='端口号', user='用户名', password='密码', database='数据库名', charset='utf8')# 获取游标con_cursor = conn.cursor()# 假设存入50000条数据for num in range(1,50000): try: sql = 'insert into t
2020-09-08 12:32:03
420
原创 lightgbm实战-二分类问题(贝叶斯优化下调参方法)
# use bayes_optfrom sklearn.datasets import make_classificationfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import cross_val_score,KFoldfrom bayes_opt import BayesianOptimizationimport numpy as np# 产生随机分类数据集,10个特征,
2020-09-04 17:17:13
7819
5
原创 神奇的strip
haha = 'abcd45a12cas'print(haha.strip('abcdnak5sndksa'))# 从左往又开始(或者从右往左),判断a中是否含有'abcdnak5sndksa'这些字符,比如说含有'a',那么haha删除掉'a',以此类推,直到4,因为'abcdnak5sndksa'里没有'4',停止; 即使haha里面包含了'5'、'a',也不会删除掉。然后从右往左,就这样一直把'c','a','s'全部删除掉。[output]:45a12...
2020-09-02 17:41:56
177
原创 pandas---groupby高阶transform,filter,apply,agg方法
# 一般运用了groupby函数order_prior.head(100).
2020-08-20 09:49:45
2232
原创 @proper装饰器
@proper装饰器就相当于用同一个函数,但是由于不同的装饰器,导致有了不同的功能 # 这个函数就是get_now() @property def now(self): return self._x_now # 这个函数就是set 可以直接 rebuymodel().now = 0.75 要查看值是多少的话,就直接rebuymodel().now @now.setter def now(self, now_value): .
2020-08-10 15:31:26
208
原创 python--银行反欺诈模型--建立模型和模型检验
from sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import train_test_split,KFold,cross_val_predictloans=pd.read_csv("cleaned_loans2007.csv")lr=LogisticRegression()cols...
2020-05-14 22:52:11
1365
原创 python--银行反欺诈模型--数据预处理
import pandas as pdimport numpy as nploans_2007=pd.read_csv("LoanStats3a.csv",skiprows=1)half_count=len(loans_2007)/2#len()可以计算出样本总数half_countloans_2007=loans_2007.dropna(thresh=half_count,axis=1...
2020-05-14 22:51:39
689
原创 python--双十一淘宝商家营销策略分析
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport warnings#忽略红色的警告warnings.filterwarnings("ignore")from bokeh.plotting import figure,show,output_filefrom bokeh.models...
2020-05-14 22:12:06
567
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人