基本语法
MPP计算引擎模式下,INSERT FROM SELECT的基本语法与LM计算引擎模式一致,请参考“4.2.3 INSERT FROMSELECT语法”章节。
多种引擎模式下的执行
在MPP模式下,INSERT FROM SELECT支持两种执行方式:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提到的是关于在MPP(Massively Parallel Processing)计算引擎模式下,使用INSERT FROM SELECT
语句进行数据插入的基本语法和执行方式的描述。这里主要涉及到了阿里云MaxCompute(原名ODPS)或类似大数据处理平台中的数据操作。下面我将根据您的描述,进一步解释这两种执行方式:
在MPP计算引擎模式下,INSERT FROM SELECT
语句的基本用法与传统的SQL语法相似,用于从一个表(或视图、查询结果)中选择数据并插入到另一个表中。其基本格式如下:
/* engine=MPP*/
INSERT INTO db_name.target_table_name (col1, col2, col3)
SELECT col1, col2, col3
FROM db_name.source_table_name
WHERE col4 = 'xxx';
这段代码表示从source_table_name
表中选择满足条件col4 = 'xxx'
的记录,然后将这些记录的col1
, col2
, col3
列插入到target_table_name
表中。
SELECT
部分的查询会在MPP模式下执行,意味着查询会并行地在多个节点上运行以加速处理。查询结果会被批量返回至FRONTNODE节点,然后FRONTNODE以每批100条记录的方式发起实时数据插入操作。mppNativeInsertFromSelect=true
来启用此模式。/* engine=MPP, mppNativeInsertFromSelect=true*/
INSERT INTO db_name.target_table_name (col1, col2, col3)
SELECT col1, col2, col3
FROM db_name.source_table_name
WHERE col4 = 'xxx';
在使用阿里云MaxCompute或其他支持MPP架构的大数据处理服务时,了解并合理选择INSERT FROM SELECT
的不同执行模式对于提升数据处理效率至关重要。默认模式适用于较小规模或对并发要求不高的场景,而Native MPP模式则更适合需要高并发写入的大数据处理任务。