[英]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问题,我想知道什么是解决这种转换而不接触数据源的正确方法。
我想知道我的选择。 我可以执行以下操作:
我不太喜欢这种方法。 有什么想法/选择吗? 您将如何解决?
到目前为止,我最好的选择。 使用字符串字段创建原始表。 然后创建一个像
创建视图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.