【发布时间】:2021-05-11 18:11:08
【问题描述】:
我正在像这样创建一个 Hive 表:
Create external table test as (
Col1 string,
Col2 string)
Stored as parquet ‘/file.parquet’
我的问题是如果 parquet 文件有 100 个字段并且我需要我的表只使用其中的 5 个,我可以在表定义中使用这 5 个列名还是我需要做一些不同的事情?
【问题讨论】:
我正在像这样创建一个 Hive 表:
Create external table test as (
Col1 string,
Col2 string)
Stored as parquet ‘/file.parquet’
我的问题是如果 parquet 文件有 100 个字段并且我需要我的表只使用其中的 5 个,我可以在表定义中使用这 5 个列名还是我需要做一些不同的事情?
【问题讨论】:
是的,这会起作用。您可以创建具有所需列的外部表。 我通过将包含 6 列的 parquet 文件写入外部路径然后创建一个顶部有 3 列的外部表来测试这一点。发布后,查询表只产生了 3 列。
注意:如果您想通过 spark 访问所有列,可以从外部文件路径读取。
【讨论】: