开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

MaxCompute分区表可以更新外部表的一部份数据吗? 怎么操作的,odps怎么写的?

MaxCompute分区表可以更新外部表的一部份数据吗? 怎么操作的,odps怎么写的?

展开
收起
十一0204 2023-03-27 18:43:20 283 0
2 条回答
写回答
取消 提交回答
  • 意中人就是我呀!

    可以,写insert overwrite语句就行 insert overwrite table a select * from b where mn='xxx';表A不是分区表,表B是分区表但a表的列要有一个跟b表分区匹配的列。(此回答整理自钉钉群“MaxCompute开发者社区2群”)

    2023-03-28 12:29:16
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    MaxCompute分区表可以更新外部表的一部分数据,可以通过以下步骤实现:

    创建外部表和分区表。假设外部表名为external_table,分区表名为partitioned_table,分区列为dt。

    首先需要将外部表的数据加载到分区表中。可以使用以下命令:

    insert overwrite table partitioned_table partition (dt='20220101') select * from external_table where dt='20220101'; 这条命令将外部表的分区数据dt='20220101'导入到分区表中。

    对分区表进行更新操作。假设需要更新分区表中dt='20220101'的数据,可以使用以下命令: update partitioned_table set column1=new_value where dt='20220101'; 最后,需要将更新后的数据再次导出到外部表中。可以使用以下命令: insert overwrite table external_table partition (dt='20220101') select * from partitioned_table where dt='20220101'; 这条命令将更新后的分区数据dt='20220101'导出到外部表中。

    需要注意的是,更新外部表的一部分数据需要进行分区操作。在导入数据和导出数据时都需要指定分区条件。更新数据时只需要更新指定分区的数据。

    2023-03-28 09:51:33
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载