2

我正在尝试创建一个 HIVE 表。我不确定我们何时使用 VARCHAR 以及何时使用 String。如果我们使用 VARCHAR 那么我们是否必须像我们在 RDBMS 中定义的那样定义长度为 VARCHAR(10) 请帮助

4

1 回答 1

1

VARCHAR 是在 Hive 0.12.0 中引入的,用于更多符合 SQL 的行为,例如 SQL 字符串比较语义、最大长度等(参见HIVE-4844)。

Varchar 类型使用长度说明符(介于 1 和 65355 之间)创建,该说明符定义字符串中允许的最大字符数。如果正在转换/分配给 varchar 值的字符串值超过长度说明符,则字符串将被静默截断。
还有一个限制:非泛型 UDF 不能直接使用 varchar 类型作为输入参数或返回值。见这里:维基

STRING 没有这样的限制。STRING 的最大长度为 2GB

于 2017-05-12T11:53:45.603 回答