JouyPub

  • 首页

  • 归档

  • 区块链

  • BigData

  • Linux

  • Git手册

  • MySQL

  • Nginx

  • 搜索

grep提示:匹配到二进制文件

发表于 2020-10-12 | 分类于 Linux | 阅读次数:

原因:grep如果碰到\000 NUL字符,就会认为文件是二进制文件,而 grep 匹配 默认忽略二进制数据。

所以要使用grep -a属性:不忽略二进制的数据。
grep的-a或–text参数功能:将 binary 文件以 text 文件的方式搜寻数据

解决办法:

1
2
grep -a file_name
grep --text file_name

MySQL like 查询包含%的字段

发表于 2020-09-20 | 分类于 MySQL | 阅读次数:

在SQl like语句中,比如

1
2
SELECT * FROM user WHERE username LIKE '%luchi%'
SELECT * FROM user WHERE username LIKE '_luchi_',

  • % 作为通配符通配多个
  • _ 作为通配符通配一个

但当like 所要查询的字段中含有 % ,我们如何去查?
这个时候就需要指明 字段中的那个’%‘ 不作为通配符,这里就需要用到 ESCAPE 转义

测试:

1
SELECT * FROM user WHERE username LIKE '%%%';

这里会发现三个%号都被当做通配符了;

解决办法:

1
SELECT * FROM user WHERE username LIKE '%1%%' ESCAPE '1';

备注:like放在where条件还能这样用,如果是在select中这样是不好使的,建议使用regexp

python执行系统命令四种方法

发表于 2020-09-09 | 分类于 python | 阅读次数:

一、os模块

1、os.system(cmd)

在子终端运行系统命令,不能获取命令执行后的返回信息以及执行返回的状态

1
2
3
4
import os
os.system('date')

# 2016年 06月 30日 星期四 19:26:21 CST

2、os.popen(cmd)

不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息)

1
2
3
4
5
import os
nowtime = os.popen('date')
print nowtime.read()

# 2016年 06月 30日 星期四 19:26:21 CST

阅读全文 »

MySQL中避免重复插入的方法

发表于 2020-07-03 | 分类于 MySQL | 阅读次数:
方法一:INSERT ON DUPLICATE KEY UPDATE

如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE

注意:

  1. 如果行作为新记录被插入,则受影响行的值为1;如果原有的记录被更新,则受影响行的值为2。
  2. 如果该表中,由多个唯一索引,需要特别注意,出现重复时则该语句只能更新其中一行记录

如:原有数据表中的索引:
UNIQUE KEYuk_admin_name(admin_name) USING BTREE
UNIQUE KEYuk_password(password) USING BTREE

执行:

1
2
insert into tab_admin(`admin_name`, `password`) value('admin', 'admin888') on duplicate key
update last_ip = '202.0.0.1';

从上图可以看出:虽然admin,admin888和两行都匹配上了,但是只更新了一行数据,受影响的行: 2
至于为啥优先选择更新:admin_name这个唯一键? 原因:他会按照键的顺序来更新

阅读全文 »

正则表达式的基本用法

发表于 2020-06-18 | 分类于 日常开发 | 阅读次数:
1、点号(.),它用来匹配任意一个单字符(\n 排除在外)。
1
2
3
"twoon" regexp /tw.on/  为true

“twvon" regexp /tw.on/ 也为true.

点号在正则表达式中是有特殊含义的,有时我们可能也要匹配点号,这时就需要转义一下。

1
"twoo.n" regexp /twoo\.n/  为true.

正则表达中,所有其它的通配符也都可以用同样的方式进行转义,表示直接匹配通配符,去除它的特殊含义。
你可以看到\也是一个通配符,如果要匹配它也是同样的道理。

1
"two\\on" regexp /two\\on/  为true.

阅读全文 »

Hive分析窗口函数(五) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP

发表于 2020-05-23 | 分类于 BigData | 阅读次数:

Hive版本为 apache-hive-0.13.1

这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。

数据准备:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE EXTERNAL TABLE lxw1234 (
month string,
day string,
cookieid string
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
stored as textfile location '/tmp/lxw11/';

hive> select * from lxw1234;
OK
2015-03 2015-03-10 cookie1
2015-03 2015-03-10 cookie5
2015-03 2015-03-12 cookie7
2015-04 2015-04-12 cookie3
2015-04 2015-04-13 cookie2
2015-04 2015-04-13 cookie4
2015-04 2015-04-16 cookie4
2015-03 2015-03-10 cookie2
2015-03 2015-03-10 cookie3
2015-04 2015-04-12 cookie5
2015-04 2015-04-13 cookie6
2015-04 2015-04-15 cookie3
2015-04 2015-04-15 cookie2
2015-04 2015-04-16 cookie1

阅读全文 »

Hive分析窗口函数(四) LAG,LEAD,FIRST_VALUE,LAST_VALUE

发表于 2020-05-05 | 分类于 BigData | 阅读次数:

Hive版本为 apache-hive-0.13.1

备注: 这几个函数不支持WINDOW子句。

数据准备:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE EXTERNAL TABLE lxw1234 (
cookieid string,
createtime string, --页面访问时间
url string --被访问页面
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
stored as textfile location '/tmp/lxw11/';

hive> select * from lxw1234;
OK
cookie1 2015-04-10 10:00:02 url2
cookie1 2015-04-10 10:00:00 url1
cookie1 2015-04-10 10:03:04 1url3
cookie1 2015-04-10 10:50:05 url6
cookie1 2015-04-10 11:00:00 url7
cookie1 2015-04-10 10:10:00 url4
cookie1 2015-04-10 10:50:01 url5
cookie2 2015-04-10 10:00:02 url22
cookie2 2015-04-10 10:00:00 url11
cookie2 2015-04-10 10:03:04 1url33
cookie2 2015-04-10 10:50:05 url66
cookie2 2015-04-10 11:00:00 url77
cookie2 2015-04-10 10:10:00 url44
cookie2 2015-04-10 10:50:01 url55

阅读全文 »

Hive分析窗口函数(三) CUME_DIST,PERCENT_RANK

发表于 2020-04-18 | 分类于 BigData | 阅读次数:

Hive版本为 apache-hive-0.13.1

注意: 序列函数不支持WINDOW子句。(什么是WINDOW子句,点此查看前面的文章 )

数据准备:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE EXTERNAL TABLE lxw1234 (
dept string,
userid string,
sal int
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
stored as textfile location '/tmp/lxw11/';

hive> select * from lxw1234;
OK
d1 user1 1000
d1 user2 2000
d1 user3 3000
d2 user4 4000
d2 user5 5000

阅读全文 »
123…30
JouyPub

JouyPub

聊聊区块链、大数据

235 日志
14 分类
47 标签
RSS
友情链接
  • 工具箱
  • 子涵笑谈前端
  • 大数据玩家
© 2017 — 2023 JouyPub