【发布时间】:2018-01-19 10:40:45
【问题描述】:
我在 Hive 中遇到以下问题:我有一个存储为文本文件的表,其中所有字段都是 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 将逗号放在字符串的末尾,这很合乎逻辑,但不是我想要的)。
我尝试谷歌了一下,但我并没有真正找到解决方案。
谢谢你:-)!
【问题讨论】: