当前位置: 首页 > 知识库问答 >
问题:

配置单元的日期和时间戳数据类型的Spark csv数据验证失败

任云瀚
2023-03-14

配置单元表架构:

c_date                  date                                        
c_timestamp             timestamp   

它是文本表

hive> select * from all_datetime_types;
OK
0001-01-01  0001-01-01 00:00:00.000000001
9999-12-31  9999-12-31 23:59:59.999999999
c_date,c_timestamp
0001-01-01 00:00:00.0,0001-01-01 00:00:00.0
9999-12-31 00:00:00.0,9999-12-31 23:59:59.999
    null
SparkConf conf = new SparkConf(true).setMaster("yarn-cluster").setAppName("SAMPLE_APP");
SparkContext sc = new SparkContext(conf);
HiveContext hc = new HiveContext(sc);
DataFrame df = hc.table("testdb.all_datetime_types");
df.printSchema();
DataFrameWriter writer = df.repartition(1).write();
writer.format("com.databricks.spark.csv").option("header", "true").save(outputHdfsFile);

我知道dateformat选项。但是datetimestamp列在配置单元中可以有不同的格式。

我可以简单地将所有列隐藏为字符串吗?

共有1个答案

孟承嗣
2023-03-14

您可以使用spark中的timestampformat选项来指定时间戳格式

spark.read.option("timestampFormat", "MM/dd/yyyy h:mm:ss a").csv("path")
 类似资料:
  • 本文向大家介绍Java将日期类型Date时间戳转换为MongoDB的时间类型数据,包括了Java将日期类型Date时间戳转换为MongoDB的时间类型数据的使用技巧和注意事项,需要的朋友参考一下 存了一个时间类型(Date)的数据到mongo数据库中,但是前台显示的是一串数字。继而引发了如下问题: Java里面如何把 时间戳 1477387464495 转换为 2016-10-25 17:24:2

  • 问题内容: 我正在对jdbc操作使用Spring JDBC模板。由于我使用的是BeanPropertySqlParameterSource,因此将bean的START_TIME变量分配为java.sql.date类型。在Oracle数据库中,该列被称为“ DATE”类型(并且没有TIMESTAMP类型,即使数据库为10.2 ver) 现在当我设定 它以日期和时间戳记存储为00:00:00 请告诉我

  • 我们需要将表列数据类型从string更改为Date。当我试着做的时候,我得到了下面的错误。你能帮帮我吗。

  • 问题内容: 场景: 我有一个从Excel工作表中检索到具有多个列的数据框。其中一些列是日期:一些仅包含日期(yyyy:mm:dd),一些具有日期和时间戳(yyyy:mm:dd 00.00.000000)。 问题: 当日期不是数据框的索引时,如何从日期中删除时间戳? 我已经尝试了什么: 在SO的其他文章中使用pandas中的日期- 在datetime中删除看不见的字符并转换为字符串以及如何剥离pan

  • 我正试图将数据从Oracle加载到Hive作为parquet。每次我将带有日期/时间戳列的表加载到hive时,它都会自动将这些列转换为BIGINT。可以使用sqoop将时间戳/日期格式加载到hive中,并作为一个parquet文件吗? 已经尝试过首先在hive中创建表,然后使用impala将数据加载到parquet文件中。< br >仍然失败,出现错误 "文件XX的第XX列有不兼容的拼花模式:时间

  • 我的问题是,我也希望以这样的格式存储出生日期。现在,我可以将01-01-1900作为开始日期,并将自该日期以来的天数存储在int中。虽然我很肯定这会很好,但感觉像是epoch是一个很好的概念,但生日的感觉像是我在建立自己的惯例,这是我通常喜欢避免的。 对于将日期存储标准化为一个数字,是否有任何既定的标准?哪一个日期应该是比较基准日期?