大数据面试大保健(1) | liunx&shell
程序员文章站
2022-07-13 17:54:29
...
Linux
- 1.常用高级命令列出5个
ps -ef 查找进程
top 查看内存
df -h 查看磁盘存储情况
iotop 查看磁盘IO读写(yum install iotop安装)
uptime 查看报告系统运行时长及平均负载
iotop -o 直接查看比较高的磁盘读写程序
nestat -tunlp | grep 端口号 查看端口占用情况
ps aux 查看进程
Shell
- 1.常用工具 (只需要知道名称)
awk,sed,cut,sort 遍历文件夹,读取文件,读取哪行,截取相对应的内容
-
2.用shell写过哪些脚本
集群启动 分发脚本
#!/bin/bash
case $1 in
"start"){
for i in hadoop12 hadoop13 hadoop14
do
ssh $1 ""
done
};;
"stop"){
};;
esac
数仓与mysql的导入导出
sqoop --连接mysql hadoop12:3306 root password
--hdfs 路径 路径存在要删除
--quary "select id,name from 表 创建时间,操作时间" and 命令
全量:where 1=1 增量:创建时间
新增和变化:创建时间 or 操作时间
-- 空值处理
-- 一致性
数仓层级内部的导入 ods -> dwd 5步骤
#!/bin/bash
#2定义变量
hive=/export/servers/hive/bin/hive
APP=gmall
#3获取时间
if [ -n "$1" ]; then
do_date=$1
else
do_date=`date -d "-1 day" +%F`
#4 sql
sql="
先写1天 2020-09-26
遇到表,在表前面加上{$APP}.表名
遇到时间,把时间替换 $do_date
"
#5 执行sql
$hive -e "$sql"