【发布时间】:2022-01-25 23:10:08
【问题描述】:
我有如下数据:
val jsonData = "{\n \"id\":\"" + a + "\",\n \"Category\":\"Flink\",\n \"eventTime\":\""+dateTime+"\"\n \n}"
我还创建了一个获取current timestamp 的DateTime 变量。
val dateTime:String =DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS").format(LocalDateTime.now)
现在我有一个用于创建数据集的 for 循环:
for (a <- minRange to maxRange) {
jsonData = "{\n \"id\":\"" + a + "\",\n \"Category\":\"Flink\",\n \"eventTime\":\""+dateTime+"\"\n \n}"
println(jsonData)
Thread.sleep(500)
}
现在我想要实现的是,我想动态替换JSON 数据中eventTime 属性的值。它是记录的event time。记录到达源的时间。但是,当我尝试运行示例代码时,它给了我如下输出:
{
"id":"10",
"Category":"Flink",
"eventTime":"2021-12-26 21:09:53.217"
}
{
"id":"11",
"Category":"Flink",
"eventTime":"2021-12-26 21:09:53.217"
}
正如我们所见,它在代码运行时给了我时间戳,这是正确的,但是否可以像 "eventTime":"2021-12-26 21:09:55.589"、"eventTime":"2021-12-26 21:09:58.800" 那样动态获取它?
【问题讨论】:
-
你知道
val和def的区别吗?这甚至不是 Scala 特有的问题,如果你用 Python 重写它,你将面临同样的问题。 -
没有。你能解释一下吗?
-
你知道变量和函数的区别吗?您需要在每次引用
dateTime时调用LocalDateTime.now,而不仅仅是一次。 -
感谢您的宝贵时间
标签: scala