我是 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)".
我看到语法错误。有人能给我出个主意吗?
1条答案
按热度按时间ma8fv8wu1#
因为正确的语法是:
您应该指定新的类型,而不是执行数据转换。
尝试使用ctas查询创建新表,应该可以。