前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Crontab定时执行Spark任务【面试+工作】

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

作者头像
Java帮帮
发布2018-09-29 17:23:23
2.3K0
发布2018-09-29 17:23:23
举报

使用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,我们可以在这个脚本中写入其他操作

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java帮帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Linux下使用定时器crontab
  • 2. Linux下编写Perl脚本
  • 3. 在Java程序中调用Linux命令
  • 4. 实例:每天0点30分执行Spark任务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档