性能配置单元“插入到选择限制“非常慢

zzzyeukh  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(298)

我在用spark做执行引擎的Hive上工作。table是未压缩的Parquet地板。
此语句在几秒钟内返回数据:

select * from mydb.src_table 
limit 100;

但是当我做了下面的事情 insert 陈述极其缓慢:

create table mydb.dest_table
    like mydb.src_table
;

insert into mydb.dest_table
    select * from mydb.src_table 
    limit 100
;

我杀了那个人 insert 10分钟后查询。 src_table 相当大(20多亿行,几列包含大量文本),但我只得到100行。我只是不明白 select ... limit 太快了但是 insert ... select ... limit 太慢了。
这个 EXPLAIN 对于 select 显示1个阶段。但是对于 insert 它显示了不少于8个阶段-发生了什么?
有什么想法吗?

zi8p0yeb

zi8p0yeb1#

不需要创建表,然后插入记录,试试ctas
试试这个,

CREATE TABLE IF NOT EXISTS mydb.dest_table 
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '28'
STORED AS TEXTFILE AS
 SELECT * FROM mydb.src_table;

相关问题