风之小云天的博客

When your dreams come alive you're unstoppable


  • Home

  • About

  • Tags

  • Categories

  • Archives

云原生课程学习笔记

Posted on 2021-01-15
Words count in article: 696

云原生技术范畴

  • 不可变基础设施 目前实现: 容器镜像
  • 云应用编排理论 目前实现: 容器设计模式

什么是容器?

容器,是一个视图隔离,资源可限制,独立文件系统的进程集合

  • 视图隔离 - 如能看到部分进程,独立主机名等等;
  • 控制资源使用率 - 如 2G 内存大小,CPU 使用个数等等
Read more »

dataworks学习笔记

Posted on 2021-01-13
Words count in article: 105

因为公司大数据集群需要上云,这里记录下dataworks的相关知识。

dataworks v1

  • 数据集成
  • 数据开发
  • 运维中心
  • 数据管理

    v1 存在的问题

  • 数据研发不规范
  • 元数据不安全
  • 易用性差
  • 数据质量差
  • 数据信息分散
  • 事后才发现数据问题
  • 审计安全无法保障
Read more »

linux awk 教程

Posted on 2021-01-13
Words count in article: 3k

用以下信息做示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ cat netstat.txt
Proto Recv-Q Send-Q Local-Address Foreign-Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
tcp 0 0 coolshell.cn:80 124.205.5.146:18245 TIME_WAIT
tcp 0 0 coolshell.cn:80 61.140.101.185:37538 FIN_WAIT2
tcp 0 0 coolshell.cn:80 110.194.134.189:1032 ESTABLISHED
tcp 0 0 coolshell.cn:80 123.169.124.111:49809 ESTABLISHED
tcp 0 0 coolshell.cn:80 116.234.127.77:11502 FIN_WAIT2
tcp 0 0 coolshell.cn:80 123.169.124.111:49829 ESTABLISHED
tcp 0 0 coolshell.cn:80 183.60.215.36:36970 TIME_WAIT
tcp 0 4166 coolshell.cn:80 61.148.242.38:30901 ESTABLISHED
tcp 0 1 coolshell.cn:80 124.152.181.209:26825 FIN_WAIT1
tcp 0 0 coolshell.cn:80 110.194.134.189:4796 ESTABLISHED
tcp 0 0 coolshell.cn:80 183.60.212.163:51082 TIME_WAIT
tcp 0 1 coolshell.cn:80 208.115.113.92:50601 LAST_ACK
tcp 0 0 coolshell.cn:80 123.169.124.111:49840 ESTABLISHED
tcp 0 0 coolshell.cn:80 117.136.20.85:50025 FIN_WAIT2
tcp 0 0 :::22 :::* LISTEN

输出第一列和第四列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@aliyun ~]# awk '{print $1,$4}' netstat.txt 
$
Proto Local-Address
tcp 0.0.0.0:3306
tcp 0.0.0.0:80
tcp 127.0.0.1:9000
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp coolshell.cn:80
tcp :::22

其中单引号中的被大括号括着的就是awk的语句,注意,其只能被单引号包含。
其中的$1..$n表示第几例。注:$0表示整个行。

格式化输出,类似于 c语言的printf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ awk '{printf "%-8s %-8s %-8s %-18s %-22s %-15s\n",$1,$2,$3,$4,$5,$6}' netstat.txt
Proto Recv-Q Send-Q Local-Address Foreign-Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
tcp 0 0 coolshell.cn:80 124.205.5.146:18245 TIME_WAIT
tcp 0 0 coolshell.cn:80 61.140.101.185:37538 FIN_WAIT2
tcp 0 0 coolshell.cn:80 110.194.134.189:1032 ESTABLISHED
tcp 0 0 coolshell.cn:80 123.169.124.111:49809 ESTABLISHED
tcp 0 0 coolshell.cn:80 116.234.127.77:11502 FIN_WAIT2
tcp 0 0 coolshell.cn:80 123.169.124.111:49829 ESTABLISHED
tcp 0 0 coolshell.cn:80 183.60.215.36:36970 TIME_WAIT
tcp 0 4166 coolshell.cn:80 61.148.242.38:30901 ESTABLISHED
tcp 0 1 coolshell.cn:80 124.152.181.209:26825 FIN_WAIT1
tcp 0 0 coolshell.cn:80 110.194.134.189:4796 ESTABLISHED
tcp 0 0 coolshell.cn:80 183.60.212.163:51082 TIME_WAIT
tcp 0 1 coolshell.cn:80 208.115.113.92:50601 LAST_ACK
tcp 0 0 coolshell.cn:80 123.169.124.111:49840 ESTABLISHED
tcp 0 0 coolshell.cn:80 117.136.20.85:50025 FIN_WAIT2
tcp 0 0 :::22 :::* LISTEN
Read more »

2020年终总结

Posted on 2020-12-31
Words count in article: 14

没时间写,留个坑后面抽时间补上。。

Read more »

元数据采集 - hive 元数据采集

Posted on 2020-12-17
Words count in article: 5

这里是正文

Read more »

java 实现四舍六入

Posted on 2020-12-17
Words count in article: 1.2k

在金融业务场景中,计算金额经常需要保留位数,由于保留位数有限,经常需要取舍的情况,往往在电商、银行系统中,金额是以整数形式保存,单位为货币最小单位,例如分。但是在结算时额外的参数如折扣、利率、税率等存在着大量的浮点数,计算结果则需要转换为整数。

简单处理一般是四舍五入,但是这样存在很明显的问题,就是 “入” 的概率大于 “舍”,明显的,遇到 1、2、3、4 舍,遇到 5、6、7、8、9 入,粗看这种就可以发现问题。如果想要两边平衡,则 “四舍六入” 才是合理的,但是,5 怎么办?

具体问题可以看下这个回答

https://www.zhihu.com/question/28943072/answer/42673180

在大量样本中,四舍五入后的计算结果的总和会明显大于直接计算总和的结果,对金融单位计算利息来说,这样很显然是一个亏本的行为,如果不亏本的算,依旧是简单处理,那么结果相反,客户就不开心了,在 sql 中经常也需要进行四舍六入操作,这里我们可以用java 实现,然后编译成 udf,就可以在 sql 中使用了。

银行家舍入(Banker’s Round)

亦叫做 “四舍六入五成双” ,四舍六入,使得两头(即进和舍)概率相等,但是,在 4 和 6 之间的 5 就需要特别对待。具体规则如下:

舍去位的数值小于5时,直接舍去;
舍去位的数值大于等于6时,进位后舍去;
当舍去位的数值等于5时,分两种情况:5后面还有其他数字(非0),则进位后舍去;若5后面是0(即5是最后一位),则根据5前一位数的奇偶性来判断是否需要进位,奇数进位,偶数舍去。
舍去位,当小于 5,即 0 ~ 4.999999…… 则舍去,大于 6,即 6 ~ 10 则进位,则中间区间那个数字,5 ~ 5.999999…… ,只要使该区间内存在的数字平均分布,即可保证取舍概率相等。于是得到上述算法。

Read more »

pandas 基础

Posted on 2020-10-09
Words count in article: 128

pandas 是一个开源的数据分析和数据操作库,这里记录下 pandas 常用的基础操作

  1. 创建 DataFrame
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
       In [14]: df = pd.DataFrame({ 
    ...: 'item_name':['cup','pants','shoes','coat','sunglasses'],
    ...: 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
    ...: 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
    ...: 'rating': [4, 4, 3.5, 15, 5],
    ...: 'price': [12,34.3,78.1,61,91],
    ...: })
    In [15]: df
    Out[15]:
    item_name brand style rating price
    0 cup Yum Yum cup 4.0 12.0
    1 pants Yum Yum cup 4.0 34.3
    2 shoes Indomie cup 3.5 78.1
    3 coat Indomie pack 15.0 61.0
    4 sunglasses Indomie pack 5.0 91.0

    In [16]:
Read more »

maven 学习

Posted on 2020-09-14
Words count in article: 697

maven 是为 java 项目打造的管理和构建工具,主要功能有:

  • 提供了一套标准化的项目结构
  • 提供了一套标准化的构建流程(编译,测试,打包,发布。。)
  • 提供了一套依赖管理机制
  • Maven 使用 pom.xml 定义项目内容,并使用预设的目录结构;
  • 在 Maven 中声明一个依赖项可以自动下载并导入 classpath;
  • Maven 使用 groupId,artifactId 和 version 唯一定位一个依赖
Read more »

mysql 主从复制实践

Posted on 2020-09-05
Words count in article: 2.4k

mysql是常见的关系型数据库,为了方便把一个mysql数据源的数据复制到其他mysql host,复制特性就是为了解决这个问题的,slave mysql 服务器通过读取master 的binlog进行复制,写入slave mysql 服务器。

参考mysql官网 replication

  1. 因为贫民窟少女只有两台服务器的原因,这里使用 docker 开启三个容器,一个master,两个slave,进行主从复制测试
  2. 首先拉取 mysql 容器,这里 mysql 最新的版本为8.0.21
    1
    [root@huawei ~]# docker pull mysql
  3. 在服务器上创建docker 文件目录与服务器本地文件目录的映射,稍后将mysql容器的文件映射到这个目录(这里是博主个人习惯喽,因为主要是为了防止容器丢失早晨数据丢失,把容器内的数据映射到服务器外面,这样就算服务器故障,下次把mysql容器重新挂载到这个mysql服务器上的目录就好了~)
  4. 创建三个mysql目录
    1
    2
    3
    4
    5
    6
    7
    [root@huawei container]# pwd
    /home/container
    [root@huawei container]# ll
    total 12
    drwxr-xr-x 6 root root 4096 Sep 4 23:47 mysql_master
    drwxr-xr-x 6 root root 4096 Sep 5 16:35 mysql_slave
    drwxr-xr-x 6 root root 4096 Sep 5 16:27 mysql_slave2
  5. 在每个 mysql 目录中创建 data、conf、log、mysql-files 三个目录
Read more »

运维开发笔记

Posted on 2020-08-14 | In devops
Words count in article: 174
ssh免密登录localhost配置1234567891011生成 ssh keysssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa将 ssh keys 输出到 authorized_keys中cat ~/.ssh/id_rsa.pub >> ~/.ssh ...
Read more »
123next
风之小云天

风之小云天

21 posts
11 categories
11 tags
GitHub E-Mail
0%
© 2021 风之小云天 | Site words total count: 37.6k
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4
总访客 人 总访问量 次