scala小工具:自动生成跑批文件

简介: 由于数仓项目中经常需要手工跑批补历史数据,通过excel手工拉取每次都要写函数不太方便,通过小工具生成,省时省力。

import scala.io.StdIn
import java.time.format.DateTimeFormatter
import java.time.LocalDate._
import java.io.PrintWriter
import java.time.LocalDate
object TestBasic {
def main(args: Array[String]): Unit = {

//输入作业名(不含后缀)
val jobName = args(0)
//指定日期格式
val pattern = DateTimeFormatter.ofPattern("yyyyMMdd")
//获取开始日期
var startDt = LocalDate.parse(StdIn.readLine("开始日期(YYYYMMDD):"), pattern)
//获取结束日期
val endDt = LocalDate.parse(StdIn.readLine("结束日期(YYYYMMDD):"), pattern)
//打开文件(写入)
val writer = new PrintWriter(jobName+".bat")
while (startDt.isBefore(endDt)) {
  //写入内容
  writer.write("dsql -c logon.env -f " + jobName + ".dsql TX_DATE=" + startDt.format(pattern) + ">" + jobName + "_" + startDt.format(pattern) + ".sql\n")
  startDt = startDt.plusDays(1)
  writer.write("\n")
}
//关闭文件
writer.close()
//结束
println("work is done!")

}
}

目录
相关文章
|
存储 SQL 分布式计算
Flink - 读取 Parquet 文件 By Scala / Java
parquet 文件常见与 Flink、Spark、Hive、Streamin、MapReduce 等大数据场景,通过列式存储和元数据存储的方式实现了高效的数据存储与检索,下面介绍 Flink 场景下如何读取 Parquet。
1625 0
Flink - 读取 Parquet 文件 By Scala / Java
|
24天前
|
Java Scala
Scala 文件 I/O
Scala 文件 I/O
20 1
|
6月前
|
Scala
scala 读取文件(中文)异常 thread "main" java.nio.charset.MalformedInputException: Input length = 1
scala 读取文件(中文)异常 thread "main" java.nio.charset.MalformedInputException: Input length = 1
60 0
|
7月前
|
Scala
Scala中的模式匹配:强大的匹配和转换工具
Scala中的模式匹配:强大的匹配和转换工具
53 1
|
分布式计算 Java Scala
一天学完spark的Scala基础语法教程十三、文件IO操作(idea版本)
一天学完spark的Scala基础语法教程十三、文件IO操作(idea版本)
120 0
一天学完spark的Scala基础语法教程十三、文件IO操作(idea版本)
|
Java Scala Maven
scala小工具:读取EXCEL自动生成初始化语句
数仓项目中经常遇到业务手工发数据,然后要求补录数据的情况。每次通过excel拉取费时费力,使用小工具提高效率
435 0
|
大数据 Scala 分布式计算
大数据Scala系列之文件以及正则表达式
大数据Scala系列之文件以及正则表达式1 读取行导入scala.io.Source后,即可引用Source中的方法读取文件信息。 import scala.io.Sourceobject FileDemo extends App{ val source = Source.
1393 0
|
Scala Java
[Scala]Scala学习笔记六 文件
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/76574187 1.
880 0