全部产品
云市场

创建MongoDB表并读写数据

更新时间:2019-03-17 17:16:26

创建MongoDB表

MongoDB Schema创建成功之后,接下来就可以创建MongoDB表。在DMS中通过以下示例在MongoDB中创建person表:

  1. create external table dla_person (
  2. id int,
  3. title varchar(127),
  4. age int,
  5. create_time timestamp
  6. )TBLPROPERTIES (
  7. TABLE_MAPPING = 'person',
  8. COLUMN_MAPPING = 'title,name'
  9. );
  • external:创建的表是外表

  • tblproperties:外表与源表的映射关系

  • table_mapping:表名映射

  • column_mapping:字段映射关系

表创建成功后,您可以通过MySQL客户端或者MySQL命令行工具连接DLA中的MongoDB Schema,从而使用SQL语句读写MongoDB数据库。

通过DLA将OSS中的数据写入MongoDB

对存储在OSS/Table Store上的大数据进行分析之后,可以通过DLA把结果数据回写到MongoDB,供前台业务使用。

以dla_person表为例,通过MySQL命令行工具连接DLA,执行以下SQL语句把oss_db中customer的前十条记录进行一些转换,然后插入了mongo_test.dla_person 表:

  1. mysql> insert into mongo_test.dla_person
  2. -> select c_custkey, c_name, c_custkey + 20, now() from oss_db.customer limit 10;
  3. +------+
  4. | rows |
  5. +------+
  6. | 10 |
  7. +------+
  8. 1 row in set (3.72 sec)
  9. mysql> select * from mongo_test.dla_person;
  10. +------+--------------------+------+-------------------------+
  11. | id | title | age | create_time |
  12. +------+--------------------+------+-------------------------+
  13. | 1 | james | 10 | 2018-12-14 14:22:54.369 |
  14. | 2 | bond | 20 | 2018-12-14 14:23:48.527 |
  15. | 3 | lily | 30 | 2018-12-14 14:23:48.962 |
  16. | 4 | lucy | 20 | 2018-12-14 14:23:49.396 |
  17. | 1 | Customer#000000001 | 21 | 2018-12-20 10:15:56.629 |
  18. | 3 | Customer#000000003 | 23 | 2018-12-20 10:15:56.629 |
  19. | 5 | Customer#000000005 | 25 | 2018-12-20 10:15:56.629 |
  20. | 7 | Customer#000000007 | 27 | 2018-12-20 10:15:56.629 |
  21. | 9 | Customer#000000009 | 29 | 2018-12-20 10:15:56.629 |
  22. | 2 | Customer#000000002 | 22 | 2018-12-20 10:15:56.629 |
  23. | 4 | Customer#000000004 | 24 | 2018-12-20 10:15:56.629 |
  24. | 6 | Customer#000000006 | 26 | 2018-12-20 10:15:56.629 |
  25. | 8 | Customer#000000008 | 28 | 2018-12-20 10:15:56.629 |
  26. | 10 | Customer#000000010 | 30 | 2018-12-20 10:15:56.629 |
  27. +------+--------------------+------+-------------------------+
  28. 14 rows in set (0.16 sec)