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

大数据计算MaxCompute错误:(1, 19) insert into HASH 该如何插入?

问题1:大数据计算MaxCompute错误:(1, 19) insert into HASH CLUSTERED table/partition comp is not current supported 插入表数据报错,表结构是CREATE TABLE IF NOT EXISTS comp
(file STRING,
x DOUBLE,
y DOUBLE,
aaa BIGINT,
bbb BIGINT,
)
CLUSTERED BY (file ASC,aaa ASC,bbb ASC) sorted by (file ASC,aaa ASC,bbb ASC) into 4096 buckets; 该如何插入?
问题2:语法应该是对的, clustered table and partition. 这种类型的表如何插入

展开
收起
真的很搞笑 2023-07-25 17:57:41 87 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    根据您提供的错误信息,“insert into HASH CLUSTERED table/partition comp is not currently supported”,可以看出这是由于您在向一个哈希分桶表(HASH CLUSTERED)插入数据时出现了错误。MaxCompute 目前不支持向哈希分桶表中插入数据。

    解决方法是将您的表改为非哈希分桶表,例如可以使用传统的分区表(PARTITIONED BY)或者非分桶表(不使用 CLUSTERED BY)来存储数据。您可以按照以下步骤进行修改:

    在 MaxCompute Console 中使用 DROP TABLE 命令删除原先的哈希分桶表。

    使用 CREATE TABLE 命令重新创建表,但是不使用哈希分桶方式。例如,可以使用以下命令创建一个非分桶表:

    sql
    Copy
    CREATE TABLE IF NOT EXISTS comp (
    file STRING,
    ...
    )
    PARTITIONED BY (ds STRING);
    在表中插入数据时,使用 INSERT INTO 语句,指定分区信息,例如:

    sql
    Copy
    INSERT INTO comp PARTITION (ds='2022-07-29') VALUES ('file1', ...);
    需要注意的是,如果您需要使用哈希分桶表来存储数据,可以考虑使用 MaxCompute 的另外一种分桶方式——范围分桶(RANGE CLUSTERED)

    2023-07-29 09:03:56
    赞同 展开评论 打赏
  • 当在MaxCompute中执行类似以下语句时出现错误 "(1, 19) insert into HASH CLUSTERED table/partition comp is not currently supported":

    insert into HASH CLUSTERED table/partition comp ...
    

    这个错误是因为MaxCompute目前不支持使用 HASH CLUSTERED 关键字进行数据插入。在MaxCompute中,表的数据存储方式由系统自动管理,无需手动指定数据的分布方式。

    要解决此问题,请删除 HASH CLUSTERED 关键字,并使用普通的 INSERT INTO 语句将数据插入到表中。例如:

    insert into comp ...
    

    请确保您的INSERT语句符合MaxCompute支持的语法规范,并且没有额外的关键字或语法错误。

    2023-07-28 18:33:19
    赞同 展开评论 打赏

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

相关产品

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

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