用nifi executescript 生成3小时间隔字符串

本文介绍了一个使用Java实现的NiFi处理器,该处理器能够生成指定范围内的日期字符串。通过循环遍历年份和特定月份,输出每个周期的开始和结束日期。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.io
from datetime import datetime
from org.apache.commons.io import IOUtils
from java.nio.charset import StandardCharsets
from org.apache.nifi.processor.io import StreamCallback
 
class GetDate(StreamCallback):
  def __init__(self):
        pass
  def process(self, inputStream, outputStream):
    #text = IOUtils.toString(inputStream, StandardCharsets.UTF_8)
    dt = ''
    months = [14710]
    for year in range(1990,2016):
        for i in range(len(months)):
            dt1 = datetime(year, months[i], 1000)
            if months[i] == 10:
                dt2 = datetime(year+111000)
            else:
                dt2 = datetime(year, months[i]+31000)
            dt += dt1.strftime("%Y-%m-%d %H:%M:%S") + ',' + dt2.strftime("%Y-%m-%d %H:%M:%S") + ";"
    outputStream.write(dt)
     
flowFile = session.create()
if (flowFile != None):
  flowFile = session.write(flowFile, GetDate())
  #flowFile = session.putAttribute(flowFile, "filename", flowFile.getAttribute('filename').split('.')[0]+'_translated.json')
session.transfer(flowFile, REL_SUCCESS)
session.commit()



本文转自疯吻IT博客园博客,原文链接:http://www.cnblogs.com/fengwenit/p/6170180.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值