云数据仓库ADB mongodb的数据可以导入ADB数仓版吗?
是的,MongoDB的数据可以导入到ADB数仓版。阿里云提供了相关操作指南,详细说明了如何通过ADB MySQL湖仓版(3.0)外表查询MongoDB数据以及将MongoDB中的数据导入至ADB MySQL湖仓版(3.0)。导入过程中需确保满足以下前提条件:
在MongoDB实例所在的同一VPC中已创建ADB MySQL湖仓版(3.0)集群。
已在ADB MySQL控制台集群信息页面的网络信息栏启用ENI网络开关。
已将ADB MySQL湖仓版(3.0)集群的VPC网段加入MongoDB实例的白名单。
具体操作步骤包括:
创建外部数据库:在ADB MySQL的SQL开发编辑器中执行CREATE EXTERNAL DATABASE语句创建外部数据库,如CREATE EXTERNAL DATABASE adb_external_db;
创建外表:执行CREATE EXTERNAL TABLE语句创建外表,指定MongoDB的相关连接信息以及外表与MongoDB文档之间的字段映射关系。注意,ADB MySQL的外表与MongoDB文档的字段名称、数量、顺序、数据类型必须一致。例如:
CREATE EXTERNAL TABLE adb_external_db.person (
id int,
name string,
age int
) ENGINE = 'MONGODB'
TABLE_PROPERTIES = '{
"mapped_name":"person",
"location":"mongodb://testuser:@dds-bp113d414bca8.mongodb.rds.aliyuncs.com:3717,dds-bp113d414bca8****.mongodb.rds.aliyuncs.com:3717/test_mongodb",
"username":"testuser",
"password":"password",
}';
查询数据:外表创建成功后,可使用SELECT语句查询MongoDB集合中的数据,如SELECT * FROM adb_external_db.person;
导入数据:在ADB MySQL湖仓版(3.0)集群中创建数据库和表以存储导入的数据,然后使用INSERT INTO、INSERT OVERWRITE INTO或异步写入(SUBMIT JOB)语句将MongoDB数据导入到ADB MySQL表中。例如:
INSERT INTO adb_demo.adb_import_test SELECT * FROM adb_external_db.person;
完成以上步骤后,即可成功将MongoDB的数据导入到ADB数仓版中。
此回答整理自钉群“云数据仓库ADB-开发者群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。