我在Hive中遇到以下问题:我将一个表存储为Textfile,其中所有字段都是STRING类型。我想在ORC表中转换此表,但是一些STRING字段必须强制转换为十进制,精度= 3.问题是初始字符串字段中的逗号不存在,所以我希望看看是否有一种方法可以告诉Hive在字符串结尾之前放置这个小数3位: - )。
所以我的HiveSql命令如下所示:
CREATE my_orc_table(entry1 STRING, entry2 DECIMAL(10,3)) STORED AS ORC;
INSERT INTO TABLE my_orc_table SELECT * FROM my_text_table;
所以问题是如果我的TextTable的entry2中有00050000,我想在ORC表中获得50.0。目前我有50000(我想Hive把逗号放在我的字符串的末尾,这是非常逻辑的,但不是我想要的)。
我试图谷歌一点但我没有真正找到解决方案。
谢谢:-)!
答案 0 :(得分:1)
怎么样..
select cast(entry2 AS DECIMAL)/1000.0