如何在 Impala 中插入无穷大和nan。同样的测试也适用于Hive,但在 Impala 中抛出错误。
> create table z2 (x double);
> insert into z2 values (1),("NaN"),("Infinity"),("-Infinity");
Query: insert into z1 values (1),("NaN"),("Infinity"),("-Infinity")
ERROR: AnalysisException: Incompatible return types 'TINYINT' and 'STRING' of
exprs '1' and ''NaN''.
有人能告诉我怎么给 Impala 修这个吗。
1条答案
按热度按时间sd2nnvve1#
基于 Impala 的数学函数,你错过了
CAST(x AS DOUBLE)
.可以在文本数据文件中将infinity和nan分别指定为inf和nan,impala将它们解释为这些特殊值。它们也可以由某些算术表达式产生;例如,1/0返回无穷大,pow(-1,0.5)返回nan。或者可以强制转换文本值,例如cast('nan'为double)或cast('inf'为double)。
因此,插入内容应为:
然后你会看到: