Hive Create table - 何时使用 VARCHAR 和 STRING 作为列数据类型

Hive Create table - When to use VARCHAR and STRING as column data type

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

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

Varchar 类型是使用长度说明符(介于 1 和 65355 之间)创建的,它定义了字符串中允许的最大字符数。如果 converted/assigned 到 varchar 值的字符串值超过长度说明符,字符串将被静默截断。
还有一个限制:非泛型 UDF 不能直接使用 varchar 类型作为输入参数或 return 值。 看这里:wiki

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