使用--auto-generate-sql参数表示用mysqlslap工具自己生成的SQL脚本来测试并发压力
mysqlslap --auto-generate-sql -uroot -p123456
并发测试,使用–concurrency来模拟并发连接,连接数可以多个,用逗号隔开
mysqlslap --auto-generate-sql --concurrency=100 -uroot -p123456
mysqlslap --auto-generate-sql --concurrency=50,100 -uroot -p123456
使用--iterations模拟迭代测试,用于需要多次执行测试得到平均值。
mysqlslap --auto-generate-sql --iterations=5 -uroot -p123456
使用--engine测试不同的存储引擎的性能进行对比
mysqlslap --auto-generate-sql --concurrency=50,100 --iterations=5 --engine=myisam,innodb -uroot -p123456
--query=name,-q 指定自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。--create-schema 指定自定义的测试数据库名称,
mysqlslap --auto-generate-sql --concurrency=50,100 --create-schema="landclash" --query="call landclash.sp_player_getname(34)" --number-of-queries=5000 -uroot -p123456
同步业务库的数据到ODS层,之前一直是全量同步数据,主要考虑IO太大,耗时太长,重复拉取同样的数据,现在考虑增量同步的方式实现,同时对库表数据做分区。
增量同步主要分为两步,第一步,存量数据一次性同步;第二步,在存量数据的基础之上,做增量;后期的每一次同步都是增量同步。以下是具体同步方案:
用Sqoop同步表中全部数据到Hive表中;
a.根据hive中最大更新时间,用Sqoop提取更新时间为这个时间之后的增量数据;
1)获取表的所有列,把datetime和timestamp类型,统一在java中映射成TIMESTAMP类型,脚本如下:
2) 用sqoop import拉取数据,脚本如下:
1)创建增量同步的sqoop job,脚本如下:
a、从hive中获取表的最大更新时间
b、以上面获取的最大更新时间,作为起点,创建sqoop job,脚本如下:
c、创建sqoop job之后,就是执行job了,脚本如下:
具体参数详解,参考: https://www.cnblogs.com/Alcesttt/p/11432547.html
datax字段名不一样dx_substr:从字符串的指定位置(包含)截取指定长度的字符串。如果开始位置非法抛出异常。如果字段为空值,直接返回(即不参与本transformer)
dx_pad:如果源字符串长度小于目标字段长度,按照位置添加pad字符后返回。如果长于,直接截断(都截右边)。如果字段为空值,转换为空字符串进行pad,即最后的字符串全是需要pad的字符
dx_replace:从字符串的指定位置(包含)替换指定长度的字符串。如果开始位置非法抛出异常。如果字段为空值,直接返回(即不参与本transformer)
dx_filter :如果匹配正则表达式,返回Null,表示过滤该行。不匹配表达式时,表示保留该行。
dx_groovy:groovy表达式处理
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)