论掌握一项脚本技术的必要性
工作过程中,我们常常需要对一些我们可能会临时需要的数据进行清洗或者格式化等处理。这个时候就需要借助于一些奇淫技巧或者一些工具,诸如Windows平台下的notepad++,Mac/Linux平台下的vim等。
最近大数据部在进行成本优化,需要对各业务使用带宽、数据量、访问量、以及pv、uv等各种可进行成本优化的信息进行分类统计,然后进行逐步缩减优化。期间就频繁多次的借助于shell脚本、Java程序以及HQL来解决了大量问题。
场景一:如何快速过滤出来包含某些内容的行?(shell)
#!/bin/bashcat your_file_name | grep "you_need_filter_content" > result_file
是不是发现很轻松得到了想要的所有行,而且再也不用通过n和N进行向下/上切换,或者通过ctrl+F或者ctrl+B翻页了。
场景二:实时调用API获取数据并录入MySQL。(shell)
#!/bin/bash# 以Get请求为例
reqUrl="yourapi"
echo "request url is : $reqUrl"resData=$(curl $reqUrl)
echo "get data : <$resData>"parseJson(){echo $1 | sed 's/.*'$2':\([^,}]*\).*/\1/'
}# 假设返回的json数据有两个字段,分别为total和fail
total=$(parseJson $resData '"total"')
fail=$(parseJson $resData '"fail"')# 对数据进行入mysql库
insertSql="INSERT INTO your_mysql_table(total,fail) values($total, $fail)"
echo "general sql: <$insertSql>"cnt=$(mysql -hxxxxxx -P3306 -uxxxxxx -pxxxxx your_db_name -e "$insertSql")
if($cnt>0);thenecho 'insert record successfully!'
elseecho 'no insert!'
fi
场景三:如何批量删除redis中指定key数据(以set数据类型为例)?(shell)
假设已经准备好需要删除的redis keys of set member列表文件: wait_deleted_redis_keys
#!/bin/bashcat wait_deleted_redis_keys | while read member_key
do`redis-cli -h your_redis_host -p your_redis_password srem your_redis_set_key $member_key`echo "success:["$member_key"]" >> result_deleted_redis_keys.log
done
echo ">>>>>>>>>>>>>>DONE<<<<<<<<<<<<<" >> result_deleted_redis_keys.log
场景四:如果没有权限执行flushall清空redis中数据,那么如何处理?(shell)
#!/bin/bashredis-cli -h your_redis_host -p your_redis_password --scan --pattern "*" | xargs redis-cli -h your_redis_host -p your_redis_password del
echo ">>>>>>>>>>>>>>clear redis data DONE<<<<<<<<<<<<<"
场景五:如何实时监控某个进程的存活状态,失败并重新拉起?(python)
# -*- coding:UTF-8 -*-import os# 检测进程是否存在
def isRunning(process_name):try:process = len(os.popen('ps aux | grep "' + process_name + '" | grep -v grep | grep -v tail | grep -v keepH5ssAlive').readlines())if process >= 1:return Trueelse:return Falseexcept:print("Check process ERROR!!!")return False# 重新拉起进程
def startProcess(process_script):try:result_code = os.system(process_script)if result_code == 0:return Trueelse:return Falseexcept:print("Process start Error!!!")return False# 服务监控入口
def monitorService(process_name):if isRunning(process_name) == False:startProcess('your_start_process_script')
以上只是通过几个例子来说明脚本(shell/python等等)可以帮助我们快速实现各种小需求和数据处理。当然也不反对你写Java之类程序,然后打包部署启动再执行…
论掌握一项脚本技术的必要性相关推荐
- eps提取高程点在哪里_利用EPS脚本技术实现管线点高程的自动提取
龙源期刊网 http://www.qikan.com.cn 利用 EPS 脚本技术实现管线点高程的自动 提取 作者:王伟 来源:<硅谷> 2013 年第 01 期 摘 要: 地下管线点的高 ...
- 在近期,美众议院为何密集提出了15项新兴技术法案?
来源:资本实验室 近期,美国众议院能源和商业委员会及消费者保护与商业小组委员会密集提出了15项与新兴技术相关的法案议程.这些法案开宗明义,建立了明确的目标:确保美国在新兴技术领域的领导地位,以在全球竞 ...
- 美国拟将14项关键技术列入出口管制清单 商务部回应
中新网1月17日电 针对美拟将14项关键技术列入出口管制清单,商务部新闻发言人高峰表示,中方认为科技发展成果应该得到有效保护,同时也应该让世界各国人民共享. 资料图:商务部新闻发言人高峰.中新社记者 ...
- 美商务部再禁6项新兴技术,包括光刻软件和5nm生产技术
10月25日消息,美国商务部工业安全局(BIS)又对六项新兴技术实施了管控,宣布将六项新兴技术添加到<出口管理条例>(EAR)的商务部管制清单(CCL)中.这其中包括了极紫外线(EUV)掩 ...
- 数据科学家需要掌握的10项统计技术,快来测一测吧
摘要: 本文给出了数据科学应用中的十项统计学习知识点,相信会对数据科学家有一定的帮助. 无论你是不是一名数据科学家,都不能忽视数据的重要性.数据科学家的职责就是分析.组织并利用这些数据.随着机器学习技 ...
- GTC CHINA 2019 | 黄仁勋发表主题演讲,多项创新技术与合作全面助力 AI 加速落地
近日,NVIDIA 创始人兼首席执行官黄仁勋在中国苏州举办的 GTC China 大会上发表主题演讲,宣布多项创新技术与合作,并阐述了 NVIDIA 如何助力 AI 加速进入大规模应用. GTC Ch ...
- 全球最急需的10项IT技术
全球计算机行业协会(CompTIA) 近日评出了"全球最急需的10项IT技术",结果安全和防火墙技术排名首位. 据CompTIA近日公布的<全球IT技术状况>报告显示, ...
- 2022年值得关注的22项新兴技术
2022年值得关注的22项新兴技术 1. 太阳能地球工程技术 假如世界变得太热,为什么不稍稍遮阴呢?众所周知,火山喷发的尘埃和火山灰进入上层大气后能够带来冷却效果:1991年菲律宾皮纳图博火山喷发,导 ...
- 谈谈当代大学生学习IT技术的必要性
21世纪,人类社会已经从工业时代全面进入信息化时代,IT技术的发展正在影响人类的日常生活.比如,外卖平台给人们的用餐提供了更多的选择,移动支付颠覆了传统的支付方式.网购使得人们的购物更加方便,真正做到 ...
最新文章
- 谷歌量子计算突破登Science封面!首次对化学反应进行量子模拟
- 读中文_校友分享预告 | 在港中文读物理是什么体验?理科就业转商科有何经验心得?...
- URL重写(使用微软URLRewriter)
- VS2010下配置使用OpenGL的glut库
- And seeing the whole machine market
- java 字节编码_java中字符与字节的编码关系
- Seaborn绘制kdeplot和distplot
- 微信小程序ui框架 graceUI 使用半年评测
- 赵小楼《天道》《遥远的救世主》深度解析(20)(补)肖亚文的不当吃不当喝和丁元英没接受18万马克的补偿
- 公司邮箱怎么用微信收邮件?企业微信邮箱原来这么方便!
- 一对一营销与传统营销的区别在哪里?企业如何开展营销?
- ASP模式的机械产品分布式协同设计的研究
- D2 归来, 特此YC一篇
- 公开招标,邀请招标,竞争性谈判,询价采购之间的区别
- SIGCOMM13论文简要选读
- 运算放大器应用汇总2
- 如何保护前端JS代码?前端js代码加密
- img图片加载失败时的处理
- 菜鸟教程离线PDF下载地址整理
- 【Houdini官方入门教程翻译】概述——UV和纹理贴图