开发者社区 > 数据库 > 数据仓库 > 正文

云数据仓库ADB mongodb的数据可以导入ADB数仓版吗?

云数据仓库ADB mongodb的数据可以导入ADB数仓版吗?

展开
收起
嘟嘟嘟嘟嘟嘟 2024-04-24 16:01:26 65 0
1 条回答
写回答
取消 提交回答
  • 是的,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-开发者群”

    2024-04-24 16:46:13
    赞同 1 展开评论 打赏

阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 相关电子书

    更多
    基于云原生数据仓库AnalyticDB PG的最佳实践 立即下载
    新氧云原生全栈数仓最佳实践 立即下载
    离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进 立即下载