- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的数据框中,我有一列 TimestampType 格式为“2019-03-16T16:54:42.968Z”的列,我想将其转换为格式为“201903161654”的 StringType 列,而不是通用时间戳列。这是因为我需要根据字符串格式的时间戳对多个目录进行分区,如果我在时间戳列上分区,它会在创建目录时创建特殊字符。
我可以在spark中使用任何api将Timestamp列转换为具有上述格式的字符串类型吗?
最佳答案
使用 unix_timestamp 和 date_format 函数
scala> val dt = Seq("2019-03-16T16:54:42.968Z").toDF("ts_str")
dt: org.apache.spark.sql.DataFrame = [ts_str: string]
scala> dt.select(unix_timestamp('ts_str,"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")).show
+----------------------------------------------------+
|unix_timestamp(ts_str, yyyy-MM-dd'T'HH:mm:ss.SSS'Z')|
+----------------------------------------------------+
| 1552735482|
+----------------------------------------------------+
scala> dt.select(date_format(unix_timestamp('ts_str,"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").cast("timestamp"), "yyyyMMddHHmm").as("res") ).show
+------------+
| res|
+------------+
|201903161654|
+------------+
scala>
或仅使用 to_timestamp 和 date_format 函数
scala> val dt = Seq("2019-03-16T16:54:42.968Z").toDF("ts_str")
dt: org.apache.spark.sql.DataFrame = [ts_str: string]
scala> dt.withColumn("ts_str",to_timestamp('ts_str,"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")).show(false)
+-------------------+
|ts_str |
+-------------------+
|2019-03-16 16:54:42|
+-------------------+
scala> dt.withColumn("ts_str",date_format(to_timestamp('ts_str,"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"), "yyyyMMddHHmm" )).show(false)
+------------+
|ts_str |
+------------+
|201903161654|
+------------+
scala>
关于scala - Spark 将 TimestampType 转换为 yyyyMMddHHmm 格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55212061/
我正在尝试创建自己的 Hibernate 映射以使用 Hibernate 将 UTC 时间戳读写到 DB,因此我正在扩展 Hibernate TimestampType 类,如下所示,但我总是收到以下
我有两个数据帧,我想基于一列加入它们,但需要注意的是,该列是一个时间戳,并且该时间戳必须在某个偏移量(5 秒)内才能加入记录。更具体地说,记录在 dates_df与 date=1/3/2015:00:
我有一个数据框,我想将其插入到 Spark 中的 Postgresql 中。在 spark 中,DateTimestamp 列为字符串格式。在 postgreSQL 中,它是没有时区的 TimeSta
我是 spark 和 scala 的新手。正在尝试读取文本文件并将其保存为 parquet 文件。对我来说,我正在使用的字段之一是 TimeStamp,它的文档说 spark1.1.0 支持 java
我有一些包含在字符串数组中的数据,如下所示(仅作为示例): val myArray = Array("1499955986039", "1499955986051", "1499955986122")
有一个包含事件和特定时间戳的表。我很难使用 Pyspark 2.0 API 计算过去的天数。当时间戳遵循另一种格式(yyyy-mm-dd)时,我设法做同样的事情 +--------------
我有以下在 Pyspark 中无法完全理解的问题。我有以下日期时间对象 utc_now = datetime.now().replace(tzinfo=tz.tzutc()) utc_now # da
当我尝试将字符串字段转换为 Spark DataFrame 中的 TimestampType 时,输出值具有微秒精度(yyyy-MM-dd HH:mm:ss.S)。但我需要格式为 yyyy-MM-dd
在我的数据框中,我有一列 TimestampType 格式为“2019-03-16T16:54:42.968Z”的列,我想将其转换为格式为“201903161654”的 StringType 列,而不
在我的数据框中,我有一列 TimestampType 格式为“2019-03-16T16:54:42.968Z”的列,我想将其转换为格式为“201903161654”的 StringType 列,而不
我有一个看起来像这样的 DataFrame。我想在 date_time 字段的当天进行操作。 root |-- host: string (nullable = true) |-- user_id
我有带有 take(5) 顶行的 Spark DataFrame,如下所示: [Row(date=datetime.datetime(1984, 1, 1, 0, 0), hour=1, value=
我正在尝试从以下列表中创建一个数据框: data = [(1,'abc','2020-08-20 10:00:00', 'I'), (1,'abc','2020-08-20 10:01:00', 'U
我有一个 Pandas 数据框,我正在写入 HDFS 中的一个表。我可以在 Srum_Entry_Creation 时将数据写入表是 StringType() ,但我需要它是 TimestampTyp
我有这个包含以下内容的 csv 文件 (test.csv): COLUMN_STRING;COLUMN_INT;COLUMN_TIMESTAMP String_Value_1;123456;20131
我有一列使用 org.hibernate.type.TimestampType 在 hibernate 中映射。如何使用 native Oracle SQL 根据 Oracle TIMESTAMP 存
我一直在使用 pyspark 3.0。我在 StringType 中有一个包含“时间”列的数据框。我正在尝试将其转换为时间戳。数据框如下所示。 +---------------+ |
我在Databricks笔记本上使用Spark 2.1和Scala 2.11 确切的TimestampType是什么? 从SparkSQL's documentation知道,官方的时间戳类型是Tim
我正在阅读的 CSV 文件包含 3 列。以下是列的格式。 DateTime1 的格式为 "mm/dd/yyyy hh:mm:ss" DateTime2 格式为"dd/mm/yy hh:mm:ss" 日
我在连接到 cassandra 时遇到问题。它总是告诉我: Exception in thread "main" java.lang.RuntimeException: org.apache.cass
我是一名优秀的程序员,十分优秀!