一个车险客户(CAR_CUSTOMER)对应多份车险保单(CAR_POLICY);
一份车险保单(CAR_POLICY)对应多份车险理赔(CAR_CLAIM);
把这三张表,合并成一份车险理赔的宽表 CAR_CLAIM_V1;
源表在Oracle数据库中,目标宽表CAR_CLAIM_V1在MongoDB数据库中。
从Oracle库中选择CAR_CLAIM表作为【源数据节点】;
在MongoDB数据库中命名一张车险理赔宽表CAR_CLAIM_V1,作为【目标数据节点】;
从源数据节点,拉出一条【连接线】连向目标数据节点。
【连接线】-【数据写入模式】:更新已在存或插入新数据。
【连接线】-【关联后写入路径】为空。
【连接线】-【关联条件】:源字段(CLAIM_ID),目标字段(CLAIM_ID)。
{% hint style="info" %}
目标表是在MongoDB中,因为MongoDB的特性,所以不必预先定CAR_CLAIM_V1的表结构
{% endhint %}
参照上述步骤一,建立车险保单表同步,从Oracle源库CAR_POLICY表,同步到MongoDB目标库CAR_POLICY_V0表。【连接线】设置如下:
【连接线】-【数据写入模式】:更新已在存或插入新数据。
【连接线】-【关联后写入路径】为空。
【连接线】-【关联条件】:源字段(POLICY_ID),目标字段(POLICY_ID)。
把Oracle源库CAR_CUSTOMER客户表,合并到CAR_POLICY_V0表中。从CAR_CUSTOMER表拉出一条【连接线】连向CAR_POLICY_V0表。【连接线】设置如下:
【连接线】-【数据写入模式】:更新写入。
【连接线】-【关联后写入路径】为空。
【连接线】-【关联条件】:源字段(CUSTOMER_ID),目标字段(CUSTOMER_ID)。
CAR_POLICY_V0是MongoDB的数据集,会自动生成【_id】字段,会与CAR_CLAIM_V1数据集中的【_id】字段产生冲突。所以通过【JS处理】节点,去掉【_id】字段。
【JS处理】节点脚本如下:
function process(record){ // Enter you code at here record.remove("_id"); return record; }
3. 从CAR_POLICY_V0表,拉出一条【连接线】连向上述【JS处理】节点进行处理
4. 从【JS处理】节点拉【连接线】连向CAR_CLAIM_V1表,【连接线】设置如下:
【连接线】-【数据写入模式】:更新写入。
【连接线】-【关联后写入路径】为空。
【连接线】-【关联条件】:源字段(POLICY_ID),目标字段(POLICY_ID)。
Tapdata Real Time DaaS 是集数据实时同步,可视化 ETL 及数据开发、数据治理及低代码 API 发布为一体的实时数据服务平台,支持私有化部署。免费试用:tapdata.net