gpt4 book ai didi

hadoop - DECIMAL值超出范围

转载 作者:行者123 更新时间:2023-12-02 20:32:24 25 4
gpt4 key购买 nike

我正在尝试将SAS环境中的数据发布到远程Hadoop / Hive数据库中(作为序列文件)。我正在执行基本测试,方法是从业务用户那里获取一些源数据,并使用数据步骤将其写出到Hadoop库。

我收到错误消息,指示X行的值超出范围。

例如:

ERROR: Value out of range for column BUY_RT1, type DECIMAL(5, 5). Disallowed value is: 0.

源数据的数字格式为 6.5,而实际值为 .00000

为什么 .00000超出范围? Hadoop的格式需要为 DECIMAL(6, 5)吗?

当值为 0.09时,我得到相同的错误:
ERROR: Value out of range for column INT_RT, type DECIMAL(5, 5). Disallowed value is: 0.09

最佳答案

您可能需要检查SAS中的实际值。如果SAS中的数字值应用了格式,则无论在何处输出该值,您都将看到该数字值的格式化版本(可能是四舍五入的版本),但是由于以下原因,基础数字可能仍具有未显示的更高有效数字:格式。

例如,您说源数据的格式为6.5,“实际值”为0.00000。您确定这是实际值(value)吗?要进行检查,您可以尝试将值与文字0进行比较,或将值以BEST32之类的其他格式放入SAS日志中。 (例如put BUY_RT1 best32.;)。

如果这是问题所在,则解决方案是正确舍入源数字值,而不仅仅是应用格式。

关于hadoop - DECIMAL值超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52767151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com