使用胶水目录的雅典娜中的时间戳错误

时间:2019-07-24 19:27:44

标签: amazon-web-services amazon-athena aws-glue aws-dms aws-glue-data-catalog

我想使用aws athena来读取S3中的实木复合地板文件,胶目录为我的架构提供正确的数据类型,但是athena中的时间戳与源中的时间戳不对应。

雅典娜的例子:

+51525-02-15 09:40:23.000

+49236-04-09 16:16:43.000

+43170-01-10 00:00:00.000

来源中的时间戳记

2019-07-03 00:00:00.000

2018-04-03 10:19:40.000

2019-01-02 09:01:09.000

注意:由于dms / S3中的文件/表太多,因此我需要用胶水或一些自动化过程来解决此问题。

我试图将DMS配置为镶木地板版本1和2。 配置一个胶水作业以读取镶木地板并更正日期,但是当spark尝试读取日期时,我收到以下错误消息。

Illegal Parquet type: INT64 (TIMESTAMP_MICROS);

使用波纹管查询,我可以获得正确的时间戳,但是我找不到在文件/表中为每个时间戳自动执行此操作的方法。

select 
date_format(from_unixtime(to_unixtime("TIMESTAMP")/1000),'%Y-%m-%dT%H:%i:%sZ')

我希望胶水目录中的所有时间戳都获得正确的时间戳yyyy-mm-dd hh-mm-ss.sss

0 个答案:

没有答案