大数据计算MaxCompute查询rds外部表 报这个错是什么原因呢?
MaxCompute
log view: http://logview.odps.aliyun.com/logview/?h=http://service.cn.maxcompute.aliyun-inc.com/api&p=bsh_mc_dev&i=20240705012731615ghsoe19o9k2&token=SVEyU3hMV1cwblluV05ob21SSDJmSnZpV213PSxPRFBTX09CTzpwNF8yMDMyNjA5ODQzOTk4NzgyMDksMTcyMjczNDg1Mix7IlN0YXRlbWVudCI6W3siQWN0aW9uIjpbIm9kcHM6UmVhZCJdLCJFZmZlY3QiOiJBbGxvdyIsIlJlc291cmNlIjpbImFjczpvZHBzOio6cHJvamVjdHMvYnNoX21jX2Rldi9pbnN0YW5jZXMvMjAyNDA3MDUwMTI3MzE2MTVnaHNvZTE5bzlrMiJdfV0sIlZlcnNpb24iOiIxIn0=
ddl: set odps.sql.hive.compatible = true;
CREATE EXTERNAL TABLE mc_vpc_rds_external (
id
bigint
,create_account
varchar(60)
,create_name
varchar(150)
,create_time
datetime
,last_update_account
varchar(60)
,last_update_name
varchar(150)
,last_update_time
datetime
,del_flag
tinyint
,version
bigint
,visit_user_id
bigint
,visit_user_name
varchar(255)
,area_id
bigint
,area_name
varchar(200)
)
STORED BY 'com.aliyun.odps.jdbc.JdbcStorageHandler'
location 'jdbc: mysql://rm-2ze01y92y1tzp.mysql.rds.aliyuncs.com:3306/rds_test?useSSL=false&user=&password=**&table=rds_mc_external'
TBLPROPERTIES(
'mcfed.mapreduce.jdbc.input.query'='select * from rds_test.rds_mc_external',
'networklink'='networklink4mysql'
);
rds那边的类型是不是有个tinyint,这个报错根因是外表的列类型和rds的类型不匹配导致的,需要对应下列,varchar和text用string接收我理解没问题,rds的tinyint类型,要不就统一用tinyint接收,要不就统一用bigint接收下。现在需要改一下ddl的类型和rds表的类型对应上,再读
,此回答整理自钉群“MaxCompute开发者社区1群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。