RestCloud ETL社区版是一款数据集成工具,提供可视化多数据管道构建、数据源管理、运行监控及权限管理功能。

 

1.场景说明:

对于一些业务系统每天运行自动产生一张新数据表,希望通过1条数据流程每天自动读取当天的数据表。如2022年6月1日产生表名称为“table_20220601”,2022年6月2日产生表名称为“table_20220602”,以此类推;对于这样的动态表,如何使用RestCloud ETL简单、便捷实现数据抽取。

2.实现原理:

首先我们需要根据日期自动生成对于的表名称,并做将该参数传输给库表输入组件。实现流程图如下:

实现该业务的前提条件是库表输入组件支持接收变量传输,这个RestCloud ETL无与伦比的优势。

3.实现步骤:

3.1配置"执行Java脚本"

右键"执行Java脚本",点击“节点属性”打开配置编辑页面,点击下一步,编辑Java代码。代码中加入生成表名称代码,输出参数为: p_tablename  ,如下图:

代码如下:

package cn.restcloud.etl.rule.ext;

import org.apache.commons.lang3.StringUtils;

import org.bson.Document;

import java.sql.Connection;

import cn.restcloud.framework.core.context.*;

import cn.restcloud.etl.base.IETLBaseEvent;

import cn.restcloud.etl.base.IETLBaseProcessEngine;

import cn.restcloud.framework.core.util.*;

import cn.restcloud.framework.core.util.db.rdb.*;

import java.util.*;

import java.text.SimpleDateFormat;

/**

indoc为流数据

执行成功必须返回字符1,返回0表示终止流程

*/

public class ETL_T00005_1INWBJPUXVB implements IETLBaseEvent {

@Override

public String execute(IETLBaseProcessEngine engine, Document modelNodeDoc, Document indoc,String fieldId,String params) throws Exception {

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

String table = "table_" + sdf.format(date);

PrintUtil.o(table);

indoc.put("p_tablename",table);

return "1";

}

}

完成代码编辑,点击【编译并保存】退出配置。

3.2 库表输入配置

右键"库表输入",点击“节点属性”打开配置编辑页面。

选择源表数据源,点击下一步:

编辑读取数据SQL语句,select * from 表名称,表名称输入接收参数,参数格式:${参数},${p_tablename},点击下一步:

点击【新增字段】,输入抽取数据表字段,点击保存完成配置。

3.3 库表输出配置

右键"库表输入",点击“节点属性”打开配置编辑页面。

依次输入配置,选择数据源,载入数据库表,选择数据库表。

点击【从表中读入】,勾选关键字(主键),点击下一步。

根据需要选择对应的日记策略,点击保存完成配置。

4.运行测试

点击【运行】

点击【开始运行】

5.查看运行结果

点击库表输出,数据传输统计

感谢您对我们的关注和支持!如需了解更多的功能,请加入RestCloud ETL社区免费下载体验,下载地址:https://etl.restcloud.cn

RestCloud ETL抽取动态库表数据实践的更多相关文章

  1. sql的存储过程实例--动态根据表数据复制一个表的数据到另一个表

    动态根据表数据复制一个表的数据到另一个表 把track表的记录 根据mac_id后两位数字,复制到对应track_? 的表中 如:mac_id=12345678910,则后两位10 对应表为track ...

  2. java 读取mysql库表数据

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  3. ABAP 动态备份自建表数据到新表(自建表有数据的情况下要改字段长度或者其他)

    当abaper开发好一个程序给用户使用一段时间后,发现某个字段的长度需要修改,但数据库表中已经存在很多数据,冒然直接改表字段可能会导致数据丢失,这种问题的后果可能非常严重. 所以我想到先复制出一个新表 ...

  4. Linux中的静态库与动态库

    什么是库文件? 库文件是事先编译好的方法的合集.比如:我们提前写好一些数据公式的实现,将其打包成库文件,以后使用只需要库文件就可以,不需要重新编写. Linux系统中: 1.静态库的扩展名为.a:2. ...

  5. iOS 获取真机上系统动态库文件

    iOS 获取真机上所有系统库文件 系统动态库文件存放真机地址(/System/Library/Caches/com.apple.dyld/dyld_shared_cache_arm64) 在Mac\i ...

  6. java 调用动态库打包sdk

    java连接c++动态库并生成jar包提供给别人调用 1.需要将java通过jni生成头文件,并导入到c++项目并对c++进行jni方法继承 在项目的src目录执行,否则会提示 错误:找不到符号 ja ...

  7. 利用Flume将MySQL表数据准实时抽取到HDFS

    转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...

  8. GCC制作动态库导出符号表【转】

    转自:https://blog.csdn.net/whb_fei/article/details/76974543 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  9. BI项目中的ETL设计详解(数据抽取、清洗与转换 )(转载)

    原文:http://www.cnblogs.com/reportmis/p/5939732.html ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直 ...

  10. MySQL实例多库某张表数据文件损坏导致xxx库无法访问故障恢复

    一.问题发现 命令行进入数据库实例手动给某张表进行alter操作,发现如下报错. mysql> use xx_xxx; No connection. Trying to reconnect... ...

随机推荐

  1. jmeter:CSV数据文件设置解析文件时中文乱码问题

    设置数据文件时可以把数据可放入csv文件或txt文件中 但是,在性能测试中,尽量把数据存放于txt文件中,txt文件消耗的资源比csv文件少,而且txt文件比csv文件更方便更改数据. 文件编码一般使 ...

  2. live555开发笔记(二):live555创建RTSP服务器源码剖析,创建rtsp服务器的基本流程总结

    前言   基于Live555的流媒体服务器方案源码剖析,了解基本的代码搭建步骤.   Demo    关于.h264与.265      没深入研究,但是h264的后缀名.264替换为.h264文件, ...

  3. chatGPT:清理 master 分支的文件,并让这个分支只有一个提交

    Q 我的开发工作都在 master 分支上做的,master 分支有很多的开发的时候产生的临时文件.我想清空 master 分支的历史记录.并且只保留 README.md 和 main.py A 你可 ...

  4. 读项目NeteaseCloudMusicGtk4

    netease-cloud-music-gtk4 是基于 GTK4 + Libadwaita 构造的网易云音乐播放器,专为 Linux 系统打造,已在 openSUSE Tumbleweed + GN ...

  5. 鸿蒙原生开源库 ViewPool 在 OpenHarmony 社区正式上线

    近日,由伙伴参与共建的鸿蒙原生开源库"ViewPool"在OpenHarmony社区正式上线.这个开发库是基于OpenHarmony技术孵化的成果,充分发挥了平台的技术特性,同时融 ...

  6. 【Elasticsearch】一文读懂ES向量搜索:原理剖析与技术全景

    大家好,我是大任,今天给大家分享一下Elasticsearch的向量搜索技术 注:本文若未说明ES版本则为7.10,其他版本会特别标记,由于ES版本不同,部分差异较大,具体请以官方文档为准 一.向量搜 ...

  7. uniapp跨平台开发HarmonyOS NEXT应用初体验

    之前写过使用uniapp开发鸿蒙应用的教程,简单介绍了如何配置开发环境和运行项目.那时候的HbuilderX还是4.22版本,小一年过去了HbuilderX的正式版本已经来到4.64,历经了多个版本的 ...

  8. odoo知识图谱

    最近项目交付后,准备将系统整个知识点整理一下,下面是目录,后面针对目录编写文档--todo

  9. Java子类上加lombock注解@Data或者@ToString,日志中不包括父类的属性

    问题描述:Java子类上加lombock注解@Data或者@ToString,在翻阅日志的时候,发现不打印父类的属性. 问题分析:@Data在编译时会自动为实体类添加setter.getter和toS ...

  10. Go标准库Cond

    Go标准库的Cond Go 标准库提供 Cond 原语的目的是,为等待 / 通知场景下的并发问题提供支持.Cond 通常应用于等待某个条件的一组 goroutine,等条件变为 true 的时候,其中 ...