一、基类Column概述

Column是datax中所有数据类型的基类,里面有3个属性,以及一个构造方法,外加一个枚举类;

public abstract class Column {private Type type;private Object rawData;private int byteSize;public Column(final Object object, final Type type, int byteSize) {this.rawData = object;this.type = type;this.byteSize = byteSize;}//省去其他非关键方法public enum Type {BAD, NULL, INT, LONG, DOUBLE, STRING, BOOL, DATE, BYTES}
}

二、Column衍生出的类型对象

一个爷爷衍生出的7个金刚葫芦娃

三、用Column及其子类构建出的记录对象Record

Record家族系列(一般情况下DefaultRecord使用较多)


可以通过idea的全局搜索 record.addColumn方法,看看各个读插件是怎么转成Datax内部Column的。具体方法在Record中

基类Record/*** 给该record 添加列** @param column*/void addColumn(Column column);实现类DefaultRecord@Overridepublic void addColumn(Column column) {columns.add(column);incrByteSize(column);}

四、创建Record的RecordSender类

RecordSender主要方法

RecordSender家族类


RecordSender主要通过createRecord来构建一个Record


五、RecordSender,Record,Column关系总结

1、RecordSender中Record createRecord() 可以创建一个Record
2、Record中void addColumn(Column column)可以将column添加到该记录中


注:

  1. 对源码进行略微改动,主要修改为 1 阿里代码规约扫描出来的,2 clean code;

  2. 所有代码都已经上传到github(master分支和dev),可以免费白嫖

datax(13):源码解读Column-datax中的数据类型相关推荐

  1. faster rcnn源码解读(四)之数据类型imdb.py和pascal_voc.py(主要是imdb和roidb数据类型的解说)

    转载自:faster rcnn源码解读(四)之数据类型imdb.py和pascal_voc.py(主要是imdb和roidb数据类型的解说) - 野孩子的专栏 - 博客频道 - CSDN.NET ht ...

  2. datax(10): 源码解读Communication(Datax通讯类)

    前面看了datax的通讯机制,继续看源码-具体的通讯类 Communication.根据datax的运行模式的区别, 数据的收集会有些区别,这篇文章都是讲的在standalone模式下. 一.comm ...

  3. datax(16):源码解读AbstractReporter

    之前介绍了通信类communication,容器类container,communication的收集类collector,今天再看一个报告类Reporter: 一.概述AbstractReporte ...

  4. Spark Streaming源码解读之Driver中ReceiverTracker架构设计以具体实现彻底研究

    本期内容 : ReceiverTracker的架构设计 消息循环系统 ReceiverTracker具体实现 一. ReceiverTracker的架构设计 1. ReceiverTracker可以以 ...

  5. DataX Transformer 源码分析及 UDF 扩展与使用

    DataX GitHub DataX Transformer 目录 1 前言 2 需求说明 3 解决方案分析 4 解密算法 5 Hive UDF 5.1 测试数据 5.2 新建 Maven 项目 5. ...

  6. spark源码解读3之RDD中top源码解读

    更多代码请见:https://github.com/xubo245/SparkLearning spark源码解读系列环境:spark-2.0.1 (20161103github下载版) 1.理解 输 ...

  7. Fabric中PBFT源码解读——Checkpoint机制

    文章目录 1. 写在前面 1.1 前置阅读 1.2 对TestCheckpoint函数的测试 2. 对TestCheckpoint函数运行流程的解读 2.1 Checkpoint和Water mark ...

  8. Fabric中PBFT源码解读 (3)

    文章目录 5. Preprepare消息的接收以及Prepare消息的发送 6. Prepare消息的接收以及Commit消息的发送 5. Preprepare消息的接收以及Prepare消息的发送 ...

  9. Hive中lateral view的应用到源码解读

    对于从事大数据开发的同学,经常会应用到explode(炸裂函数)和lateral view(侧输出流). Explode(炸裂函数) 参数必须是array或者map格式(通常跟split函数使用): ...

  10. ios html zfplayer,【iOS】ZFPlayer源码解读中

    前言 本篇继ZFPlayer源码解读基础之上,主要解析说明控制层与播放器,因为在上篇文章至现在并未提及丝毫关于这两个类业务的实现. 首先说下这两个类各自的职责. 控制层:主要负责响应与用户之间的交互, ...

最新文章

  1. 【Linux 内核 内存管理】RCU 机制 ① ( RCU 机制简介 | RCU 机制的优势与弊端 | RCU 机制的链表应用场景 )
  2. [密码学] 公钥密码基础与RSA
  3. [开源JVM] yvm - 自制Java虚拟机
  4. WebStorm 格式化代码 - 快捷键
  5. JavaApplet 绘制火柴棒和轮播图片
  6. 最新桌面操作系统份额统计:Windows占比91.59%
  7. (19)ISE14.7软件生成bit失败永久解决方法(FPGA不积跬步101)
  8. 用cocos2d-android开发android游戏时调用box2d中的native本地函数问题
  9. sql server2012中使用convert来取得datetime数据类型样式(全)
  10. H3CSE(路由)学习笔记----下
  11. PHPMailer如何获取企业微信授权码
  12. 整合阿里云视频播放器——Coding在线(十四)
  13. linux ftp命令大全,linux ftp命令详解
  14. Linux(七)DNS域名解析服务器学习
  15. 计算机图形学当前研究热点和发展方向,微软亚洲研究院网络图形组深入解释了图形学的现状、发展和未来...
  16. 用案例说话,教你如何写出有吸引力的开发信以及主题
  17. 拉面哥的火爆看新媒体时代的底层逻辑!
  18. 电脑蓝屏的原因及解决原因
  19. cocos2dx-js 开发
  20. mysql开发语言,纯干货

热门文章

  1. 融360赴美IPO:大数据能否助其吸引海外投资者青睐?
  2. (笔记)记录Sql中一些例子和常用语法
  3. 【论文浅读】《Deep Pyramidal Residual Networks for Spectral–Spatial Hyperspectral Image Classification》
  4. pygame:超级玛丽
  5. MybatisPlusException: Your property named “xxx“ cannot find the corresponding database column name!
  6. 你一事无成,还在那里傻乐
  7. C. Dima and Salad
  8. 《自控力》 第三章读书笔记
  9. linux 挂接磁盘阵列,Linux下磁盘分区挂载和磁盘阵列
  10. 老庙黄金2016春晚抢红包活动技术架构详解