Spark 任务提交脚本
说明
该脚本是根据输入起始日期-结束日期,执行从数据库拉取日期间隔数据到HDFS。日期间隔中的日期就是每一年的自然日。
日期格式可以是以下几种:
2018-01-01 2018-12-31 [-][/][.]['']
2018/01/01 2018/12/31 [-][/][.]['']
20180101 20181231 [-][/][.]['']
代码片段
if [[ $# -le || $# -gt ]]; then
echo "Usage: $0 2018-01-01 2018-12-31 or $0 2018/01/01 2018/12/31 or $0 20180101 20181231 [-][/][.]['']"
exit
fi START_DAY=$(date -d "$1" +%s)
END_DAY=$(date -d "$2" +%s)
SPLITER=${} declare -a DATE_ARRAY function getDateRange
{
if [[ $# -ne ]]; then
echo "Usage: getDateRange 2018-01-01 2018-12-31 or getDateRange 2018/01/01 2018/12/31 or getDateRange 20180101 20181231 [-][/][.]['']"
exit
fi START_DAY_TMP=${}
END_DAY_TMP=${}
SPLITER_TMP=${}
I_DATE_ARRAY_INDX= while (( "${START_DAY_TMP}" <= "${END_DAY_TMP}" )); do
cur_day=$(date -d @${START_DAY_TMP} +"%Y${SPLITER_TMP}%m${SPLITER_TMP}%d")
DATE_ARRAY[${I_DATE_ARRAY_INDX}]=${cur_day} START_DAY_TMP=$((${START_DAY_TMP}+))
((I_DATE_ARRAY_INDX++)) done
} getDateRange "${START_DAY}" "${END_DAY}" "${SPLITER}" . /etc/profile.d/custom.sh for SINGLE_DAY in ${DATE_ARRAY[@]};
do #replace your task command in this line
echo `spark-submit --master yarn --deploy-mode client --packages "mysql:mysql-connector-java:6.0.6" --num-executors --executor-memory 4G --class "com.cm.data.datasync.ReadLogDb2HDFS" /home/ubuntu/target/data_analysis-1.0..jar order_log_${SINGLE_DAY} `
done exit
下载地址:Shell
最后奉送 nohub 方式命令 ./spark_submit_script.sh 20180101 20180823 '' > spark_task_2018.out 2>&1 &
一样的颜色的地方可以使用 [-][/][.][''] 替换
Spark 任务提交脚本的更多相关文章
- Spark集群模式&Spark程序提交
Spark集群模式&Spark程序提交 1. 集群管理器 Spark当前支持三种集群管理方式 Standalone-Spark自带的一种集群管理方式,易于构建集群. Apache Mesos- ...
- spark任务提交到yarn上命令总结
spark任务提交到yarn上命令总结 1. 使用spark-submit提交任务 集群模式执行 SparkPi 任务,指定资源使用,指定eventLog目录 spark-submit --class ...
- Spark学习(四) -- Spark作业提交
标签(空格分隔): Spark 作业提交 先回顾一下WordCount的过程: sc.textFile("README.rd").flatMap(line => line.s ...
- Spark配置&启动脚本分析
本文档基于Spark2.0,对spark启动脚本进行分析. date:2016/8/3 author:wangxl Spark配置&启动脚本分析 我们主要关注3类文件,配置文件,启动脚本文件以 ...
- Spark任务提交底层原理
Driver的任务提交过程 1.Driver程序的代码运行到action操作,触发了SparkContext的runJob方法.2.SparkContext调用DAGScheduler的runJob函 ...
- shell 脚本实战笔记(10)--spark集群脚本片段念念碎
前言: 通过对spark集群脚本的研读, 对一些重要的shell脚本技巧, 做下笔记. *). 取当前脚本的目录 sbin=`dirname "$0"` sbin=`cd &quo ...
- git自动提交脚本
每次在linux都要重新一遍一遍敲着这些重复的代码,我想着能够优化一下,做个一键脚本,减少重复劳动. #!/bin/bash git status read -r -p "是否继续提交? [ ...
- Spark作业提交至Yarn上执行的 一个异常
(1)控制台Yarn(Cluster模式)打印的异常日志: client token: N/A diagnostics: Application application_1584359 ...
- Spark学习之路 (十六)SparkCore的源码解读(二)spark-submit提交脚本
一.概述 上一篇主要是介绍了spark启动的一些脚本,这篇主要分析一下Spark源码中提交任务脚本的处理逻辑,从spark-submit一步步深入进去看看任务提交的整体流程,首先看一下整体的流程概要图 ...
随机推荐
- Linux获取当前目录名,shell获取当前目录名
想把当前目录名保存到一个变量中,然后用在别的地方 ${PWD##*/} 测试: cd /var/log/squid echo ${PWD##*/} 还有很多种方法,请参考这个老外写的: http:// ...
- JS-倒计时效果
团购-限时抢 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- apply的调用 http://bbs.51js.com/thread-82017-1-3.html
applay 这个是函数Function的方法为什么Array 也能调用这个函数?比如 function a (){ var kk = []; kk = ...
- js:{}与new Object()的区别是什么
var a = {}; var b = new Object(); 这两种创建对象方式,从测试效果来看,{}会快一点. {} 这个叫做对象字面量 如果new Object()中没有传入参数,与{}是一 ...
- 【BZOJ3772】精神污染 DFS序+主席树
[BZOJ3772]精神污染 Description 兵库县位于日本列岛的中央位置,北临日本海,南面濑户内海直通太平洋,中央部位是森林和山地,与拥有关西机场的大阪府比邻而居,是关西地区面积最大的县,是 ...
- Python GUI--Tkinter实践
之前写了Testlink自动执行程序,现使用Tkinter加上GUI试试,想要实现如下图功能 可以实现通过选择要执行的url及报告url自动执行用例,或可以直接写报告结果内容 因项目原因,只列出部分代 ...
- 图片转成base64的字符串, 如何让图片在html中显示
图片在服务端已编码成base64的字符串放在xml里面,客户端接受xml,取得base64的字符串后,请问如何让图片在html中显示? <img src="data:image/png ...
- EasyUI +MVC +EF实现增删改查
OA项目的框架已经搭建好了,接下来就是在这个框架下完成相应的业务的编码,接下来实现UserInfo页面的增删改查. 1.首先先谈一下遇到的一个框架上的问题:提示EF版本不一致之类的问题,主要是解决方案 ...
- codeforces#505--C Plasticine Zebra
C. Plasticine zebra time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Keras-在预训练好网络模型上进行fine-tune
在深度学习的学习过程中,可能会用到一些已经训练好的模型,比如Alex Net,google Net,VGG,Resnet等,那我们怎样对这些训练好的模型进行fine-tune来提高准确率呢? 参考文章 ...