Hive 仅包含拼花文件中字段子集的配置单元表

Hive 仅包含拼花文件中字段子集的配置单元表,hive,parquet,Hive,Parquet,我正在创建一个蜂巢表,如下所示: Create external table test as ( Col1 string, Col2 string) Stored as parquet ‘/file.parquet’ 我的问题是,如果拼花地板文件有100个字段,而我需要我的表只使用其中的5个字段,那么我可以在表定义中使用这5个列名吗?或者我需要做一些不同的事情吗?是的,这将起作用。您可以创建包含所需列的外部表。 我通过将一个包含6列的拼花地板文件写入一个外部路径,然后创建一个顶部有3列的外部表

我正在创建一个蜂巢表,如下所示:

Create external table test as (
Col1 string,
Col2 string)
Stored as parquet ‘/file.parquet’

我的问题是,如果拼花地板文件有100个字段,而我需要我的表只使用其中的5个字段,那么我可以在表定义中使用这5个列名吗?或者我需要做一些不同的事情吗?

是的,这将起作用。您可以创建包含所需列的外部表。 我通过将一个包含6列的拼花地板文件写入一个外部路径,然后创建一个顶部有3列的外部表来测试这一点。在此之后,查询表只生成3列

注意:如果要通过spark访问所有列,可以从外部文件路径读取