我在UTC和ISO8601中使用了时间戳,但是使用结构化流,它会自动转换为本地时间。有没有办法阻止这种转换?我想在UTC中使用它。
我正在从Kafka中读取json数据,然后使用from_json
Spark函数对其进行解析。
输入:
{"Timestamp":"2015-01-01T00:00:06.222Z"}
流:
SparkSession
.builder()
.master("local[*]")
.appName("my-app")
.getOrCreate()
.readStream()
.format("kafka")
... //some magic
.writeStream()
.format("console")
.start()
.awaitTermination();
架构:
StructType schema = DataTypes.createStructType(new StructField[] {
DataTypes.createStructField("Timestamp", DataTypes.TimestampType, true),});
输出:
+--------------------+
| Timestamp|
+--------------------+
|2015-01-01 01:00:...|
|2015-01-01 01:00:...|
+--------------------+
如您所见,小时本身已经增加。
PS:我尝试使用from_utc_timestamp
Spark功能,但没有运气。
对我来说,它可以使用:
spark.conf.set("spark.sql.session.timeZone", "UTC")
它告诉spark SQL将UTC用作时间戳的默认时区。例如,我在spark SQL中使用了它:
select *, cast('2017-01-01 10:10:10' as timestamp) from someTable
我知道它在2.0.1中不起作用。但适用于Spark 2.2。我SQLTransformer
也用了,它起作用了。
我不确定流。
我有我的时间戳在UTC和ISO8601,但使用结构化流,它会自动转换成本地时间。有办法阻止这种转换吗?我想要UTC的。 正如你所看到的,小时本身就增加了。 PS:我尝试使用Spark函数,但没有成功。
我已经用FileBeat设置了ELK&我将日志转发到弹性搜索,重写@timestamp字段到日志文件中的时间。下面是它的logstash.conf文件 在上面,我尝试使用以下方法将时间戳的时区设置为IST 但我发现了错误 这是为了避免kibana将时间戳转换为我的本地时区,因为时间戳已经在本地时区IST中。 有人能告诉我如何为时间戳设置IST时区或者设置kibana不将时间戳转换为我的本地时区吗?
问题内容: 我有一个毫秒本地本地时间戳,我想将其转换为毫秒本地UTC时间戳。快速浏览一下文档,看起来像这样工作: 有一个更好的方法吗? 问题答案: 使用a 来获取本地纪元处的偏移量,然后将其添加到本地纪元时间戳中。
我有一个Unix历元时间戳(以毫秒为单位),需要获取本地时间的日期字符串。 这是我的代码: 由上述函数生成的原始时间戳和结果日期、小时和所有其他值均以UTC为单位。如何更改代码以在当地时间获取它?
问题内容: 我知道已经有很多关于将UTC时间/日期转换为本地时间/从本地时间转换为答案的帖子,但是没有帮助我弄清楚我的问题是什么。我的问题是:通过具有UTC时间戳,我如何获取本地DateTime?这就是我现在所拥有的,但这只是将时间戳转换为DateTime格式。 编辑:我将UTC时间戳保存在云中,以便每个设备(Android / iOS)都可以查询并将其转换为时区。 问题答案: 试试这个与我一起工
我试图找出如何在Kotlin中将转换为,这在Java中非常简单,但我在Kotlin中找不到任何等效的。 例如:历元时间戳(1970-01-01以来的秒数)== 在Kotlin中是否有解决方案,或者我是否必须在Kotln中使用Java语法?请给我一个简单的例子来说明如何解决这个问题。提前谢谢。 这个链接不是我问题的答案