【大数据面试】【框架】Linux命令、Shell工具、常见Shell脚本(群起脚本、数仓导入)
一、Linux
1、常用高级命令
ps -ef:查看进程详情,ps -ef|grep dae可以搜索指定进程,-e表示环境变量
ps -au:以用户为主的详细格式,显示进程平均占用资源,不包括cmd列
df -h:文件系统的磁盘空间占用情况,表示大文件,-i表示innode索引命名的小文件
iotop:进行输入输出的进程信息,类似iostate表示IO和CPU变化
xargs:将标准输入转为命令行参数,如echo "one two three" | xargs mkdir
tail:文件最后10行,如tail -n +20 notes.log是从20到最后
uptime:查看系统的平均负载,即特定时间间隔内运行队列中的平均进程数(最近1分钟、5分钟、15分钟系统的负载)。
netstat:显示不同端口的进程信息
2、查看磁盘使用情况、查看进程、查看端口号
df -h
top 或 ps
netstat
二、Shell
1、Shell的常用工具(只需要记住名称)
awk(停止flume进程时使用),显示匹配的文件:awk '/101/' file
sed:使用正则表达式打印文件信息,如sed -n '/^#/!p' /etc/vsftpd/vsftpd.conf
cut:查看指定分割的文字 who|cut -b 3,如:遍历文件夹、读取文件的某几行、截取相应的内容
sort:将文本文件内容加以排序,如sort seq,可以去除重复行-u
2、用Shell写过哪些脚本
(1)集群启动、分发脚本
#!/bin/bash
#涉及到启动停止分支
case $1 in
"start"){
#涉及到多台服务器
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "每个集群内需要执行的命令"
done
};;
"stop"){ };;
#表示case块的结束
esac
(2)数仓与MySQL的导入导出sqoop
主要用到sqoop脚本,涉及到
sqoop --连接mysql hadoop102:3306 root qaz123
--hdfs 路径,存在要删除
--query 条件过滤,如"select id, name from 表 创建时间 操作时间的过滤" and 命令
全量:where 1=1
增量:创建时间
新增和变化:创建时间或操作时间
-- 空值处理
-- 一致性问题
(3)数仓内部的导入
如ODS-->DWD,标准的五步
#!/bin/bash
#2:定义变量,项目名及hive绝对目录
hive=/opt/module/hive/bin/hive
APP=gmall
#3:获取时间
#参数非空
if [-n "$1"]; then
do_date=$1
else
#格式化显示
do_date=`date -d "-1 day" + %F`
fi
#4:SQL,会变※
sql="
先写一天的脚本2020-03-10
遇到表,在表前面加上{$APP}.表名;
遇到事件,把时间替换为$do_date
"
#5:执行SQL
$hive -e "$sql"
最新文章
- javaScript里的原型链
- Raft 为什么是更易理解的分布式一致性算法
- CI-持续集成(1)-软件工业“流水线”概述
- linux内核学习之一 简单c语言反汇编
- User mode and kernel mode
- vpn establish capability from a remote deskstop is disabled错误的解决办法
- PHP中的ob_start用法详解
- Oracle PL/SQL中的循环处理(sql for循环)
- sql中实现split()功能
- JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
- iOS设备per app vpn,什么是什么系统的要求,必须?
- Spring入门学习(二)三种实例化bean的方法
- Scala 对象
- 基于CentOS7系统部署cobbler批量安装系统(week3_day5_part1)-技术流ken
- 如何用java实现一个p2p种子搜索(4)-种子获取
- APP测试中iOS和Android的区别
- MyBatis学习总结_Mybatis查询之resultMap和resultType区别
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
- openstack-KVM安装与使用
- Redis 主从集群搭建及哨兵模式配置
热门文章
- IDE->;Gitlab->;Gitlab CI/CD->;Docker->;K8S流程
- 在图片不被裁剪时opencv绕图片中任意点旋转任意角度
- Docker搭建kafka及监控
- python中的各种运算符
- 洛谷P4638 SHOI2011 银行 ( 最大流)
- 关于Springboot启动报错 Whitelabel Error Page: This application has no explicit mapping
- resultMap处理字段和属性的映射关系
- PhpStorm 2020.1.2破解 | JetBrains PhpStorm 2020.1.2破解版 附破解文件
- Linux系统管理_用户管理
- MySQL 主从复制一主两从环境配置实战