gpt4 book ai didi

hadoop - 是否会在 ORC 文件中读取所有嵌套列?

转载 作者:可可西里 更新时间:2023-11-01 16:27:54 26 4
gpt4 key购买 nike

假设我有一个像这样的 Hive 查询:

CREATE TABLE student (key string, name string, course struct<class_name:string, class_teacher:string>) 
STORED AS ORC;

由于 ORC 文件格式,这将创建 5 个不同的列:

| key | name | course | course.class_name | course.class_teacher |

当尝试只读取 course.class_name 列时,是否每次都会读取 course 的两个子列?如 course.class_namecourse.class_teacher 一样?据我所知,ORC 文件格式允许 Hive 仅加载查询所需的列。那么它实际上会做什么?

最佳答案

你的理解是对的。它将读取在选择查询中指定的唯一列。
如果选择查询是:

Select course.class_name from student

它只会返回类名。
如果您想查询结构的所有列,可以使用以下内容。

select key, name, c.* from students 
lateral view inline (array(course)) c

关于hadoop - 是否会在 ORC 文件中读取所有嵌套列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53998256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com