AWS Glue: crawler misinterprets timestamps as strings. GLUE ETL meant to convert strings to timestamps makes them NULL

故事扮演 提交于 2019-12-05 01:47:36

问题


I have been playing around with AWS Glue for some quick analytics by following the tutorial here

While I have been able to successfully create crawlers and discover data in Athena, I've had issues with the data types created by the crawler. The date and timestamp data types get read as string data types.

I followed this up by creating an ETL job in GLUE using the data source created by the crawler as the input and a target table in Amazon S3

As part of the mapping transformation, I converted the data types of the date and timestamp as string to timestamp but unfortunately the ETL converted these column types to NULLS. I have contemplated using classifiers with GROK expressions but then decided transform them as part of ETL in GLUE.

The timestamp format is as 1/08/2010 6:15:00 PM


回答1:


I don't know what the format of timestamp you use therefore I assumed that the format is the following:

2018-05-30T12:22:07.000Z

In this case you can set the serde parameter in the table definition as below:

'timestamp.formats'='yyyy-MM-dd\'T\'HH:mm:ss.SSSZ'



回答2:


Following are the built-in classifiers for the timestamp data. As you can see the data you have does not match any of them. You will need to create a custom classifier and then add that to a new Crawler (updating existing crawler does not work)

 TIMESTAMP_ISO8601 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?

 TZ (?:[PMCE][SD]T|UTC)

 DATESTAMP_RFC822 %{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME} %{TZ}

 DATESTAMP_RFC2822 %{DAY}, %{MONTHDAY} %{MONTH} %{YEAR} %{TIME} %{ISO8601_TIMEZONE}

 DATESTAMP_OTHER %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{TZ} %{YEAR}

 DATESTAMP_EVENTLOG %{YEAR}%{MONTHNUM2}%{MONTHDAY}%{HOUR}%{MINUTE}%{SECOND}

 CISCOTIMESTAMP %{MONTH} %{MONTHDAY} %{TIME}


来源:https://stackoverflow.com/questions/52032349/aws-glue-crawler-misinterprets-timestamps-as-strings-glue-etl-meant-to-convert

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!