我有一个关于 Impala 的基本问题。我们知道impala允许您查询存储在hdfs中的数据。现在,如果一个文件被分割成多个块,我们假设一行文本分布在两个块上。在hive/mapreduce中,recordreader负责处理这个问题。在这种情况下, Impala 是如何读取记录的?
plicqrtu1#
在impala用户列表中引用我的答案:当impala发现一个不完整的记录(例如,扫描某些文件格式(如文本或rc文件)时,它将继续从下一个块增量读取,直到读取整个记录为止。请注意,这可能需要少量的“远程读取”(从远程数据节点读取),但通常与本地读取的整个数据块(理想情况下通过短路读取)相比,这是一个非常小的量。
1条答案
按热度按时间plicqrtu1#
在impala用户列表中引用我的答案:
当impala发现一个不完整的记录(例如,扫描某些文件格式(如文本或rc文件)时,它将继续从下一个块增量读取,直到读取整个记录为止。请注意,这可能需要少量的“远程读取”(从远程数据节点读取),但通常与本地读取的整个数据块(理想情况下通过短路读取)相比,这是一个非常小的量。