- 博客(65)
- 资源 (1)
- 收藏
- 关注
原创 数据清洗的自我理解
数据清洗数据仓库的数据清洗ODS层的数据清洗侧重点(ETL过程中的Transform):ODS:Operation Data Store,业务操作数据存储,数据来源层目的:保证与上游数据的一致性,避免数据重复或错误流程:数据源->抽取、传输->文件格式转换、数据类型转换->加载到临时数据区->数据清洗->写入正式数据区ODS清洗过程:常规数据:数据类型转换、数据去重、空值处理、空格去除、敏感数据加密脏数据:残缺、错误、重复、多个来源系统数据不一致,将过滤出的脏
2021-07-01 11:31:53
952
原创 MySQL分表后的ID怎么保证唯一性,非sharding_key查询怎么处理
分表后的ID怎么保证唯一性因为我们主键默认都是自增的,那么分表之后的主键在不同表就肯定会有冲突了。有几个办法考虑:设定步长,比如1-1024张表我们设定1024的基础步长,这样主键落到不同的表就不会冲突了。分布式ID,自己实现一套分布式ID生成算法或者使用开源的比如雪花算法这种分表后不使用主键作为查询依据,而是每张表单独新增一个字段作为唯一主键使用,比如订单表订单号是唯一的,不管最终落在哪张表都基于订单号作为查询依据,更新也一样。分表后非sharding_key查询怎么处理可以做一个map
2021-04-06 00:08:46
1792
原创 mysql主从同步怎么做的,主从的延迟怎么解决
mysql主从同步怎么做的?首先先了解mysql主从同步的原理master提交完事务后,写入binlogslave连接到master,获取binlogmaster创建dump线程,推送binlog到slaveslave启动一个IO线程读取同步过来的master的binlog,记录到relay log中继日志中slave再开启一个sql线程读取relay log事件并在slave执行,完成同步slave记录自己的binglog由于mysql默认的复制方式是异步的,主库把日志发送给从库后不
2021-04-05 23:42:29
290
原创 Hive不支持 join on like非等值join连接,可用LOCATE()代替
问题一般我们写连接时都是join...on tb1.a = tb2.b,有时也会用到like的写法。MySQL和Oracle都支持join...on...like的操作:SELECT * FROM table1 LEFT JOIN table2 ON table1.xxx LIKE CONCAT('%',table2.yyy,'%') 但是Hive不支持like这种非等值连接,会报错。解决方法法一在网上搜到的方法:SELECT * FROM table1 LEFT JOI
2020-05-20 17:54:55
4796
2
原创 vscode粘贴时自动换行怎么关闭
问题vscode粘贴代码时,总是自作聪明地自动换行,必须手动ctrl+z撤销才能恢复正常。也许功能本意时好的,但对我来说有点多余甚至烦恼。方法文件->首选项->设置,搜索:format on past取消勾选OK!...
2020-05-12 15:18:30
8185
5
原创 hive hql 无trim(leading)函数、ltrim()函数,可用regexp_replace()函数替代
问题HIVE使用trim(leading)、trim(trailing)、trim(both) 函数报错原函数作用trim(leading)用于去除字符串开头的指定字符。如:去除 '0012300’开头的所有0select trim(leading ‘0’ from ‘0012300’)输出结果:12300同样,trim(trailing) 用于去除字符串结尾的指定字符;tr...
2020-04-26 18:22:02
6569
原创 hiveql 没有left()right()函数,可用substr()替代
问题用hive执行left(field, num)函数和right()函数报错:cannot recognize input near ‘RIGHT’ ‘(’ …方法用substr()函数代替:left(field, 3) -> substr(field, 0, 3) 或 substr(field, 1, 3)right(field, 3) -> substr(field,...
2020-04-24 13:15:54
13053
转载 SQL中的cast()函数
语法CAST(expression AS data_type)功能转换数据类型示例将varchar类型数据‘123’ 转换为 int型CAST(123 AS int)将varchar类型数据’19900101’ 转换为 日期类型CAST(‘19900101’ AS DATE FORMAT ‘YYYYMMDD’)参考文档原文写的很详细:博客园-书写者-SQL中的cast()...
2020-03-24 17:32:12
957
原创 微信小程序 button按钮修改宽高样式
问题<button class="button-name" >按钮</button>按钮样式只有**size=‘default’**和__size=‘mini’__两种样式。打开调试器中可以看到button:not([]) 的style中看到height和width的信息,故可增加.button-name:not的样式来修改按钮样式button 的style中...
2020-02-10 15:58:08
8642
2
原创 微信小程序 获取当前日期时间
问题:获取当前系统日期和时间,但是搜索到的博客都写的什么import utils.js,麻烦的很,我来写个简单易懂的,一看就会。解:// 当前日期 YYYY-MM-DDconsole.log(new Date().toISOString().substring(0, 10));console.log(new Date().toJSON().substring(0, 10)); // ...
2020-02-02 19:44:12
11176
3
原创 判断一个数是否是质数 python
质数primenumber#!/usr/bin/python3# -*- coding:UTF-8 -*-while( 1 ): num = int(input("Input a number:")) if num>1 : for i in range(2,num): if ( num%i == 0 ): ...
2020-01-02 17:03:19
1316
原创 微信小程序 textarea的show-confirm-bar=false 完成按钮不隐藏
问题textarea组件加上show-confirm-bar=“false”,完成按钮不隐藏方法show-confirm-bar = "{{false}}"
2019-05-21 18:38:39
2901
1
原创 微信小程序 去除input输入的空格
.wxml :<input bindblur='clearSpace' />.js :// 清空input的空格clearSpace: function(event) { var v = event.detail.value; v = v.replace(/\s*/g, ""); console.log('clear: ', v) }...
2019-04-30 19:56:31
5512
原创 在css中实现width:100%-100px,即100%宽度减去100px
尝试了很多,最简单的办法是加一个margin-left:.class-name{ width: 100%; margin-left: 100rpx;}
2019-04-30 01:06:08
21020
1
原创 navicat connot open file导入文件错误 MYSQL字符集是utf8,但Navicat是latin1
问题平时写sql使用的是DataGrid,但是没有导入Excel功能,所以一直用Navicat导入excel;而navicat导入excel时却报错:cannot open file ‘xxxxx’ ,不能打开文件,查明原因是字符集不同:excel文件是utf-8,而MySQL默认的是latin1;于是开始了一系列修改mysql默认字符集的历程,修改mysql默认字符集为utf8后,发现na...
2019-01-06 23:55:36
4352
原创 MySQL 两个字段的like模糊匹配
普通情况挑选出tb1表的字段a中包含关键字’abc’的语法没我们可以这样写:SELECT * FROM tb1 JOIN tb2 ON tb1.a=tb2.aWHERE tb1.b LIKE '%a%'问题但是要模糊匹配一个字段呢?我试着这样写了一下:SELECT * FROM tb1 JOIN tb2 ON tb1.a=tb2.aWHERE tb1.b LIKE tb2.bse...
2018-12-05 17:37:19
34639
2
原创 MySQL 分组排序后加编号
原表: 目标:将abcd分组后,每组分别加上编号 方法:首先我们先实现一个简单的效果:递增编号,理解一下第一个点SELECT @r:= @r + 1 AS rowNum, a.*FROM tmp_mytest a,( SELECT @r:= 0 ) b效果:知道怎么递增编号之后,我们再来实现分组递增编号,就更容易理解了...
2018-11-12 19:35:58
18885
2
原创 MySQL id从1开始连续自增 AUTO_INCREMENT_OFFSET AUTO_INCREMENT_INCREMENT
问题:设置id列为自增,却发现id值不连续,也不是从1开始的解决方法:很简单,先设置临时全局变量。设置AUTO_INCREMENT_OFFSET=1,表示id的起始值从1开始增长(但不表示第一个id就是1,看下面就懂了);设置AUTO_INCREMENT_INCREMENT=1;表示id的增长偏移量为1,就是下一个id比上一个id大1;tip:为什么说是临时全局变量,因为MySQL重启...
2018-11-12 18:09:38
2662
原创 更改Ubuntu主机名
永久更改Ubuntu主机名ubuntu主机名位于/etc/hostname文件里,修改内容为新主机名即可vim /etc/hostname此时使用sudo命令时虽然可以使用,但是会显示如下:sudo: unable to resolve host 新主机名解决办法:sudo vim /etc/hosts在127.0.0.1 localhost 后面加上新主机名称即...
2018-10-20 15:27:27
298
原创 Navicat远程连接腾讯云MySQL数据库
原因默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录,若想远程连接云服务器,需要进行授权。方法步骤:一、远程登录授权授予全部权限 给 所有库的所有表 用户名为root 密码为123456mysql &gt; grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant o...
2018-10-19 22:48:13
6909
原创 Linux安装MySQL时没有设置密码怎么办 ERROR 1698 (28000): Access denied for user 'root'@'localhost'
问题如果安装过程中,没有设置密码,输入$mysql -u root -p,会显示ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’解决方法su 输入密码,这样可以不输入密码,用超级权限登录mysql su登录MySQLmysql -u root -p mysql -u root -p 进入mysq...
2018-10-19 22:39:05
1849
1
原创 ubuntu安装mysql
安装MySQL服务端sudo apt-get install mysql-server安装MySQL客户端sudo apt-get isntall mysql-client安装libmysqlclient-dev包sudo apt-get install libmysqlclient-devTIP:安装过程中提示设置密码,一定要设置密码!!!不要直接按Enter键跳...
2018-10-19 22:26:27
172
1
原创 SQL UPDATE警告:设置必须在update 语句后携带 where 条件
问题:在使用UPDATE更新记录时要格外小心!如果我们省略了 WHERE 子句,会将表中所有数据的更新! 所以必须在update 语句后携带 where 条件。 解决办法在 MySQL 中可以通过设置 sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。set sql_safe_upda...
2018-09-06 11:41:12
11908
原创 hive sql转mapreduce JAVA&beeline 自定义函数
检验过程:explainJAVA&beeline步骤: - cd $HIVE_HOME/hiveserver2 –启动hive服务 《java操作hive中的常用问题》 - IntelliJ IDEA - 加入hive依赖包 mvnrepository.com -> jdbc -> 版本 e.g.<dependency> <g...
2018-08-22 18:12:02
416
原创 Hive left semi join 半关联
hive中没有主键外键之分,但可以多表关联查询(值关联)。mysql: - left jion - right jion - inner jionselect * from tb_1 left jion tb_2 on tb_1.col_1=tb_2.col_2;hive: - jion - left outer jion - right outer jion...
2018-08-22 18:09:46
1069
原创 hive 数据储存
数据库储存位置hdfs/Data Load数据倾斜map/reduce程序执行时,reduce大部分节点执行完毕,只有几个reduce 节点执行很慢,导致整体处理时间很长,这是因为某一个key的条数比其他key多很多,这条key所在的reduce节点处理的数据量很大,从而导致某几个节点运行速度慢,成为数据倾斜。 hive表临时表:特殊管理表,仅作用于当前进程...
2018-08-22 18:08:27
275
原创 hive 导入 导出
导出表到hdfs –备份exportEXPOET TABLE tb_name TO 'file_path';结果:tb_name_export导入表数据 –还原importIMPORT TABLE tb_name FROM 'file_path';排序SELECT col_name FROM tb_name ORDER BY col_1 asc...
2018-08-22 18:05:02
165
原创 hive 分桶
创建分桶hive时针对某一列进行分桶,提高查询效率 hive采用对列值哈希hash,除以桶个数求余的方式,决定记录存放位置clustered by(col_name) sorted by(col_name) into num buckets根据表分桶create table tb_name (name string,age int) CLUSTERED BY ...
2018-08-22 18:03:28
172
原创 hive 分区表
最简分区表e.g.partitioned byCREATE TABLE tb_name(name string partitioned by (age int)) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'加载分区表(静态)load data local inpath 'file_path' ...
2018-08-22 18:03:02
128
原创 hive DML-Load,insert into,
数据加载hive一般不通过insert插入数据,而是加载。 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] [INPUTFORMAT 'inputformat' ...
2018-08-22 18:02:37
663
原创 hive 数据类型&分类
数据类型基本数据类型一般情况只存1个值(一般同普通数据库,特殊:string = varchar)集合数据类型可储存多个值常用: array:数组(和java一样) name | likes | age —|—|– 张三 | 篮球,乒乓球 | 18map:Hive SQL分类DDL-数据定义语言建表,修改表,删表,分区,数据类型D...
2018-08-18 10:44:54
687
原创 hive 区别 优缺点 场景
数据仓库与数据库区别数据库:主要面向OLTP服务 数据仓库:主要面向OLAP服务 OLTP:联机事务处理,用来实时记录交易信息。快速返回响应信息,毫秒级倾向于业务OLAP: 联机及分析处理,用来分析查询所存数据。一般系统按天、周、月生成报表。OLAP属于商业智能范畴,数据需要研究、处理、分析,驱动商业决策倾向于分析CAP原则 指的是在一个分布式系统中,...
2018-08-18 10:44:34
3703
原创 hive 简介 数据仓库介绍
HIVE简介由Facebook开发,Hadoop集群:庞大数据存储 & 统计(计算)需求 HIVE基于Hadoop的数据仓库工具,强依赖 原理:将HQL语句转换成Mapreduce任务 SQL –> Mapreduce –> Hadoop建立在Hadoop的其他组件之上依赖HDFS进行存储依赖Mapreduce进行查询数据仓库数据源外...
2018-08-18 10:43:59
323
原创 SQL 语句的执行顺序
SQL 语句的执行顺序跟其语句的语法顺序并不一致一般而言SQL 语句的语法顺序是:SELECT[DISTINCT] FROM WHERE GROUP BY HAVING UNION ORDER BY其执行顺序为:FROM WHERE GROUP BY HAVING SELECT DISTINCT UNION ORDER BY...
2018-08-18 10:37:14
124
原创 SQL 函数 标准差方差 数据类型转换 日期时间
统计标准偏差 stev()总体标准偏差 stdvp()统计方差 var()总体变异方差 varp()算术函数数据类型转换castconvert时间日期函数统计标准偏差 stev()例:显示所有职工的工资标准差select *,stdev(工资) as 工资标准差 from 职工总体标准偏差 stdvp()统计方差 v...
2018-08-18 10:33:12
9385
原创 SQL 汉字笔画排序 音序排序
Order by排序查询升序排列asc降序排列desc汉字笔画排序音序排序(abc)多列排序随机排序显示部分记录的排序top区别:计算字段排序按需求动态排序 caseOrder by排序查询升序排列ascselect * from 职工 order by 工资 asc降序排列descselect * from...
2018-08-06 17:12:06
3549
原创 SPSS 安装后不可用 没有出现授权 不显示工具栏 桌面没有快捷图标
问题原因:SPSS不可用,打开不显示工具栏,桌面没有快捷启动图标的原因是没有进行授权许可。见网上查不到正确答案,写此篇予以微力。方法: 按win键,在列表中找到“IBM SPSS Statistics License Authorization Wizard”,点击打开。 按提示一步步操作,立即授权产品许可证就可以了。SPSS 22.0授权码:9DNCAF2O3QVD...
2018-08-03 22:50:02
48029
15
原创 ubuntu18.04点击启动器图标窗口最小化
Ctrl+Alt+T 打开终端gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'OK参考Ubuntu中文论坛:http://forum.ubuntu.org.cn/viewtopic.php?t=487666
2018-07-07 21:14:39
6616
4
原创 笔记本win10相机打不开 无法启动 显示灰色相机 怎么办
问题笔记本相机打开只显示一个灰色相机图,不显示画面如图:解决方案一笔记本会有一个相机的快捷键F8,直接按下F8或者Fn+F8即可解决问题。如图:解决方案二打开win10设置→隐私→相机,查看允许访问相机的权限有没有打开如图:解决方案三下载相应品牌型号的设置Settings软件,比如我的是联想,下载安装Lenovo Settings,开启相机如图:解决方案四Win+R打开命令端,输入regedit运...
2018-06-24 17:09:09
139346
89
原创 Python数据分析 - 简单分析 数据标准化scale 区间分组cut
简单计算//price*num=sum例如:fome pandas import read_csvdf = read_csv('filepath\\filename.csv')result = df.price*df.numdf['sum'] = result数据标准化 将数据按比例缩放,一般用0-1标准化x*=(x-min)/(max-min) #百分之*100scale =( df.score...
2018-06-10 19:00:24
5529
菜谱数据库_菜肴分类做法原料调料.mdb
2021-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人