自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(157)
  • 收藏
  • 关注

原创 数据分析(numpy基础)

Numpy + Scipy + Pandas + Matplotlib数值计算 科学应用 数据清洗 数据可视化一、Numpy概述1.Numpy是什么?1)基于C语言和Python接口的数值算法库;2)开源免费;3)弥补了Python语言在数值计算方面的短板;4)作为常用科学计算工具的底层支撑;2.Numpy的历史1)1995年,Numeric作为Python语言数值计算扩展;...

2018-12-10 17:34:50 551

原创 hadoop构建数据仓库(一)

一、数仓的定义 数据仓库之父 Bill Inmon 1991 Buildin the Data War ouse 书中首次提出了被广为认可 数据仓库定义。 INmon将数据仓库描述为一个面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理者的决策过程。1、面向主题 传统的操作型系统是围绕组织的功能性应用进行组织的,而数据仓库是面向主 题的。主题是一个抽象概念,简单地说就是与业务相关的数据的类别,每个主题基 本对应一个宏观的分析领域。数据仓库被设计成辅助人们分析数

2021-01-18 18:42:48 668

原创 银行从业资格考试心得

我用了半个月的时间,从没接触的小白到考过银行从业资格证。每天只有下班的时候才有时间看书,如果直接看书,效率低下,建议直接刷题。 我用了半个月的晚上,刷了4000道 法律法规和个人理财的题。买的真题和押题试卷一共做了16套,终于考过了。如果只是为了证书,切记看书,刷题!刷题!刷题!...

2020-11-28 16:57:11 734

原创 数据核对思维

新老库切换的数据核对1、明确核对的内容及生产中用到的关键字段,核对的时候重点关注这些字段2、划定明确的维度核对,业务日期一定要清楚。3、核对出来的差异数据,需要按照差异内容进行归类,并记录核对中留存的任何脚本,文档。以下为找差异的部分方法,只适用于百万一下的数据。 如果数据上亿 ,听说oracle有个函数直接就能找出来(我还没找到,找到再放下面)--利用减法将差异数据都捞出来select * from t1 minus t2union allselect * from t2 mi

2020-11-28 16:51:01 811 1

原创 时间控件可选为每月月末,其他时间不可选(帆软填报)

this._createCalendar = function(){ debugger; var o = this.options; var self = this; if (this.options.need2BuildConfig === true && this.options.data) { this.options.data.resetStatus(this.createDependen

2020-11-03 11:16:59 1639

原创 常用的日期处理笔记

本期: IF LAST_DAY(TO_DATE(P_DATE, 'YYYYMMDD')) = TO_DATE(20200930, 'YYYYMMDD') THEN V_DATE := P_DATE; --20200930 ELSE V_DATE := TO_CHAR(ADD_MONTHS(LAST_DAY(TO_DATE(202020927, 'YYYYMMDD')), -1), 'YYYYMMDD'); --202

2020-11-03 10:53:23 193

原创 批量补数脚本

--批量补数据脚本create or replace procedure baobiaobs asbegin_date date;end_date date;fdate varchar2(8);begin begin_date := to_date('20200225','YYYYMMDD'); end_date := to_date('20200915','YYYYMMDD'); while begin_date <= end_date loop begin

2020-11-03 10:46:57 222

原创 oracle创建表空间及新用户

--创建表空间create tablespace 表空间名字 logging datafile 'D:\app\zsj\oradata\testdb' size 32M autoextend on next 32M maxsize unlimited extent management local;--创建临时表空间create temporary tablespace 临时表空间名字tempfile 'D:\app\zsj\oradata\testdb'size 32.

2020-11-02 14:20:12 144

原创 表空间使用及扩充宝典

--1.查询表空间大小SELECT D.TABLESPACE_NAME, SPACE || 'M' "SUM_SPACE(M)", BLOCKS "SUM_BLOCKS", SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)", ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%' "USED_

2020-11-02 13:44:24 124

原创 oracle中字段的两种截取方式

select 字段1 ,regexp_substr(字段1, '[^\.]+', 1, 1) --通过模糊匹配进行字段的切割 ,substr(字段1,1,(instr(字段1,'.',1)-1)) --通过精准定位进行字段的切割from table_name

2020-09-01 09:35:34 1533

原创 oracle中在同库不同用户的情境中进行赋权

--创建CREATE OR REPLACE PROCEDURE P_GRANT_TABLE_TO_FDC AS pvar_grant_sql varchar2(4000) := ''; CURSOR c_grant IS --声明显式游标 select 'grant all on '|| 'user1' ||'.'||table_name||'to user2' as vsql from all_tables --可以查看表明来查看表结构 wh

2020-08-31 18:03:23 224

原创 shell调用无参数存储过程

注意:需要将结尾;做修改delimiter ## 编写存储过程CREATE PROCEDURE create_tel()BEGIN DECLARE id INT; SET id=10; WHILE id<20 DO INSERT INTO td_test VALUES(id,'张三'); SET id=id+1; END WHILE;END##!/bin/shDIR="path"DATE=$(date +%Y%m%d --date '1 day

2020-07-02 18:03:30 411

原创 linux 去重之后进行合并

#!bin/bashawk '!a[$0]++' xxjf_10.161.*51.txt > xxjf__51.txt

2020-07-02 11:53:26 177

原创 空值检查的存储过程

# 空值检查存储过程CREATE PROCEDURE `check_column_null_num`(IN schema_name VARCHAR(100), IN table_name2 VARCHAR(100))BEGIN-- 数据表schema_name中的列名称DECLARE temp_column VARCHAR(100); -- 创建结束标志变量 DECLARE done INT DEFAULT FALSE;-- 定义游标来操作每一个COLUMN_NAMEDECLARE cur

2020-06-22 18:01:49 343

原创 SQL中常用的函数(二)

1、聚合函数中的方差和标准差VARIANCE(方差)SELECT VARIANCE(字段) FROM TABLE;STDDEV(标准差)SELECT STDDEV(标准差) FROM TABLE;2、字符串函数1)CONCAT(字符串拼接)SELECT CONCAT(字段1,字段2,........) FROM TABLE;2)LOWER()和UPPER()LOWER()转换为小写字母,UPPER() 转化为大写字母3)LPAD()和RPAD()这两个函数最少需要两个参数 最多需

2020-06-01 20:07:33 2231

原创 oracle之临时表(temporary table)

1、临时表的定义: 用来保存事物或会话期间的中间结果,只对当前事务或者会话是可见的,其他任何会话都无法进行读取的临时创建的表。2、临时表的特点多用户操作的独立性:对于使用同一张临时表的不同用户,Oracle都会分配一个独立的TEMP SEGMENT,这样就避免了多个用户在对同一张临时表操作时发生交叉,从而保证了多个用户操作的并发性和独立性3、临时表的分类1)会话级临时表会话级临时表:会话级的临时表因为表中的数据与当前的会话还有关系,当你的session不退出的情况下,临时表中的数据就

2020-05-27 17:19:10 999

转载 用python将excle数据导入数据库中

import pymysqlimport xlrdimport sys ''' 连接数据库 args:db_name(数据库名称) returns:db ''' def mysql_link(de_name): try: db = pymysql.connect(host="127.0.0.1", user="xxx", passwd="xxx",

2020-05-26 18:28:42 504

原创 python实现淘宝自动登录秒杀功能

最近准点抢东西 ,抢不到有点烦,写了一个准点淘宝强东西的小程序。亲测,已经抢到。from selenium import webdriverimport datetimeimport time# 打开Chrome浏览器from selenium.webdriver import ActionChainsbrowser = webdriver.Chrome()browser.maximize_window()def login(): # 打开淘宝首页,通过扫码登录 bro

2020-05-26 17:21:02 2892 5

转载 mysq数据库备份

conf.py#!/usr/bin/env pythonconn_dict = dict(host='127.0.0.1', user='root', passwd='12345', db='08day05', port=33061)contact_user = dict(address='smtp.163.com', sender='xxxxxx@163.com', password='passwd')note_user = ('xxxxx@tydic.com',)backup_path

2020-05-25 15:25:49 299

原创 对文件的操作集合

批量修改文件后缀#!/bin/bashcd '/home/dccmc/Tool_Management_Platform/auto_check/zsj/shell/data'pwdread -p "input the old file:" oldread -p "input the new file:" new[ -z ${old} ] || [ -z ${new} ] && echo "error" && exit #判断用户是否有输入,如果没有输入打印

2020-05-21 17:16:02 235

原创 数据库中字典的截取

ORACLE中字段的截取方法通常使用Instr()和substr()函数instr()其语法为:instr(sourceString,destString,start,appearPosition)instr('源字符串', '目标字符串' ,'开始位','第几次出现')例子:select instr('yuechaotianyuechao','ao') position from table;返回值为:6substr()其语法为:substr( string, start_positi

2020-05-20 17:40:03 516

原创 delete和truncate 之间不可不说的秘密

1、命令类型delete是数据操作语言(DML)命令;而truncate是数据定义语言(DDL)命令。2、功能delete命令根据指定的SQL语句从表中删除单个,多个或所有记录;而truncate命令从数据库中删除所有记录。3、Where子句delete命令支持WHERE子句,可以使用带有DELETE的where子句来过滤和删除特定记录;而,truncate命令不支持WHERE子句。4、锁定delete命令采用行级锁定,表中的每一行都被锁定以进行删除;truncate命令采用表级锁

2020-05-13 16:27:58 348

原创 mysql常见的优化方法及慢查询sql排查

1、慢查询日志查看方法:show variables like '%slow_query_log%';临时开启:set global slow_query_log=1; 内存里开启exit退出, 重启mysql后关闭service mysql restart 永久开启:/etc/my.cnf 中追加配置 vi /etc/my.cnf [mysqld] show_...

2020-05-06 17:14:21 1244

原创 避免索引失效原则

1、避免索引失效原则1、复合索引,不要跨列或者无序使用(最佳左前缀)2、复合索引,尽量使用全索引匹配3、不要在索引上进行任何操作(比如:对索引进行类型转化,加减乘除计算等)4、复合索引不能使用不等于(!= <>)或者is not null负责自身及右侧全部失效索引优化大部分都适用,但是也不是100%可以成功一般而言,范围查询之后的索引失效5、补救秘籍,使用索引覆盖(us...

2020-05-06 16:14:09 387

原创 mysql 索引优化案例-单表,双表,多表优化

1、创建复合索引的时候不要跨列使用(where和order by 拼起来会产生跨列效果)create table test(a1 varchar(20),a2 varchar(20),a3 varchar(20),a4 varchar(20))alter table test add index index_a1_a2_a3_a4(a1,a2,a3,a4)推荐写法:select ...

2020-05-02 16:53:17 243

原创 mysql 优化之索引

1、sql优化:原因:性能低,执行时间太长,等待时间太长、sql语句欠佳,索引失效、服务器参数设置不合理 编写过程: select distinct from join on where group by having order by limit解析过程: from on join where group by having select distinct o...

2020-04-30 18:12:50 138

转载 hdfs常用命令

(1)查看帮助 hdfs dfs -help (2)查看当前目录信息 hdfs dfs -ls / (3)上传文件 hdfs dfs -put /本地路径 /hdfs路径 (4)剪切文件 hdfs dfs -moveFromLocal a.txt /aa.txt (5)下载文件到本地 hdfs dfs -get /...

2020-04-28 16:25:40 217

原创 工作中最常用的oracle中的函数

oracle远程连接数据库命令:sqlplus usr/pwd@//host:port/sidoracle函数(1)CONCAT()函数在Oracle中可以用于将两个字符串连接在一起CONCAT( string1, string2 )SELECT CONCAT(CONCAT(CONCAT('A', 'B'),'C'),'D') FROM dual;-- Result: 'ABCD'...

2020-04-27 15:41:33 196

转载 linux中-a 到-z的解释

万物皆可!(非)[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE 存在且是一个普通文件则...

2020-04-23 14:25:42 2504

原创 存储过程基础

存储过程定义: 一般在大型数据库中,一组为了完成特定功能的数据集,存储在数据库中,经过第一次编译后,再次调用不需要进行编译,用户只需要指定存储过成名字并给定参数就可以完成任务。创建存储过程:create procedure 存储过程名(参数)begin sql语句end;修改结尾标识:delimiter #调用存储过程:call 存储过成名(实参);带参数的存储...

2020-04-16 11:09:04 194

原创 sed对文本内容进行替换,删除

sed -i /hello/d /file.txt #删除文件中有关键字“test”的行 sed -i /^$/d test.txt #删除一个文件中所有空行 sed -i /^#/d test.txt #删除一个文件所有以"#"开头的行 sed -i s/abc/abcd/g test.txt #把文件中的abc换成abcd sed -i /^abc/d test.t...

2020-04-15 16:56:41 775

原创 矩阵转换-shell版

使用shell完成矩阵转换:file.txt中的内容为以下:name agealice 21ryan 30转化后:name alice ryanage 21 30awk '{ #这个大括号里的代码是 对正文的处理 # NF表示列数,NR表示已读的行数 # 注意for中的i从1开始,i前没有类型 for (i=1; i<=NF; i++){#对每一列...

2020-04-05 18:22:11 692

原创 使用expect实现跨主机免密传输

#!/usr/bin/expectset timeout 1set filename [lindex $argv 0]set ip [lindex $argv 1]spawn scp -l 1000 root:/bigdate/file/${filename} zsj@${ip}:/home/zsj/shell/txt/ expect { "(yes/no)?" { send...

2020-04-01 18:14:56 230

原创 shuffle原理 及优化策略

1、shuffle操作原理:在Spark中,数据通常不会跨分区分布,以满足特定操作的需要。在计算期间,单个任务将对单个分区进行操作——因此,要组织单个reduceByKey 的计算任务要执行的所有数据,Spark需要执行一个all-to-all操作。它必须从所有分区中读取所有键的所有值,然后将所有分区的值放在一起计算每个键的最终结果——这称为shuffle。 Spark中的某些操作会触...

2020-03-29 22:15:27 1628

原创 正则表达式的使用

题目来源:leetcode给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或xxx-xxx-xxxx。(x 表示一个数字)你也可以假设每行前后没有多余的空格字符。示例:假设file.txt内容如下:987-123-4...

2020-03-26 16:47:10 198

原创 用pymysql来获取数据

# -*-coding:utf-8-*-import pymysqlimport pandas as pdimport timedef execude_sql(sql): # 创建连接 try: db = pymysql.connect( host='10.100.155.19', port=3308, ...

2020-03-26 15:15:56 2810

原创 词频统计-shell版

题目来源:leecode需求:写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和 ’ ’ 。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is脚本应当以词频...

2020-03-24 20:13:09 286 1

原创 sed 文件追加字符

sed -i '$ s/$/64/' 111.txt

2020-03-05 15:24:56 1226

原创 scp 传输 限速

scp 传输的时候数据太大 会严重占用带宽,导致其他传输受到影响需要限制传输速度scp -l 8000 .file.txt …省略其他… 差不多 是1M/s

2020-02-26 15:59:18 1424

转载 md5 加密 加盐 解析

我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。加Salt可以一定程度上解决这一问题。所谓加Salt方法,就是加点“佐料”。其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比较散列...

2020-02-24 16:38:15 6954 1

空空如也

空空如也

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

TA关注的人

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