使用Crontab定时执行Spark任务【面试+工作】

2018-09-29 17:23:23 浏览数 (1)

使用Crontab定时执行Spark任务【面试 工作】

本文的主要内容有:

  • Linux下使用定时器crontab
  • Linux下如何编写Perl脚本
  • 在Java程序中调用Linux命令
  • 实例:每天0点30分执行Spark任务

1. Linux下使用定时器crontab

1、安装

2、启停命令

3、查看所有定时器任务

这个定时器任务是每分钟用sh执行test.sh脚本

4、添加定时器任务

5、crontab的时间表达式

基本格式 :

6、常用实例

2. Linux下编写Perl脚本

1、首先安装Perl

2、写一个最简单的Perl脚本

内容如下:

第一个“#”表示是这一行是注释 第二个“!”表示这一行不是普通注释,而是解释器路径的声明行 后面的“/usr/bin/perl”是perl解释器的安装路径,也有可能是:“/usr/local/bin/perl”,如果那个不行,就换这个 use strict是严格检查语法

3、给该脚本添加可执行权限

Linux档案的基本权限有9个,分别是owner/group/other三种身份各有read/write/execute权限,而各权限的分数对照是r:4,w:2,x:1; 每种身份的权限都是需要累加的,比如当权限是[-rwxrwx—],则表明: owner:rwx=4 2 1=7 group:rwx=4 2 1=7 other:—=0 0 0=0 即该档案的权限数字就是770

4、然后执行该Perl文件即可

由于我们声明了解释器路径,所以不需要使用perl test.pl,而是直接 ./ 就可以执行了

技术图谱大赏

3. 在Java程序中调用Linux命令

主要用到两个类Process和Runtime,代码示例如下:

如果-c 选项存在,命令就从字符串中读取

4. 实例:每天0点30分执行Spark任务

1、首先编写执行Spark任务的Perl脚本:getappinfo.pl

2、添加定时器任务:每天的0点30分执行getappinfo.pl

添加以下内容:

3、脚本中的Spark程序如下:

这个程序首先从Hive中查询数据并展示出来,然后再调用Linux的shell执行另一个Perl脚本getappinfo_new.pl,我们可以在这个脚本中写入其他操作

0 人点赞