gpt4 book ai didi

hadoop - 使用TDCH将十进制值从Teradata导入到Hive(parquet)时发生类型转换错误

转载 作者:行者123 更新时间:2023-12-02 21:05:10 25 4
gpt4 key购买 nike

我正在尝试使用TDCH将十进制数据从Teradata导入为Hive Parquet格式,但是它给出了类型转换错误。不知道为什么要尝试将小数转换为字符串。我在两侧都使用Decimal数据类型,即Hive和Teradata都使用。时间戳字段也发生了同样的事情。当表格在Hive中为Parquet格式时,就会发生这种情况,对于RCfile格式来说,类似的情况也很好。有什么帮助吗?

最佳答案

根据Parquet Documentation,Parquet中没有Decimal或Timestamp数据类型,这必须是为什么映射到String的原因。

The types supported by the file format are intended to be as minimal as possible, with a focus on how the types effect on disk storage. For example, 16-bit ints are not explicitly supported in the storage format since they are covered by 32-bit ints with an efficient encoding. This reduces the complexity of implementing readers and writers for the format. The types are: - BOOLEAN: 1 bit boolean - INT32: 32 bit signed ints - INT64: 64 bit signed ints - INT96: 96 bit signed ints - FLOAT: IEEE 32-bit floating point values - DOUBLE: IEEE 64-bit floating point values - BYTE_ARRAY: arbitrarily long byte arrays.



Hive列定义中的数据类型与HDFS中的数据类型表示形式不是一回事。如果您需要数据的确切数据类型,则应尝试其他格式。

关于hadoop - 使用TDCH将十进制值从Teradata导入到Hive(parquet)时发生类型转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42150954/

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