实时数仓 Hologres操作报错合集之指定主键更新模式报错主键数据重复,该如何处理

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。

问题一:Hologres指定主键更新模式,怎么还会报错呢?

Hologres指定主键更新模式,怎么还会报错呢?



参考答案:

报错原因:主键数据重复 或者 导入的数据有重复

解决方法:

①检查一下是否外表重复创建;

②把此表删除重建一下看看

③若数据源包含重复数据,可执行以下开关参数,保留数据源重复数据的第一条:set hg_experimental_affect_row_multiple_times_keep_first = on; 根据业务选择配置

④排查是否在两个transction中create同一张表,如果是,不要并发在两个transcation 内create同一张表,原生PG也会报这种错。

⑤ttl导致,生产环境不建议使用ttl管理数据



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/616591



问题二:Hologres 这个报错是什么意思啊?

Hologres 这个报错是什么意思啊?

ERROR: status { code: SERVER_INTERNAL_ERROR message: "[FunctionsCast.cc:194 CastPrimitiveToPrimitive] HGERR_code 22003 HGERR_msge integer out of range HGERR_end[query_id:70213306939365286]" err_data { filename: "FunctionsCast.cc" lineno: 194 funcname: "CastPrimitiveToPrimitive" sqlerrcode: 50331778 message: "integer out of range" context: "[query_id:70213306939365286]" } }



参考答案:

看起来是你casy 成 int 的类型,入参数据超过 int 最大值



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/613919



问题三:Hologres数据集成mysql到holo写入报错,怎么解决?

Hologres数据集成mysql到holo写入报错,怎么解决?



参考答案:

有超出numeric(32,18)的数据。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/613420



问题四:Hologres出现这个报错是什么意思?子查询没问题,但合并查询后就报错了?

Hologres出现这个报错是什么意思?子查询没问题,但合并查询后就报错了?[17:14:10] 执行结束

[17:14:10] NOTICE: One or more columns in the following table(s) do not have statistics: saas_channel

[17:14:10] [执行失败! 0 row 耗时:11.48s]

[17:14:10] 错误原因:ERROR: status { code: SERVER_INTERNAL_ERROR message: "query next from pg executor failed from 11.199.119.8:26094[query_id:10071409574629053]" err_data { filename: "parse_relation.c" lineno: 3369 funcname: "errorMissingColumn" sqlerrcode: 50360452 message: "column \"c_b03f7278_4903\" does not exist" context: "[query_id:10071409574629053]" message_id: "column \"%s\" does not exist" cursorpos: 0 internalpos: 650 internalquery: "SELECT c_b0525378_5743, c_abc83a38_8068 FROM (SELECT CASE WHEN ((c_b0525678_5747 = 30::INT4) AND CASE WHEN (c_abc87098_8076 > 0::INT8) THEN CASE WHEN (c_abc873b8_8078 = c_abc87098_8076) THEN null::BOOLEAN ELSE TRUE::BOOLEAN END ELSE FALSE::BOOLEAN END AND (c_b05257f8_5749 = 100000::INT4)) THEN c_b05254f8_5745 ELSE null::INT8 END AS c_abc83a38_8068, c_b0525378_5743 FROM (SELECT c_b0525378_5743, c_b05254f8_5745, c_b0525678_5747, c_b05257f8_5749, c_abc87098_8076, c_abc873b8_8078 FROM (SELECT count(c_abc86eb8_8075) AS c_abc87098_8076, sum(c_abc87278_8077) AS c_abc873b8_8078, c_b0525378_5743, c_b05254f8_5745, c_b0525678_5747, c_b05257f8_5749, c_b03f7278_4903, c_b03f8d78_4927, c_b0525438_5744, c_b05255b8_5746, c_b0525738_5748 FROM (SELECT CASE WHEN (c_b05254f8_5745 = c_b09b84f8_2764) IS NULL THEN 1::INT4 ELSE 0::INT4 END AS c_abc87278_8077, c_b0525378_5743, c_b0525438_5744, c_b05254f8_5745, c_b05255b8_5746, c_b0525678_5747, c_b0525738_5748, c_b05257f8_5749, c_abc86eb8_8075 FROM (SELECT c_b09b84f8_2764, c_b0525378_5743, c_b0525438_5744, c_b05254f8_5745, c_b05255b8_5746, c_b0525678_5747, c_b0525738_5748, c_b05257f8_5749, c_abc86eb8_8075 FROM (SELECT FROM hologres.hg_internal_holo_link(\'ClcKJQoECAMQBBIdCL2d1bDM/PERGhIIvZ3VsMz88REQgICQgIAKKAASLgoMMTEuMTk5LjExOS44EJSzAxgDIEIo0MOZqZaB3uMLMPW70cyN4d3jCzjFggM=\', 0) AS T_ab9cf938(c_b0525378_5743 INT8, c_b0525438_5744 INT8, c_b05254f8_5745 INT8, c_b05255b8_5746 CHAR(32), c_b0525678_5747 INT4, c_b0525738_5748 INT8, c_b05257f8_5749 INT4)) AS T_OUTER LEFT JOIN (SELECT FROM hologres.hg_internal_holo_link(\'Cl8KKQoICP////8PEAASHQi9ndWwzPzxERoSCL2d1bDM/PEREICAkIDACigAEjIKDDExLjE5OS4xMTkuOBCUswMY/////w8gCijQw5mploHe4wsw9bvRzI3h3eMLOMWCAw==\', 1) AS T_aba5b638(c_b09b84f8_2764 INT8, c_abc86eb8_8075 BOOLEAN)) T_INNER ON (c_b05254f8_5745 = c_b09b84f8_2764) IS NOT FALSE) as T_RESULT ) AS T_AGG GROUP BY c_b03f7278_4903, c_b03f8d78_4927, c_b0525378_5743, c_b0525438_5744, c_b05254f8_5745, c_b05255b8_5746, c_b0525678_5747, c_b0525738_5748, c_b05257f8_5749) as T_RESULT ) as T_RESULT ) as T_RESULT " } }

Where: [query_id:10071409574629053]



参考答案:

看起来是因为查询走了PQE,将sql中这个地方

count(

distinct CASE

WHEN r.type = 30 and r.consumer_id IN (SELECT consumer_id FROM tiger_dwd.marketing_user_activity_behavior_record WHERE type = 20)

AND o.order_state = 100000 THEN r.consumer_id

END

) AS first_order,

改为:

count(

distinct CASE

WHEN r.type = 30 and exists (SELECT consumer_id FROM tiger_dwd.marketing_user_activity_behavior_record WHERE type = 20 and r.consumer_id = consumer_id)

AND o.order_state = 100000 THEN r.consumer_id

END

) AS first_order,

用in会走pqe,exists走hqe,且性能好

not in和not exists对空值的处理是有区别的,要注意下子查询输出有没有null



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/610821



问题五:maxcompute同步到hologres,采用的方法是建立外部表,请问大家有遇到过类似的情况吗?

maxcompute同步到hologres,采用的方法是建立外部表,然后再把数据写入到hologres的内表中凌晨运行的时候,最近会出现这样的报错,但是过一段时间后重跑就可以,请问大家有遇到过类似的情况吗?



参考答案:

设置下重试次数,看了下报错,估计是他服务之间通信的问题。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/610810

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
相关文章
|
2月前
|
存储 安全 网络安全
Hologres 的安全性和数据隐私保护
【9月更文第1天】随着数据量的不断增长和对数据价值的认识加深,数据安全和隐私保护成为了企业和组织不可忽视的重要议题。Hologres 作为一款高性能的实时数仓产品,在设计之初就将安全性置于核心地位。本文将深入探讨 Hologres 在保障数据安全和隐私方面的措施,包括数据加密、访问控制以及如何满足各类数据保护法规的要求。
61 3
|
2月前
|
消息中间件 Java 数据库连接
Hologres 数据导入与导出的最佳实践
【9月更文第1天】Hologres 是一款高性能的实时数仓服务,旨在提供快速的数据分析能力。无论是从外部数据源导入数据还是将数据导出至其他系统,都需要确保过程既高效又可靠。本文将详细介绍如何有效地导入数据到 Hologres 中,以及如何从 Hologres 导出数据。
98 1
|
3月前
|
SQL DataWorks 数据库连接
实时数仓 Hologres操作报错合集之如何将物理表数据写入临时表
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
56 1
|
3月前
|
SQL JSON 分布式计算
DataWorks操作报错合集之如何解决在创建Hologres开发节点时报错
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3月前
|
SQL DataWorks 安全
DataWorks产品使用合集之怎么将数据导入或写入到 Hologres
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
1月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。
|
1月前
|
人工智能 分布式计算 数据管理
阿里云位居 IDC MarketScape 中国实时湖仓评估领导者类别
国际数据公司( IDC )首次发布了《IDC MarketScape: 中国实时湖仓市场 2024 年厂商评估》,阿里云在首次报告发布即位居领导者类别。
|
1月前
|
SQL 分布式计算 数据挖掘
加速数据分析:阿里云Hologres在实时数仓中的应用实践
【10月更文挑战第9天】随着大数据技术的发展,企业对于数据处理和分析的需求日益增长。特别是在面对海量数据时,如何快速、准确地进行数据查询和分析成为了关键问题。阿里云Hologres作为一个高性能的实时交互式分析服务,为解决这些问题提供了强大的支持。本文将深入探讨Hologres的特点及其在实时数仓中的应用,并通过具体的代码示例来展示其实际应用。
175 0
|
2月前
|
存储 机器学习/深度学习 监控
阿里云 Hologres OLAP 解决方案评测
随着大数据时代的到来,企业面临着海量数据的挑战,如何高效地进行数据分析和决策变得尤为重要。阿里云推出的 Hologres OLAP(在线分析处理)解决方案,旨在为用户提供快速、高效的数据分析能力。本文将深入探讨 Hologres OLAP 的特点、优势以及应用场景,并针对方案的技术细节、部署指导、代码示例和数据分析需求进行评测。
129 7

热门文章

最新文章

相关产品

  • 实时数仓 Hologres
  • 下一篇
    无影云桌面