spark循环读取日期文件数据

本文介绍了一种利用Scala和Spark框架循环生成指定格式日期数据的方法,并将生成的数据保存为文本文件。通过Calendar类实现日期的递增操作,具体实现了每周内每天日期的生成,并对数据进行了处理。
val TimeFormat = new SimpleDateFormat("yyyyMMdd")//设定日期的格式
val year = "2016"
    val month = "01,02,03,04,05,06,07,08,09,10,11,12".split(",")
    val testpath = "E:\\Portable\\sibat\\spark\\testdata"
    val calender = Calendar.getInstance()
    for(i <- month){
      for(j <- 0 until 6) { //递增一周
        try {
          calender.setTime(TimeFormat.parse(year + i + "28"))
          calender.add(Calendar.DATE, j) //日期递增j天
        }catch {
          case e: Exception =>
            e.printStackTrace()
        }
        val date = TimeFormat.format(calender.getTime) //规定格式输出递增的日期
        CalStationIO(sparkSession,path+date).saveAsTextFile(outpath+date)
      }
    }
  def CalStationIO(sparkSession: SparkSession,path:String):RDD[String]={
    sparkSession.sparkContext.textFile(path+"/*").map(_.split(",")).filter(_.length>=6).map(s => szt(s(0),s(1),s(2),s(3),s(4),s(5),s(6)))}

通过calender来循环得到日期递增的字符串



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值