详情页标题前

阿里云云原生大数据计算服务 MaxCompute多路输出(MULTI INSERT)-云淘科技

详情页1

MaxCompute SQL支持您在一条SQL语句中通过insert intoinsert overwrite操作将数据插入不同的目标或者分区中,实现多路输出。

本文中的命令您可以在如下工具平台执行:

  • MaxCompute客户端
  • MaxCompute控制台(查询编辑器)
  • DataWorks控制台
  • MaxCompute Studio

前提条件

执行操作前需要具备目标表的修改权限(Alter)及源表的元信息读取权限(Describe)。授权操作请参见授权。

功能介绍

使用MaxCompute SQL处理数据时,multi insert操作可以将数据插入不同的目标表或分区中,实现多路输出。

使用限制

multi insert操作的使用限制如下:

  • 单条multi insert语句中最多可以写255路输出。超过255路,会上报语法错误。
  • 单条multi insert语句中,对于分区表,同一个目标分区不允许出现多次。
  • 单条multi insert语句中,对于非分区表,该表不能出现多次。

命令格式

from 
insert overwrite | into table  [partition ()]

insert overwrite | into table 
[partition ()] ...;
  • from_statement:必填。from子句,代表数据来源。例如,源表名称。
  • table_name:必填。需要插入数据的目标表名称。
  • pt_spec:可选。需要插入数据的目标分区信息,此参数不允许使用函数等表达式,只能是常量。格式为(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...)。插入多个分区时,例如pt_spec1和pt_spec2,目标分区不允许出现多次,即pt_spec1和pt_spec2的分区信息不相同。
  • select_statement:必填。select子句,从源表中查询需要插入的数据。

使用示例

  • 示例1:将表sale_detail的数据插入到表sale_detail_multi的2010年及2011年中国的销售记录中。命令示例如下:
    --创建表sale_detail_multi。
    create table sale_detail_multi like sale_detail;
    
    --开启全表扫描,仅此Session有效。将表sale_detail中的数据插入到表sale_detail_multi。
    set odps.sql.allow.fullscan=true; 
    from sale_detail
    insert overwrite table sale_detail_multi partition (sale_date='2010', region='china' )
    select shop_name, customer_id, total_price
    insert overwrite table sale_detail_multi partition (sale_date='2011', region='china' )
    select shop_name, customer_id, total_price;
    
    --开启全表扫描,仅此Session有效。执行select语句查看表sale_detail_multi中的数据。
    set odps.sql.allow.fullscan=true;
    select * from sale_detail_multi;
    
    --返回结果。
    +------------+-------------+-------------+------------+------------+
    | shop_name  | customer_id | total_price | sale_date  | region     |
    +------------+-------------+-------------+------------+------------+
    | s1         | c1          | 100.1       | 2010       | china      |
    | s2         | c2          | 100.2       | 2010       | china      |
    | s3         | c3          | 100.3       | 2010       | china      |
    | s1         | c1          | 100.1       | 2011       | china      |
    | s2         | c2          | 100.2       | 2011       | china      |
    | s3         | c3          | 100.3       | 2011       | china      |
    +------------+-------------+-------------+------------+------------+
  • 示例2:同一目标分区不允许出现多次,否则会返回报错。错误命令示例如下:
    from sale_detail
    insert overwrite table sale_detail_multi partition (sale_date='2010', region='china' )
    select shop_name, customer_id, total_price
    insert overwrite table sale_detail_multi partition (sale_date='2010', region='china' )
    select shop_name, customer_id, total_price;

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/157429.html

(0)
上一篇 2023年12月10日 上午12:58
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSS敏感数据保护-云淘科技

    OSS敏感数据保护是一款识别、分类、分级和保护存储空间(Bucket)中敏感数据的原生服务,可满足数据安全、个人信息保护等相关法规的合规要求。 背景信息 敏感数据主要包括个人隐私信息、密码、密钥、敏感图片等高价值数据,这些数据通常会以不同的格式存储在您的OSS Bucket中。企业拥有大量数据,但无法准确获知这些数据中是否包含敏感数据以及敏感数据所在的位置。…

    阿里云对象存储 2023年12月10日
  • 阿里云云原生大数据计算服务 MaxComputeExternal Volume操作-云淘科技

    External Volume是MaxCompute提供的分布式文件系统和非结构化数据存储方案,通过External Volume可以实现使用MaxCompute引擎处理OSS上的文件数据。本文为您介绍常用的External Volume操作。 External Volume常用操作如下。 类型 功能 角色 操作入口 创建External Volume 在项…

  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS使用前须知-云淘科技

    全栈可观测应用是日志服务提供的一站式IT系统可观测方案,包含IT系统监控、全链路Trace、智能告警等功能。本文介绍全栈可观测功能的相关信息。 产品试用 SLS Playground中的全栈可观测Demo,内置了实例、演示数据、可视化图表等资源,提供了完整的演示环境,便于您快速了解及体验功能。 您可以单击全栈可观测,进行试用。 重要 SLS Playgrou…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云ECS云服务器批量创建ECS实例-云淘科技

    RunInstances批量创建实例接口可以帮助您一次创建多台ECS按量付费或包年包月实例来完成应用的开发和部署,方便实现弹性的资源创建。 前提条件 调用API前,您需要先创建AccessKey。具体操作,请参见创建AccessKey。 重要 禁止使用阿里云账号AccessKey,因为阿里云账号AccessKey泄露会威胁您所有资源的安全。请使用RAM用户A…

    阿里云服务器 2023年12月9日
  • 阿里云对象存储OSSPython常见问题-云淘科技

    本文介绍使用OSS Python SDK的常见问题及解决方法。 OSS Python SDK分片上传失败 解决方法如下: 先确认是直接上传到OSS,还是通过其他proxy传输到OSS(类似CDN)。如果经过CDN再上传到OSS,需要在OSS中配置跨域的HTTP Header,例如Access-Control-Allow-Origin、Access-Contr…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。