spring batch (二) 元數據表


內容來自《Spring Batch 批處理框架》,作者:劉相。

一、spring batch 框架進行元數據管理共有六張表,三張SEQUENCE用來分配主鍵的,九張表分別是:

  BATCH_JOB_INSTANCE

  BATCH_JOB_EXECUTION

  BATCH_JOB_EXECUTION_PARAMS

  BATCH_STEP_EXECUTION

  BATCH_STEP_EXECUTION_CONTEXT

  BATCH_JOB_EXECUTION_CONTEXT

  BATCH_STEP_EXECUTION_SEQ

  BATCH_JOB_EXECUTION_SEQ

  BATCH_JOB_SEQ

  這幾張表的建表腳本可以從框架中獲取。我的在:spring-batch-core-3.0.9.RELEASE\org\springframework\batch\core\schema-oracle10g.sql。

  下面對每張表的作用做個說明:

BATCH_JOB_INSTANCE 作業實例表。用於存放Job的實例信息。
BATCH_JOB_EXECUTION 作業執行器表。用於存放當前作業的執行信息,比如創建時間。執行開始時間,執行結束時間,執行的哪個Job實例,執行狀態等。
BATCH_JOB_EXECUTION_PARAMS 作業參數表。用於存放每個Job執行時候的參數信息,該參數實際上是對應Job實例的。
BATCH_STEP_EXECUTION 作業步執行器表。用於存放每個Step執行器的信息,比如作業步的開始時間、執行完成時間、執行狀態、讀/寫次數、跳過次數等。
BATCH_STEP_EXECUTION_CONTEXT 作業步執行上下文表。用於存放每個作業步的上下文信息。
BATCH_JOB_EXECUTION_CONTEXT 作業執行上下文表。用於存放作業執行器上下文的信息。
BATCH_STEP_EXECUTION_SEQ 作業步序列表。用於給表BATCH_STEP_EXECUTION和BATCH_STEP_EXECUTION_CONTEXT提供主鍵。
BATCH_JOB_EXECUTION_SEQ 作業執行器序列表。用於給表BATCH_JOB_EXECUTION和BATCH_JOB_EXECUTION_CONTEXT提供主鍵。
BATCH_JOB_SEQ 作業序列表。用於給表BATCH_JOB_INSTANCE和BATCH_JOB_EXECUTION_PARAMS提供主鍵。
   

 

 

 

 

 

 

 

 

 

 

 

 

二、每個表字段說明:

  1.BATCH_JOB_INSTANCE

    1.1 建表SQL:

CREATE TABLE BATCH_JOB_INSTANCE  (
    JOB_INSTANCE_ID NUMBER(19,0)  NOT NULL PRIMARY KEY ,
    VERSION NUMBER(19,0) ,
    JOB_NAME VARCHAR2(100) NOT NULL,
    JOB_KEY VARCHAR2(32) NOT NULL,
    constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
) ;

    1.2 字段說明:

      JOB_INSTANCE_ID :主鍵。作業實例ID編號,根據BATCH_JOB_SEQ自動生成。

      VERSION :版本號。

      JOB_NAME :作業名稱。即在配置文件中定義的 job id 字段的內容。

      JOB_KEY :作業標識。根據作業參數序列化生成的標識。需要注意通過 JOB_NAME +JOB_KEY  能夠唯一區分一個作業實例。如果是同一個Job,則JOB KEY一定不能相通,即作業參數不能相同。如果不是同一個JOB則KEY可以相同,也就說可以是同一個作業參數。

  2.BATCH_JOB_EXECUTION

    2.1 建表SQL:

CREATE TABLE BATCH_JOB_EXECUTION  (
    JOB_EXECUTION_ID NUMBER(19,0)  NOT NULL PRIMARY KEY ,
    VERSION NUMBER(19,0)  ,
    JOB_INSTANCE_ID NUMBER(19,0) NOT NULL,
    CREATE_TIME TIMESTAMP NOT NULL,
    START_TIME TIMESTAMP DEFAULT NULL ,
    END_TIME TIMESTAMP DEFAULT NULL ,
    STATUS VARCHAR2(10) ,
    EXIT_CODE VARCHAR2(2500) ,
    EXIT_MESSAGE VARCHAR2(2500) ,
    LAST_UPDATED TIMESTAMP,
    JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL,
    constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
    references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
) ;

    2.2 字段說明:

      JOB_EXECUTION_ID :主鍵。作業執行器ID編號。

      VERSION :版本號。

      JOB_INSTANCE_ID :作業實例ID編號。

      CREATE_TIME :作業執行器創建時間。

      START_TIME :作業執行器開始執行時間。

      END_TIME :作業執行器結束時間。

      STATUS :作業執行器的狀態。如:COMPLETED,STARTING,STARTED,STOPPING,STOPTED,FAILED,ABANDED,UNKNOWN。這些狀態在類org.springframework.batch.core.ExitStatus中。

      EXIT_CODE :作業執行器退出編碼。如:UNKNOWN,EXEXCUTION,COMPLETED,NOOP,FAILED,STOPPED。這些狀態在類org.springframework.batch.core.ExitStatus中定義的。

      EXIT_MESSAGE :作業執行器退出描述,詳細描述退出的信息,如果發生異常,通常包含異常的堆棧信息。

      LAST_UPDATED :本條記錄上次更新時間。

      JOB_CONFIGURATION_LOCATION :Job本地配置信息。

  3.BATCH_JOB_EXECUTION_PARAMS

    3.1 建表SQL:

CREATE TABLE BATCH_JOB_EXECUTION_PARAMS  (
    JOB_EXECUTION_ID NUMBER(19,0) NOT NULL ,
    TYPE_CD VARCHAR2(6) NOT NULL ,
    KEY_NAME VARCHAR2(100) NOT NULL ,
    STRING_VAL VARCHAR2(250) ,
    DATE_VAL TIMESTAMP DEFAULT NULL ,
    LONG_VAL NUMBER(19,0) ,
    DOUBLE_VAL NUMBER ,
    IDENTIFYING CHAR(1) NOT NULL ,
    constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
    references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;

    3.2 字段說明:

      JOB_EXECUTION_ID:外鍵,作業執行器ID編號。一個作業實例可能會有多行參數記錄,主要根據參數的個數決定的。

      TYPE_CD :參數類型,可能是如下四種當中的一種:date、string、long、double。

      KEY_NAME :參數的名字。

      STRING_VAL :如果參數是String類型此處存放是String類型的參數值。

      DATE_VAL :如果參數是date類型,此處存放的是date類型的參數值。

      LONG_VAL :如果參數是long類型,此處存放是long類型的參數值。

      DOUBLE_VAL :如果參數是double類型,則此處存放double類型的參數值。

      IDENTIFYING :用於標識作業參數是否標識作業實例。

  4.BATCH_STEP_EXECUTION

    4.1 建表SQL:

CREATE TABLE BATCH_STEP_EXECUTION  (
    STEP_EXECUTION_ID NUMBER(19,0)  NOT NULL PRIMARY KEY ,
    VERSION NUMBER(19,0) NOT NULL,
    STEP_NAME VARCHAR2(100) NOT NULL,
    JOB_EXECUTION_ID NUMBER(19,0) NOT NULL,
    START_TIME TIMESTAMP NOT NULL ,
    END_TIME TIMESTAMP DEFAULT NULL ,
    STATUS VARCHAR2(10) ,
    COMMIT_COUNT NUMBER(19,0) ,
    READ_COUNT NUMBER(19,0) ,
    FILTER_COUNT NUMBER(19,0) ,
    WRITE_COUNT NUMBER(19,0) ,
    READ_SKIP_COUNT NUMBER(19,0) ,
    WRITE_SKIP_COUNT NUMBER(19,0) ,
    PROCESS_SKIP_COUNT NUMBER(19,0) ,
    ROLLBACK_COUNT NUMBER(19,0) ,
    EXIT_CODE VARCHAR2(2500) ,
    EXIT_MESSAGE VARCHAR2(2500) ,
    LAST_UPDATED TIMESTAMP,
    constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
    references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;

    4.2 字段說明:

      STEP_EXECUTION_ID :主鍵,作業步實例ID編號。

      VERSION :版本。

      STEP_NAME :操作步的名字。

      JOB_EXECUTION_ID :外鍵。操作執行器ID。

      START_TIME :操作步執行器開始執行時間。

      END_TIME :操作步執行器結束時間。

      STATUS :操作步執行器執行狀態,如:COMPLETED,STARTING,STARTED,STOPPING,STOPPED,FAILED,ABANDED,UNKNOWN。這些狀態在類:org.springframework.batch.core.ExitStatus中。

      COMMIT_COUNT :事務提交次數。

      READ_COUNT :讀數據的次數。

      FILTER_COUNT :過濾掉的數據次數。

      WRITE_COUNT :寫數據的次數。

      READ_SKIP_COUNT :讀數據跳過的次數。

      WRITE_SKIP_COUNT :寫數據跳過的次數。

      PROCESS_SKIP_COUNT :處理數據跳過的次數。

      ROLLBACK_COUNT :事務回滾次數。

      EXIT_CODE :操作步執行器的退出編碼。如:UNKNOWN,EXEXCUTION,COMPLETED,NOOP,FAILED,STOPPED。這些狀態在類org.springframework.batch.core.ExitStatus中定義的。

      EXIT_MESSAGE :操作步執行器退出描述,詳細描述退出的信息。如異常的堆棧信息等。

      LAST_UPDATED :本條記錄上次更新時間。

  5.BATCH_STEP_EXECUTION_CONTEXT

    5.1 建表SQL:

CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT  (
    STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
    SHORT_CONTEXT VARCHAR2(2500) NOT NULL,
    SERIALIZED_CONTEXT CLOB ,
    constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
    references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ;

    5.2 字段說明:

      STEP_EXECUTION_ID :外鍵。操作步執行器ID編號。

      SHORT_CONTEXT :作業執行器上下文字符串格式。

      SERIALIZED_CONTEXT :序列化的作業執行器上下文。

  6.BATCH_JOB_EXECUTION_CONTEXT

    6.1 建表SQL:

CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT  (
    JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
    SHORT_CONTEXT VARCHAR2(2500) NOT NULL,
    SERIALIZED_CONTEXT CLOB ,
    constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
    references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;

    6.2 字段說明:

      JOB_EXECUTION_ID :外鍵。作業執行器ID編號。

      SHORT_CONTEXT :作業執行器上下文字符串格式。

      SERIALIZED_CONTEXT :序列化的作業執行器上下文。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM