我是Hive的新手。 我在Hive中有一个表,其中列中包含Unix时间戳值。我正在尝试使用正常的时间戳值更改列值。
我试过这个。我能够将unix时间戳值转换为正常的时间戳值。
"SELECT from_unixtime(cast(ts as bigint)) FROM june11http"
Results
--------
2010-06-10 20:01:07
2010-06-10 20:01:10
2010-06-10 20:01:12
2010-06-10 20:01:14
2010-06-10 20:01:10
2010-06-10 20:01:15
.......
现在我想替换' ts'中的原始值。具有上述值的列。
我尝试了以下查询:
"ALTER TABLE june11http CHANGE ts ts from_unixtime(cast(ts as bigint)".
我看到语法错误。有人可以建议这样做的方法吗?
答案 0 :(得分:1)
因为正确的语法是:
ALTER TABLE name CHANGE column_name new_name new_type
您应该指定new_type而不是执行数据转换。
尝试使用CTAS查询创建新表,它应该可以工作。