Cloudera Impala:它如何从 HDFS 块中读取数据?

Posted

技术标签:

【中文标题】Cloudera Impala:它如何从 HDFS 块中读取数据?【英文标题】:Cloudera Impala: How does it read data from HDFS blocks? 【发布时间】:2014-10-22 03:30:20 【问题描述】:

我有一个关于 Impala 的基本问题。我们知道 Impala 允许您查询存储在 HDFS 中的数据。现在,如果一个文件被分成多个块,假设一行文本分布在两个块中。在 Hive/MapReduce 中,RecordReader 负责此操作。

Impala 在这种情况下如何读取记录?

【问题讨论】:

【参考方案1】:

引用my answer on the Impala user list:

当 Impala 发现不完整的记录时(例如,扫描某些文件格式,如文本或 rc 文件时可能发生这种情况),它将继续从下一个块开始以增量方式读取,直到它读取整个记录。请注意,这可能需要少量的“远程读取”(从远程数据节点读取),但与应该在本地读取的整个块相比(理想情况下通过短路读取),这通常是非常小的数量。

【讨论】:

提供调用这些远程读取的代码的链接会很有用。

以上是关于Cloudera Impala:它如何从 HDFS 块中读取数据?的主要内容,如果未能解决你的问题,请参考以下文章

POC:Cloudera Impala + HDFS + HBase 在单独的集群上

Cloudera impala 支持 mongodb 吗?

Apache Impala数据连接

Impala篇---Hue从初始到安装应用

从放弃到入门27之大数据Cloudera Impala

Cloudera Impala:文件的版本号无效。这可能是由于元数据过时