gpt4 book ai didi

hadoop - 为什么 Hive "create external table"在 S3 上将数据存储在子文件夹 "-ext-10000"下?

转载 作者:可可西里 更新时间:2023-11-01 14:54:39 24 4
gpt4 key购买 nike

下面的 Hive 代码突然开始在一个额外的子文件夹下存储数据;

DROP TABLE IF EXISTS folder_test;

CREATE EXTERNAL TABLE IF NOT EXISTS folder_test (
col1 STRING,
col2 INT,
col3 INT
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ","
LOCATION 's3n://bucket_name/folder_name'
;

insert overwrite table folder_test
select col1, col2, col3
from data_table
limit 10;

因此,数据不是存储在“s3n://bucket_name/folder_name”中,而是存储在“s3n://bucket_name/folder_name/-ext-10000”下。

对该表的查询结果为 0 行,除非使用新位置重新定义该表。

将关键字“overwrite”更改为“into”可以解决这个问题,但需要我们重新访问数百个直到最近都运行良好的脚本。

我们在 AMI 2.3.6 上运行 Hadoop 1.0.3、Hive 0.10.0(Apache 版本而不是 AWS 版本),对以前工作的技术堆栈的唯一更改是从 AMI 2.2.1 转移,我们没有这样做意识到之前我们已经做到了。

为什么会发生这种情况,我们该如何解决?

最佳答案

原来这是在 AMI 2.2.1 和 2.3.6 之间引入的回归,亚马逊希望在 AMI 2.3.7 中修复

关于hadoop - 为什么 Hive "create external table"在 S3 上将数据存储在子文件夹 "-ext-10000"下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16980426/

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