7、做准实时测试遇到哪些问题?
提出时间:2020-12-16
7.1 kafka消费时间设置太短,导致一直消费不到数据
7.2 kafka推送的数据格式有误,导致一直消费不到数据
6、如何获取数据库表结构?
提出时间:2020-12-08
result = []
if dsn:
db_type = str(dsn[db_name][0]).upper()
if db_type == 'MYSQLCONN':
sql = "SELECT T.TABLE_SCHEMA,T.TABLE_NAME,T.COLUMN_NAME,T.COLUMN_TYPE,T.COLUMN_COMMENT " \
"FROM INFORMATION_SCHEMA.COLUMNS T " \
"WHERE TABLE_SCHEMA = '{db_name}' " \
"AND TABLE_NAME = '{table_name}' ORDER BY ORDINAL_POSITION".format(db_name=db_name,
table_name=table_name)
result = self.database_option(dsn[db_name], sql)
elif db_type == 'DB2':
sql = "SELECT T.TABSCHEMA AS TABLE_SCHEMA, T.TABNAME AS TABLE_NAME, " \
"T.COLNAME AS COLUMN_NAME, T.TYPENAME AS COLUMN_TYPE, " \
"T.REMARKS AS COLUMN_COMMENT FROM SYSCAT.COLUMNS T " \
"WHERE T.TABSCHEMA ='{db_name}' " \
"AND T.TABNAME = '{table_name}' ORDER BY COLNO".format(
db_name=db_name, table_name=table_name)
result = self.database_option(dsn[db_name], sql)
else:
print('该类型无对应获取数据库表字段结构方法')
return result
5、如何将字典写入yml文件中?
提出时间:2020-12-08
参考链接:python笔记20-yaml文件写入(ruamel.yaml)
# 写入到yaml文件
with open('D:/11.yaml', "w", encoding="utf-8") as f:
yaml.dump(my_dic, f, Dumper=yaml.RoundTripDumper,default_flow_style=False,allow_unicode=True, indent=4)
'''
default_flow_style=False 风格
encodeing='utf-8' 设置一下编码
allow_unicode=True 上传时候是不是转化成unnicode形式
indent=4 设置格式空格
'''
4、MySQL多行转一列
提出时间:2020-12-07
mysql 多行合并一列 使用的函数为:
GROUP_CONCAT(exp)
其中exp 的参数类似如下:
(field order by field desc separator ‘;’);
3、目前测试中存在的问题
提出时间:2020-11-29
参考B站:动态插桩
2、根据日期字段,如何筛选出日、周、月、季、年类型的数据?
提出时间:2020-11-01
存储数据样例:
tpp_val --字段
2019-11-01 --日
2020W36 --周
201911 --月
2019Q4 --季
2019 --年
方法1:
if self.request_default_data['tppTyp'] == 'D':
dte_typ = '%-%'
elif self.request_default_data['tppTyp'] == 'W':
dte_typ = '%W%'
elif self.request_default_data['tppTyp'] == 'M':
dte_typ = '______'
elif self.request_default_data['tppTyp'] == 'Q':
dte_typ = '%Q%'
else:
dte_typ = '____'
方法1存在问题:
按月查询的时候,会把季度类型的数据也查询出来
方法2:
--按年
SELECT * FROM mdr_dta.CUSEXPIND WHERE DW_STAT_DT between '2020-09-01' and '2020-12-31' AND LENGTH(TPP_VAL)=4
AND xmlcast(xmlquery('fn:matches($TPP_VAL,"[0-9]{4}")') as integer)>0;
--按月
SELECT * FROM mdr_dta.CUSEXPIND WHERE DW_STAT_DT between '2020-09-01' and '2020-12-31' AND LENGTH(TPP_VAL)=6
AND xmlcast(xmlquery('fn:matches($TPP_VAL,"[0-9]{6}")') as integer)>0;
--按季
SELECT * FROM mdr_dta.CUSEXPIND WHERE DW_STAT_DT between '2020-09-01' and '2020-12-31' AND LENGTH(TPP_VAL)=6
AND xmlcast(xmlquery('fn:matches($TPP_VAL,"Q")') as integer)>0;
--按周
SELECT * FROM mdr_dta.CUSEXPIND WHERE DW_STAT_DT between '2020-09-01' and '2020-12-31' AND LENGTH(TPP_VAL)=7
AND xmlcast(xmlquery('fn:matches($TPP_VAL,"W")') as integer)>0;
--按日
SELECT * FROM mdr_dta.CUSEXPIND WHERE DW_STAT_DT between '2020-09-01' and '2020-12-31' AND LENGTH(TPP_VAL)=10
AND xmlcast(xmlquery('fn:matches($TPP_VAL,"-")') as integer)>0;
方法2优点:
使用正则匹配,解决了方法一隐藏的问题
1、如何解决码云冲突?
提出时间:2020-10-29
答:参考链接:git pull时冲突的几种解决方式
参考链接:git冲突解决