开发者社区 > 大数据与机器学习 > 开源大数据平台 E-MapReduce > 正文

阿里云E-MapReduce中starrocks 2.4的mysql外部表哪个字段类型,映射不上吗?

"阿里云E-MapReduce中starrocks 2.4的mysql外部表,做映射报
ERROR 1064 (HY000): mysql row data parse error, column_data_type=27
错误

mysql建表语句:
CREATE TABLE advertiser (
id int NOT NULL AUTO_INCREMENT,
name varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
method tinyint(1) NOT NULL,
rtb_method json NOT NULL,
status tinyint(1) NOT NULL,
response_time int NOT NULL,
bid_url varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL,
win_notice_url varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
bm_id int DEFAULT NULL,
create_time datetime NOT NULL,
update_time datetime NOT NULL,
tags json DEFAULT NULL,
budget varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL,
budget_abb varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL,
user_id int NOT NULL,
type tinyint(1) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1002 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

starrocks建表语句:
CREATE TABLE dim_external_adx_advertiser (
id int NOT NULL,
name string NOT NULL,
method int NOT NULL,
rtb_method json NOT NULL,
status int NOT NULL,
response_time int NOT NULL,
bid_url string NOT NULL,
win_notice_url string NULL,
bm_id int NULL,
create_time datetime NOT NULL,
update_time datetime NOT NULL,
tags json DEFAULT NULL,
budget string NOT NULL,
budget_abb string NOT NULL,
user_id int NOT NULL,
type int NOT NULL
) ENGINE=mysql
PROPERTIES
(
""host"" = ""xxx"", ""port"" = ""xxx"",...

哪个字段类型,映射不上吗?"

展开
收起
小易01 2023-07-19 20:20:28 233 0
2 条回答
写回答
取消 提交回答
  • 根据您提供的错误信息 "ERROR 1064 (HY000): mysql row data parse error, column_data_type=27",可能是由于列数据类型映射不匹配导致的。

    在阿里云 E-MapReduce 中使用 StarRocks 2.4 版本的 MySQL 外部表时,需要确保外部表中的字段类型与目标表中的字段类型一致或兼容。如果类型不匹配,就会产生解析错误。

    根据错误信息中的 column_data_type=27,表示存在一个无法识别的字段类型,可能是外部表的某个字段类型无法正确映射到 StarRocks 中的对应类型。

    解决此问题的方法:

    1. 检查外部表和目标表的字段定义,确保它们的类型匹配。可以参考 StarRocks 的文档,确认外部表支持的数据类型,并与目标表进行比较。

    2. 如果发现存在不兼容的字段类型,可能需要对数据进行类型转换。例如,在加载数据之前,可以使用 SQL 函数进行转换,将不支持的类型转换为 StarRocks 支持的类型。

    3. 确认 StarRocks 版本是否支持所需的数据类型。有时候,特定版本的 StarRocks 可能没有完全支持所有 MySQL 数据类型。

    请注意,具体解决方案可能因您的数据模式、表结构和业务需求而异。建议您仔细检查和调整外部表字段类型与目标表的匹配性,并阅读 StarRocks 和 E-MapReduce 的官方文档,以获取更多关于外部表和数据加载的详细说明。

    如有需要,请提供更多关于外部表的定义、目标表的结构和数据类型,以便我能够提供更具体的帮助和指导。

    2023-07-31 15:47:41
    赞同 展开评论 打赏
  • 意中人就是我呀!

    不能加Not null,default null。此回答整理至钉群“EMR OLAP(ClickHouse&StarRocks) 用户技术交流群”。

    2023-07-19 23:16:45
    赞同 展开评论 打赏

阿里云EMR是云原生开源大数据平台,为客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、ClickHouse、StarRocks、Delta、Hudi等开源大数据计算和存储引擎,计算资源可以根据业务的需要调整。EMR可以部署在阿里云公有云的ECS和ACK平台。

相关产品

  • 开源大数据平台 E-MapReduce
  • 相关电子书

    更多
    One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
    One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
    如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

    相关镜像