欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

大数据面试大保健(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="
  先写12020-09-26
  遇到表,在表前面加上{$APP}.表名
  遇到时间,把时间替换 $do_date
     "
#5 执行sql
$hive -e "$sql"