一、Linux & shell
1、常用高级命令列出5个
ps -ef 、top 、df -h、iotop rpm -ivh、 netstat
2、查看磁盘使用情况、查看进程、查看端口号
df -h、 top ps -ef、netstat
3、写过哪些脚本
1)启动停止脚本、分发
#!/bin/bash
case $1 in
"start"){
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "启动命令,用绝对路径"
done
};;
"stop"){
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "停止命令,用绝对路径"
done
};;
esac
2)数仓层级内部导入
ods=>dwd=>dws=>dwt=>ads
#!/bin/bash
#2定义变量
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="
先写1天 2020-03-10
遇到表,在表前面加上 {$APP}.表名
遇到时间,把时间替换 $do_date
"
# 5 执行sql
$hive -e "$sql"
3)数仓与mysql的导入导出
sqoop --连接mysql hadoop102:3306 root password
--hdfs 路径 路径存在要删除
--quary "select id ,name from 表 创建时间、操作时间" and 命令
全量:where 1 =1 增量 :创建时间
新增和变化:创建时间 or 操作时间
-- 空值处理
--一致性
4、常用工具 (只需要知道名称)
awk、sed 、cut sort 京东 遍历文件夹,读取文件,读取哪行 截取相应内容
5、单引号和双引号区别
1)单引号:'$do_date' 在引号内部的变量不能解释里面变量对应的值
2)双引号:“$do_date” 在引号的内部能够取出变量的值
3)嵌套:看谁在最外层 “ ‘$do_date’ ” (能取出变量值) ‘ “$do_date” ’(不能)