Impala:“NoneType”类型的参数不可迭代

Posted

技术标签:

【中文标题】Impala:“NoneType”类型的参数不可迭代【英文标题】:Impala : argument of type 'NoneType' is not iterable 【发布时间】:2017-01-07 14:43:14 【问题描述】:

我已经从 mysql 导入了一个表,它有 1000 万行到 Hive,现在在 Impala 中执行一些操作来检查功能和性能。现在,当我发出以下查询时,我收到错误 argument of type 'NoneType' is not iterable

select count(id) from my_table_name;

导入数据后我需要做些什么来解决这个问题吗?我打算将 Impala 主要用于分析目的,因此它涉及很多 SUM 和 COUNT 函数。

【问题讨论】:

您使用的是哪个版本的 Impala? @vgunnu 我使用的是 2.6 版 【参考方案1】:

尝试使用refresh 命令。 这是来自 Cloudera 文档的参考:

语法:

REFRESH [db_name.]table_name 使用说明:

在这些场景中,使用 REFRESH 语句为特定表加载最新的元存储元数据和块位置数据:

将新数据文件加载到表的 HDFS 数据目录后。 (一旦您设置了 ETL 管道以定期将数据导入 Impala,这通常是需要刷新元数据的最常见原因。) 在 Hive 中发出 ALTER TABLE、INSERT、LOAD DATA 或其他修改表的 SQL 语句之后。

【讨论】:

以上是关于Impala:“NoneType”类型的参数不可迭代的主要内容,如果未能解决你的问题,请参考以下文章

调用 pymssql.connect 时出现“类型‘NoneType’不可迭代”错误

TypeError:Fetch 参数 None 的类型无效 <type 'NoneType'>

Tensorflow TypeError:获取参数None的类型无效<type'NoneType'>?

Parquet 支持的 Hive 表:Impala 中不可查询的数组列

面向对象:“NoneType”对象不可迭代。为啥?

keras.layers.Concatenate 给出 'NoneType' 对象不可下标