繁体   English   中英

从CSV创建外部表Hive-时间戳记问题

[英]Create external table Hive from CSV - Timestamp Issue

我正在使用HDP沙箱对Hive进行一些研究。

我有一个日期格式为9-11-2015的CSV文件,我想创建一个时间戳列来存储数据。 该命令如下所示:

create external table product (
productid   string,
...
startdate   timestamp)                                
row format delimited fields terminated by ';'
location '/poc/product' TBLPROPERTIES('skip.header.line.count'='1');

由于预期的格式为YYYY-MM-DD,因此开始日期为空。 这是一个ETL问题,我想知道什么是解决这种转换而不接触数据源的正确方法。

我想知道我的选择。 我可以执行以下操作:

  1. 使用此字段的字符串列创建外部表。
  2. 在Hive或Pig上进行转换并生成另一个文件/表。

我不太喜欢这种方法。 有什么想法/选择吗? 您将如何解决?

到目前为止,我最好的选择。 使用字符串字段创建原始表。 然后创建一个像

创建视图product_作为选择的productid,将concat(from_unixtime(unix_timestamp(startdate,'dd-MM-yyyy'),'yyyy-MM-dd'),'00:00:00.000')作为产品的开始日期

这是正确的方法吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM