将s3 bucket连接到apachehive和prestodb

nfg76nw0  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(324)

我正在将s3 bucket连接到apache配置单元,以便查询 Parquet 直接通过prestodb在s3中创建文件。
为此,我配置了 hive-site.xml 文件,并在文件中添加了我的aws访问密钥和密钥,如本文所述。现在,我的s3 bucket url路径在哪里 Parquet 文件看起来像:

https://s3.console.aws.amazon.com/s3/buckets/sb.mycompany.com/someFolder/anotherFolder/?region=us-east-2&tab=overview

在创建外部表时,我将s3的位置指定为:

LOCATION "s3://sb.mycompany.com/someFolder/anotherFolder"

apache配置单元无法在提到的位置找到parquet文件,因为它没有向查询返回任何数据。此文件夹包含多个Parquet文件。我的问题是:
配置单元是否可以一次从所有Parquet文件收集数据,因为它们都具有与我为外部表定义的模式相同的模式?
我指定的s3位置的格式是否正确,或者我是否应该包括s3 bucket的区域(如果是,怎么做)?

balp4ylt

balp4ylt1#

如果数据已分区,则需要修复表,在某些情况下,即使没有任何分区,也必须修复表,请在配置单元中使用以下命令:
设置hive.msck.path.validation=ignore;
msck修复表schema.table;

相关问题