我使用sqoop import命令将数据从teradata sqooped到Hive。如何将bigint转换为配置单元中的datetime?
对于teradata中的其中一个表,我有一个日期字段。在sqooping之后,我的日期字段显示为具有bigint数据类型的时间戳。
但我需要日期字段作为日期数据类型在配置单元表中。任何人都可以请建议我在实现这个?
我使用sqoop import命令将数据从teradata sqooped到Hive。如何将bigint转换为配置单元中的datetime?
对于teradata中的其中一个表,我有一个日期字段。在sqooping之后,我的日期字段显示为具有bigint数据类型的时间戳。
但我需要日期字段作为日期数据类型在配置单元表中。任何人都可以请建议我在实现这个?
我有这个问题。我的方法是首先创建Hive表。您应该在Teradata数据类型和Hive版本数据类型之间进行对等。之后,您可以使用Sqoop参数--hive-table <table-name>
来插入该表格。
非常感谢您的建议。你能否在这里用一个例子来解释... –
你可以发布与Teradata数据类型和我的Hive版本数据类型等价的sqoop导入命令吗? –
@ Stack777它只是Hive中的一个CREATE TABLE语句,而不是sqoop中的额外参数。这样你就可以根据需要定义你的表模式。 – danielsepulvedab
select to_date(from_unixtime(your timestamp));
example:
select to_date(from_unixtime(1490985000));
output:2017-04-01
我希望它能工作。请让我知道如果我错了。
您提到的格式按预期工作。但是,这只是一个阅读权。我期待的是,在sqoop导入之后,配置单元中的日期字段应该是datetime类型。 –
什么_timestamp与bigint数据类型看起来像?请添加一些样品到您的帖子。 – Andrew
去年我遇到过,我发现的唯一方法是将字段作为varchar作为sqoop导出的一部分进行投放。 – shainnif
色调中的我的日期字段是一个13位数的时间戳,如下所示:1450051200000这是bigint类型。但是我希望日期类型,而不是在sqooping之后使用bigint。 –