日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

分區(qū)表達(dá)式介紹

Dataphin數(shù)據(jù)質(zhì)量分區(qū)表達(dá)式,用于控制質(zhì)量規(guī)則按照數(shù)據(jù)產(chǎn)出日期匹配觸發(fā),系統(tǒng)內(nèi)置了常用的分區(qū)表達(dá)式,也允許通過自定義方式進(jìn)行個性化控制。本文為您介紹分區(qū)表達(dá)式格式說明、分區(qū)表達(dá)式計算邏輯、內(nèi)置分區(qū)表達(dá)式類型以及常用業(yè)務(wù)示例說明。

使用建議

  • 對于不需要明確指定校驗分區(qū),而是代碼更新哪些分區(qū)就校驗?zāi)男┓謪^(qū)的場景,建議使用代碼檢查觸發(fā)調(diào)度-任務(wù)更新的分區(qū)。這種情況不需要配置校驗分區(qū)表達(dá)式,會自動從代碼中檢測更新了哪些數(shù)據(jù)分區(qū)。

    注意,任務(wù)更新分區(qū)模式暫不支持觸發(fā)需要指定分區(qū)的波動性校驗規(guī)則(如分區(qū)大小、分區(qū)行數(shù)、字段統(tǒng)計值)。

  • 對于不需要限制觸發(fā)日期,希望每天或者表有新分區(qū)的時候,就對指定分區(qū)進(jìn)行校驗,這時,建議直接使用業(yè)務(wù)日期ds='${yyyyMMdd}'、執(zhí)行日期ds='$[yyyyMMdd]'、每月ds='${yyyyMM}'的分區(qū) 。

  • 對于希望指定時間才校驗的,如每月1號、月末日、工作日才校驗,則可以開啟條件調(diào)度。可以根據(jù)公共日歷的條件(月份、星期、日期、工作日假日、標(biāo)簽等)和任務(wù)的類型(定時調(diào)度、手動調(diào)度)判斷是否進(jìn)行質(zhì)量校驗。

分區(qū)表達(dá)式格式說明

分區(qū)表達(dá)式格式定義:

column1=${FORMAT[OPERATE NUM DELTA]} and columnN=$[FORMAT[OPERATE NUM DELTA]];

示例:

ds=${yyyyMMdd-1M} and city='cn-hangzhou' and hour=${HH:mm:ss};

格式說明:

  • ${表達(dá)式}:

    • 計算時將按照數(shù)據(jù)產(chǎn)出的業(yè)務(wù)日期為基準(zhǔn)進(jìn)行計算,例如:產(chǎn)出20220101的數(shù)據(jù),將按照20220101執(zhí)行計算。

    • 對于不同格式分區(qū)表達(dá)式,需要使用${yyyy}、${MM}、${dd}等基礎(chǔ)表達(dá)式進(jìn)行拼接,例如:ds=${yyyy}-${MM}-${dd}表達(dá)式產(chǎn)出20220101的數(shù)據(jù)將會生成ds=2022-01-01的分區(qū)條件,且各基礎(chǔ)表達(dá)式可通過OPERATE進(jìn)行相關(guān)操作。

  • $[表達(dá)式]:

    • 計算時將當(dāng)前執(zhí)行日期作為基準(zhǔn)進(jìn)行計算,適用于表達(dá)當(dāng)天,可用表達(dá)于小時分鐘級準(zhǔn)實時任務(wù)的分區(qū),例如:20220101這一天執(zhí)行,將把20220101代入計算。

    • 對于不同格式分區(qū)表達(dá)式,需要使用$[yyyy]、$[MM]、$[dd]等基礎(chǔ)表達(dá)式進(jìn)行拼接,例如:ds=$[yyyy]-$[MM]-$[dd]表達(dá)式產(chǎn)出20220101的數(shù)據(jù)將會生成ds=2022-01-01的分區(qū)條件,且各基礎(chǔ)表達(dá)式可通過OPERATE進(jìn)行相關(guān)操作。

  • column1..columnN:

    • 分區(qū)字段,多級分區(qū)可以通過and進(jìn)行連接,形成and類型的多級分區(qū)表達(dá)式。暫不支持or類型的多級分區(qū)表達(dá)式。

  • FORMAT :分區(qū)格式化串,支持如下格式化串:

    • yyyy:年。

    • MM:月。

    • dd:日。

    • ld:每月最后一天。

    • HH:24制小時。

    • hh:12制小時。

    • mm:分鐘。

    • ss:秒。

  • OPERATE 操作符,支持如下操作符:

    • +:增加,例如+1y就是加1年,+1M就是加一月。

    • -:減少,例如-1y就是減1年,-1M就是減一月。

    • ~:指定,例如~3M,就是指定為3月,~1q就是指定為一季度最后一月。

    • %:取余,例如%1m,就是將月份歸零,%1h,就是將小時部分歸零。

  • NUM 數(shù)字,用于控制DETA的數(shù)量。

  • DETA 標(biāo)識符,支持如下表格中的標(biāo)識符:

    標(biāo)識

    含義

    類型

    實例

    y

    year

    Number

    2009

    M

    month in year

    Text & Number

    July & 07

    d

    day in month

    Number

    10

    h

    hour in am/pm (1-12)

    Number

    12

    H

    hour in day (0-23)

    Number

    0

    m

    minute in hour

    Number

    30

    s

    second in minute

    Number

    55

    S

    millisecond

    Number

    978

    E

    day in week

    Text

    • 1(周日)

    • 2(周一)

    • 3(周二)

    • 4(周三)

    • 5(周四)

    • 6(周五)

    • 7(周六)

    D

    day in year

    Number

    189

    F

    day of week in month

    Number

    2 (2nd Wed in July)

    w

    week in year

    Number

    27

    W

    week in month

    Number

    2

    a

    am/pm marker

    Text

    PM

    k

    hour in day (1-24)

    Number

    24

    K

    hour in am/pm (0-11)

    Number

    0

    z

    time zone

    Text

    Pacific Standard Time

    Q

    季度,取首月

    Number

    月份=1,4,7,10

    q

    季度,取末月

    Number

    月份=3,6,9,12

分區(qū)表達(dá)式計算邏輯

計算實例1:日期表達(dá)式、執(zhí)行條件與觸發(fā)條件說明

ds=${yyyyMMld-1d};

日期表達(dá)式說明,當(dāng)5月份的分區(qū)數(shù)據(jù)產(chǎn)出的時候,將進(jìn)行如下計算:

  1. 第一步:計算yyyyMMld,即是取給定日期所在月的最后一天,5月最后一天為31日,得到結(jié)果:20220531。

  2. 第二步:計算DELTA,DELTA為減1天,20220531減1天為20220530。

    最終結(jié)果為20220530。

計算實例2:

ds=$[yyyyMMdd-1M];

當(dāng)使用$[]時,計算依據(jù)將是執(zhí)行日期,而不是數(shù)據(jù)的業(yè)務(wù)日期。假設(shè)今天是2022年5月3日,現(xiàn)在補(bǔ)了4月3日的數(shù)據(jù),將進(jìn)行如下計算:

  • 第一步,計算yyyyMMdd,按照當(dāng)前執(zhí)行時間5月3日,計算得到20220503。

  • 第二步,計算DELTA,DELTA為-1M,將計算上月同一天的數(shù)據(jù),計算得到20220403。

最終結(jié)果為20220403。

當(dāng)補(bǔ)4月3日數(shù)據(jù)時就會觸發(fā)規(guī)則執(zhí)行,如果補(bǔ)5月3日,或者3月3日,則不會觸發(fā)規(guī)則,$[]主要用于實現(xiàn)與執(zhí)行日期相關(guān)的分區(qū)表達(dá)。

內(nèi)置分區(qū)表達(dá)式類型

  • 業(yè)務(wù)日期(時間):按照數(shù)據(jù)產(chǎn)出的業(yè)務(wù)日期為基準(zhǔn)進(jìn)行計算,例如:產(chǎn)出20220101的數(shù)據(jù),將按照20220101執(zhí)行計算。

  • 執(zhí)行日期(時間):觸發(fā)調(diào)度取任務(wù)定時調(diào)度的執(zhí)行時間(實際執(zhí)行時間可能會因為上游依賴或者資源問題延后,這里取任務(wù)本身的定時時間);定時調(diào)度取定時的時間T。

分區(qū)表達(dá)式

新名稱

ds=${yyyyMMdd}

業(yè)務(wù)日期

ds=${yyyyMMdd} and hour=${HH}

業(yè)務(wù)日期時間

ds=${HHmmss}

業(yè)務(wù)時間

ds=$[yyyyMMdd]

執(zhí)行日期

ds=$[yyyyMMdd] and hour $[HH]

執(zhí)行日期時間

ds=$[HHmmss]

執(zhí)行時間

ds=$[yyyyMMdd - 1d]

執(zhí)行日期前一天

full table

全表掃描

常用業(yè)務(wù)示例說明

每月某天產(chǎn)出上個月工資

例如:每個月15日發(fā)工資,產(chǎn)出上個月的匯總數(shù)據(jù),匯總數(shù)據(jù)的分區(qū)字段為yyyyMM格式,這時需要如下配置:

  • 調(diào)度條件配置:日期-屬于-15號。

    image.png

  • 分區(qū)表達(dá)式配置。

ds=$[yyyyMM-1M];

每月最后一天日產(chǎn)出本月工資

每個月最后一天發(fā)工資,產(chǎn)出上個月的匯總數(shù)據(jù),匯總數(shù)據(jù)的分區(qū)字段為yyyyMM格式,這時需要如下配置:

  • 調(diào)度條件配置:日期-屬于-月末日。

    image.png

  • 分區(qū)表達(dá)式配置。

ds=$[yyyyMM];

分鐘級任務(wù)每小時最后一分鐘檢查

通常分鐘級任務(wù)的ds格式為:yyyyMMdd HH:mm,每小時最后一分鐘就是59分鐘,可以通過如下分區(qū)表達(dá)式:ds=$[yyyyMMdd HH:59];