0
点赞
收藏
分享

微信扫一扫

hive创建s3外部表失败解决方案


场景描述:在自建(非aws EMR)hive on hadoop3创建s3外部表的报错如下:

FAILED: SemanticException java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3.S3FileSystem not found

建表语句如下:

CREATE EXTERNAL TABLE table_name() LOCATION
's3n://bucket_name/';

查看官方文档

hive创建s3外部表失败解决方案_hadoop

hadoop3开始使用s3a://,将s3url改为

's3a://bucket_name/'

创建外部表成功后查不到数据

如果你的表有分区,可能是分区数据没有加载,需要加载分区:

MSCK REPAIR TABLE table_name;

执行此命令失败报错FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

解决方案:

set hive.msck.path.validation=ignore;

然后再执行上一条命令,

如果报错如下:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Add request failed : INSERT INTO ​​COLUMNS_V2​​ (​​CD_ID​​,​​COMMENT​​,​​COLUMN_NAME​​,​​TYPE_NAME​​,​​INTEGER_IDX​​) VALUES (?,?,?,?,?) )

考虑字符集的问题:

alter table COLUMNS_V2 modify column COLUMN_NAME  varchar(128) character set utf8;



举报

相关推荐

0 条评论