Hadoop 如何在配置单元中将bigint转换为datetime?

Hadoop 如何在配置单元中将bigint转换为datetime?,hadoop,hive,teradata,sqoop,Hadoop,Hive,Teradata,Sqoop,我使用sqoop导入命令将数据从teradata sqoop到Hive 对于teradata中的一个表,我有一个日期字段。在sqooping之后,my date字段显示为带有bigint数据类型的时间戳 但我需要date字段作为配置单元表中的日期数据类型。谁能建议我实现这一目标 select to_date(from_unixtime(your timestamp)); example: select to_date(from_unixtime(1490985000)); output:20

我使用sqoop导入命令将数据从teradata sqoop到Hive

对于teradata中的一个表,我有一个日期字段。在sqooping之后,my date字段显示为带有bigint数据类型的时间戳

但我需要date字段作为配置单元表中的日期数据类型。谁能建议我实现这一目标

select to_date(from_unixtime(your timestamp));

example:

select to_date(from_unixtime(1490985000));
output:2017-04-01
我希望它能起作用。如果我错了,请告诉我


我希望它能起作用。如果我错了,请告诉我。

我有这个问题。我的方法是首先创建配置单元表。您应该在Teradata数据类型和配置单元版本数据类型之间建立等价关系。之后,您可以使用Sqoop参数
--hive table
插入到该表中。

我遇到了这个问题。我的方法是首先创建配置单元表。您应该在Teradata数据类型和配置单元版本数据类型之间建立等价关系。之后,您可以使用Sqoop参数
--hive table
插入到该表中。

bigint数据类型的时间戳是什么样的?请在您的帖子中添加一些示例。去年我遇到了这个问题。我发现的唯一方法是将该字段转换为varchar,作为sqoop导出的一部分。我的日期字段在色调中是一个13位时间戳,看起来像:1450051200000,是bigint类型。但我希望在sqooping之后使用日期类型而不是色调中的bigint。我尝试使用to_char函数将bigint转换为字符串字段。但是,有没有办法直接从bigint转换为datetime类型而不是字符串呢?为什么不在sqoop查询中使用Teradata函数
cast(列名为date)
函数?请在您的帖子中添加一些示例。去年我遇到了这个问题。我发现的唯一方法是将该字段转换为varchar,作为sqoop导出的一部分。我的日期字段在色调中是一个13位时间戳,看起来像:1450051200000,是bigint类型。但我希望在sqooping之后使用日期类型而不是色调中的bigint。我尝试使用to_char函数将bigint转换为字符串字段。但是,除了字符串之外,还有什么方法可以直接从bigint转换为datetime类型呢?为什么不在sqoop查询中使用Teradata函数
cast(列名称为date)
函数呢?您提到的格式工作正常。但是,这只是一种阅读权。我所期望的是,在sqoop导入之后,配置单元中的日期字段应该是datetime类型。您提到的格式正在按预期工作。但是,这只是一种阅读权。我所期望的是,在sqoop导入之后,配置单元中的日期字段应该是datetime类型。您可以发布sqoop导入命令,使Teradata数据类型与我的配置单元版本数据类型等效吗?@Stack777它将只是配置单元中的一个
CREATE TABLE
语句,而不是sqoop中的一个额外参数。这样,您就可以按照自己的需要定义表架构。您可以发布sqoop import命令,使Teradata数据类型与my Hive版本数据类型等效吗?@Stack777这将只是Hive中的
CREATE table
语句,而不是sqoop中的额外参数。这样,您就可以根据需要定义表架构。