一、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"

【大数据面试】【框架】Linux命令、Shell工具、常见Shell脚本(群起脚本、数仓导入)的更多相关文章

  1. 大数据常用的Linux命令

    Linux文件系统基础知识 要想熟练使用命令,就先要熟练掌握Linux文件系统基础知识: 三个路径 当前路径:也叫当前工作目录,就是当前状态下用户所处的位置 相对路径:相对于当前工作目录开始的路径,会 ...

  2. 77个常用Linux命令和工具

    77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工 ...

  3. 12.Linux软件安装 (一步一步学习大数据系列之 Linux)

    1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...

  4. Linux命令行–更多bash shell命令(转)

    4.1.1 探查程序 ps 命令 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户进程的进程 显示的当前进程的项目 进程号 运行在哪个终端(tty) 进程占用的CPU时间 Linux系统支 ...

  5. 大数据学习之Linux基础01

    大数据学习之Linux基础 01:Linux简介 linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹 在1991年10月5日首次发布.,在加上用户空间的应用程序之后 ...

  6. Spark 介绍(基于内存计算的大数据并行计算框架)

    Spark 介绍(基于内存计算的大数据并行计算框架)  Hadoop与Spark 行业广泛使用Hadoop来分析他们的数据集.原因是Hadoop框架基于一个简单的编程模型(MapReduce),它支持 ...

  7. 《Linux命令、编辑器与shell编程》第三版 学习笔记---002

    <Linux命令.编辑器与shell编程>第三版 学习笔记---001 Linux命令.编辑器与shell编程 Shell准备 1.识别Shell类型 echo  $0 echo $BAS ...

  8. 面试系列二:精选大数据面试真题JVM专项-附答案详细解析

    公众号(五分钟学大数据)已推出大数据面试系列文章-五分钟小面试,此系列文章将会深入研究各大厂笔面试真题,并根据笔面试题扩展相关的知识点,助力大家都能够成功入职大厂! 大数据笔面试系列文章分为两种类型: ...

  9. 坐实大数据资源调度框架之王,Yarn为何这么牛

    摘要:Yarn的出现伴随着Hadoop的发展,使Hadoop从一个单一的大数据计算引擎,成为大数据的代名词. 本文分享自华为云社区<Yarn为何能坐实资源调度框架之王?>,作者: Java ...

  10. 大数据学习之Linux进阶02

    大数据学习之Linux进阶 1-> 配置IP 1)修改配置文件 vi /sysconfig/network-scripts/ifcfg-eno16777736 2)注释掉dhcp #BOOTPR ...

随机推荐

  1. 12.第十一篇 安装docker引擎

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483838&idx=1&sn=5a13aed5 ...

  2. P6189 [NOI Online #1 入门组] 跑步 (DP/根号分治)

    (才了解到根号分治这样的妙方法......) 将每个数当成一种物品,最终要凑成n,这就是一个完全背包问题,复杂度O(n2),可以得80分(在考场上貌似足够了......) 1 #include < ...

  3. 带有pwn环境的Ubuntu22.04快速安装

    pwn环境ubuntu22.04快速安装(有克隆vmk) ubuntu更新到了22.04版本,经过本人测试后非常的好(ma)用(fan),该版本和mac很相像,而且用起来也比较丝滑,只不过配置上稍微有 ...

  4. ubuntu20.04详细安装教程

    1.运行虚拟机,加载一段时间后弹出"安装"界面.语言栏倒数第三个是中文.点击[安装 Ubuntu]. 2.键盘布局,[继续] 3.更新和其他软件,取消[安装Ubuntu时下载更新] ...

  5. 分支结构之二:switch-case

    1.格式 switch(表达式){case 常量1: 执行语句1; //break; case 常量2: 执行语句2; //break; ... default: 执行语句n; //break; } ...

  6. 17.MongoDB系列之了解应用程序动态

    1. 查看当前操作 mongos> db.currentOp() { "inprog" : [ { "shard" : "study" ...

  7. 参考Dubbo3官方文档做的学习笔记

    文章目录 概念与架构 2.1 服务发现 Dubbo3官方文档: https://dubbo.apache.org 服务:是 Dubbo 中的核心概念,一个服务代表一组 RPC 方法的集合,服务是面向用 ...

  8. JavaScript基础&实战(1)js的基本语法、标识符、数据类型

    文章目录 1.JavaScript简介 2.输出语句 2.1 代码块 2.2 测试结果 3.JS编写位置 3.1代码 3.2 测试结果 4.基本语法 4.1 代码 5.标识符 5.1 代码 6.数据类 ...

  9. JUC(8)JMM

    文章目录 1.JMM 2.volatile 3.单例模式 1.JMM Volatile是java虚拟机提供轻量级的同步机制 1.保证可见性 2.不保证原子性 3.禁止指令重排 什么是JMM java内 ...

  10. 23.mixin类源码解析

    mixin类用于提供视图的基本操作行为,注意mixin类提供动作方法,而不是直接定义处理程序方法 例如.get() .post(),这允许更灵活的定义,mixin从rest_framework.mix ...