使用presto将数据从数据库导入monggo

本文介绍如何使用Presto 0.260将Oracle数据导入MongoDB 3.4.24,避免Decimal溢出问题,并强调表结构一致性。涉及创建表结构、MongoDB操作以及解决数据类型转换问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一简介

本次为orcal导入mongo,将orcal替换为其他数据库也可,本次为增量导入,如果mongoDB存在就更新,不存在就插入

Presto版本:0.260
mongo :3.4.24
orcal :CORE 11.2.0.4.0
调度机需要有presto、mongo客户端

presto mongo连接器

二步骤

1. 通过presto在mongo创建表结构

CREATE TABLE IF NOT EXISTS orders (
    orderkey bigint,
    orderstatus varchar,
    totalprice double,
    orderdate date);

创建完表结构可在mongo数据表_schema中查到对应表结构
在这里插入图片描述
在这里插入图片描述
一定要注意目标数据库和presto各自支持的数据类型,取他们的交集类型,比如我要导出到monggoDB,需要在建表的时候注意不要用char,用varchar,presto不支持char导出

2. 在mongo创建表

切记不能先在monggoDB中建表
db.createCollection(“orders”);

如果_schema有错误,需使用presto删除:
DROP TABLE IF EXISTS mongo_zt_uat.platform_md.middle_f41003
然后从第一步开始

三问题

1.presro读取orcal的number类型时以decimal类型读入,可能会超长溢出,要在orcal进行小数长度限制

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值