大数据中AWK命令的示例分析


这篇文章将为大家详细讲解有关大数据中AWK命令的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
对于下面的nginx日志access.log,用脚本分析出访问ip的Top 10。
其实这个题不难,但是考察了几个常用的shell 命令,awk、uniq、sort、head,我觉得对于做大数据开发、运维、数仓等来说都是应该必备的。来上答案其实这个问题还有很多变种,比如除了脚本,用你最熟悉的语言写出来,还有如果文件过大,超过了内存限制,怎么处理。不过这些都是题外话了,我们今天主要讲一下awk在工作中的一些简单的应用。其实awk的功能非常强大, 香港云主机不过今天我们主要来讲讲在我们的工作中比较常用的awk用法。-F 指定拆分文件的分隔符,默认是空格或者 t 比如上面的日志我们想获取第二列的ip地址,我们可以这样写空格我们是可以不用写的,我这里写出来做一个示范。其实还有一种特殊字符,比如hive中默认分隔符是0x01,这种的使用awk怎么写呢?有一些时候我们可以用awk 截取其中的某几个字段拼接出来我们想要的一些语句。
比如我们想截取上面access.log里面的ip字段,然后生成一些sql,插入到数据库。有人会问,这种场景一般什么时候会用呢,比如你有一万条或者更多的数据,你完全可以写一个sql来插入,但是如果是数量太多的话,一次性写入太多数据,会导致锁表,这个时候其他人就没法插入了,如果是线上的生产环境就更不允许了,所以对于一些类似的操作,我们可以拆分出多个sql来一个个的执行,这样单个sql锁表的时间就会减少,避免长时间锁表带来的数据库不可用。有时候我们只想打印出来一些我们想要的列,我们可以通过正则匹配来做。比如我们想打印出来上面的access.log中117开头的ip,可以这样做.其实awk还可以帮我们实现一些简单的类似sql的功能,我们也简单说一下。比如我们有一个下面的学生表id 班级 姓名
id class name1 1班 张三
2 2班 李四
3 1班 王五
4 3班 赵六比如我们想统计每个班级有多少同学,可以使用如下命令关于“大数据中AWK命令的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

相关推荐: Vue 中怎么处理跨域问题

这篇文章给大家介绍Vue 中怎么处理跨域问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。如果你直接在项目中引入 Vue,像用 jQuery 那样用 Vue,那没什么问题,你应该也不会有跨域的疑问。但是如果你做的是单页面应用(SPA),那…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/22 13:27
下一篇 08/22 13:27

相关推荐