- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Spark Version: spark-2.0.1-bin-hadoop2.7
Scala: 2.11.8
我正在将原始 csv 加载到 DataFrame 中。在 csv 中,虽然该列支持日期格式,但它们被写为 20161025 而不是 2016-10-25。参数date_format
包括需要转换为 yyyy-mm-dd 格式的列名称字符串。
在下面的代码中,我首先通过 schema
将 Date 列的 csv 加载为 StringType ,然后我检查是否 date_format
不为空,即有列需要转换为Date
来自 String
,然后使用 unix_timestamp
转换每一列和 to_date
.然而,在csv_df.show()
,返回的行都是null
.
def read_csv(csv_source:String, delimiter:String, is_first_line_header:Boolean,
schema:StructType, date_format:List[String]): DataFrame = {
println("|||| Reading CSV Input ||||")
var csv_df = sqlContext.read
.format("com.databricks.spark.csv")
.schema(schema)
.option("header", is_first_line_header)
.option("delimiter", delimiter)
.load(csv_source)
println("|||| Successfully read CSV. Number of rows -> " + csv_df.count() + " ||||")
if(date_format.length > 0) {
for (i <- 0 until date_format.length) {
csv_df = csv_df.select(to_date(unix_timestamp(
csv_df(date_format(i)), "yyyy-MM-dd").cast("timestamp")))
csv_df.show()
}
}
csv_df
}
+-------------------------------------------------------------------------+
|to_date(CAST(unix_timestamp(prom_price_date, YYYY-MM-DD) AS TIMESTAMP))|
+-------------------------------------------------------------------------+
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
| null|
+-------------------------------------------------------------------------+
null
?
最佳答案
转换 yyyyMMdd
至 yyyy-MM-dd
你可以:
spark.sql("""SELECT DATE_FORMAT(
CAST(UNIX_TIMESTAMP('20161025', 'yyyyMMdd') AS TIMESTAMP), 'yyyy-MM-dd'
)""")
date_format(unix_timestamp(col, "yyyyMMdd").cast("timestamp"), "yyyy-MM-dd")
关于Scala:Spark SQL to_date(unix_timestamp) 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40433065/
使用 Spark 1.6.2 并尝试查找字段是否包含空字符串或日期值。 Spark documentation解释说,如果 unix_timestamp() 函数在失败时返回 null,那么预期会出现
我正在尝试运行此功能以获取Hive中的当前日期,但出现以下错误: Error while compiling statement: FAILED: SemanticException No valid
简单问题: 我有 2 个 Mysql 服务器,我在两个服务器中运行此查询: select unix_timestamp('0000-00-00 00:00:00'); 结果: 在服务器 1 上: my
来自reference : Convert time string with given pattern (‘yyyy-MM-dd HH:mm:ss’, by default) to Unix tim
除了从与帖子相关的评论中获取最大日期之外,我有一个查询运行良好。 所以我想做的是: 关系:1 个帖子到很多评论 使用 max() 获取 UNIX_TIMESTAMP() 中每个帖子的“最新评论日期”
当我想在查询中获取 UNIX_TIMESTAMP() 时,会发生以下情况: 代码: $this->db->where(array('is_active' => 1, 'time' => 'UNIX_T
我正在尝试从数据库中提取数据,并使用 UNIX_TIMESTAMP 按 DATE 组织数据,但它似乎无法正常工作。这只是我失败的尝试之一。我遇到的问题是我试图将表中的 Field 转换为 UnixTi
我有一个php函数使用mysql查询UNIX_TIMESTAMP()来创建唯一的事务号,但我发现如果该函数在同一时间循环,它将为情况1生成相同的事务号,使用情况2则不是大循环的好方法。 1.我使用交易
我正在对 mysql 数据库发出以下查询,但它没有按照我的预期工作:- SELECT UNIX_TIMESTAMP(exprTime) FROM config exprTime 的类型是日期时间。表包
我一直在数据库中使用 CURRENT_TIMESTAMP 作为条目,但现在希望更改为 unix 时间戳。 如此处所示,我有数据,但对于每一行,我想使用 UNIX_TIMESTAMP() 并将其返回的值
我已经全部查看过了,但似乎我所需的编码并没有在任何地方得到解决。请注意,“间隔”变量对我不起作用。请使用当前代码,该代码可以很好地显示当前周的所有日期。 下面的代码将本周的所有日期拆分出来,但如何调整
这会变成 NULL,为什么? select unix_timestamp(addtime(date(now()), time(from_unixtime(1426705199)))) 由于某种原因,它
我对分区主题还很陌生,并且由于数据的大量积累而出现了必要性。 嗯,基本上它是一个访问控制系统,目前有20个部门,每个部门大约有100个用户。系统记录了进入和退出的日期和时间(from_date/to_
我有一个表,其中有一列名为 date_time。它包含时间的 unix 编号。像这样: // mytable +----+------------+ | id | date_time | +----
大家好,我有一个关于 UNIX_TIMESTAMP() 的问题:当我用它来检查另一个 UNIX_TIMESTAMP() 时,我从来没有得到我期望的结果. 这里以一个小查询为例: SELECT UN
在我的网站上,我制作了一个自动发票系统。它将从特定月份为特定用户生成发票。您可以选择用户、月份和年份,然后单击生成。 但是,在我的 MYSQL 数据库中,我用 Unix 时间戳存储了用户订购的产品日期
我做了一个测试。这是一个 innodb 表: CREATE TABLE `test_UNIX_TIMESTAMP` ( `id` INT(11) NOT NULL AUTO_INCREMENT,
mysql 中的 UNIX_TIMESTAMP 函数有问题。 设置:我在我的本地 Windows 机器上做一个 wordpress 站点,并定期将我的更新上传到 ubuntu 服务器(page.ly)
在我的 php5 代码中,我想使用 UNIX_TIMESTAMP 函数将日期时间转换为 unix 时间戳,而不使用 php 代码进行转换,因为我相信这种方式更快,但是你如何从行集中获取 unix 时间
我得到了日期,像这样存储在 MySQL 列中:09-11-2012(格式为 DD/MM/YYYY),但是当我这样做时: SELECT UNIX_TIMESTAMP(t.date) FROM table
我是一名优秀的程序员,十分优秀!