Как заменить пустые данные на 0,00 - PullRequest
0 голосов
/ 30 сентября 2019

Я запускаю скрипт pig pig.

Окончательные данные задаются перенастроенным объектом S24:

S24 = FOREACH S23 GENERATE 

       '$CD_TY_TT'                  AS CD_TY_TT,
    '$DA_TT'                    AS DA_TT,
    '$A_ARR'                    AS A_ARR,
    '$M_ARR'                    AS M_ARR,
    '$CD_ETS'                   AS CD_ETS,
       (chararray) $0                                       AS CD_SI,   
       (chararray) $1                                   AS IDT_ETT_CTR,
       (chararray) $2                                       AS CD_EFS,
       (BigDecimal)$3                                       AS MT_DSP,
        (BigDecimal)$4                                       AS MT_NAL,
        (BigDecimal) $5                                       AS MT_ENC_MOY,
        (BigDecimal)0                                       AS MT_UTI,
        (BigDecimal) $7                                       AS MT_CAP_RST_DU,
        (BigDecimal) $8                                       AS MT_ITT_CRU,
        (BigDecimal) $9                                       AS MT_CAP_ECN_IMP,
        (BigDecimal) $11                                      AS MT_DNR_ECN,
       (chararray) $12                                      AS CD_ETT_ORI,
        (BigDecimal) $13                                      AS MT_DSP_CVE,
        (BigDecimal) $14                                      AS MT_NAL_CVE,
        (BigDecimal) $15                                      AS MT_ENC_MOY_CVE,
        (BigDecimal) $16                                      AS MT_CAP_IMP_CVE,
        (BigDecimal) $17                                      AS MT_ITT_IMP_CVE,
        (BigDecimal) $18                                      AS MT_GLB_IMP,
        (BigDecimal) $19                                      AS MT_GLB_IMP_CVE,
        (BigDecimal) $20                                      AS MT_BN_INST,
        (BigDecimal) $21                                      AS MT_BN_INST_CVE,
        (BigDecimal) $22                                      AS MT_BN_NV,
        (BigDecimal) $23                                      AS MT_BN_NV_CVE,
        (BigDecimal)0                                    AS MT_ENC_EFF,
        (BigDecimal)0                                     AS MT_IMP,
        (BigDecimal)0                                      AS MT_PROR,
        (BigDecimal)0                                      AS MT_DEM,
        (BigDecimal)0                                      AS MT_ITT_M,
        (BigDecimal)0                                     AS MT_NAL_LIG;

Как видите, я хочу привести 6-е конечные переменныев ноль.

Но возвращаемые данные задаются следующим образом:

PR,20190808-085954,2018,12,34,001,TE7388123305,29,0.0,947978.02,0.0,,863229.77,0.0,0.0,,ECRFI,0.0,947978.02,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7388123306,29,0.0,209805.02,0.0,,191048.65,0.0,0.0,,ECRFI,0.0,209805.02,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7388123402,29,0.0,-270000.0,0.0,,-158139.08,0.0,0.0,,ECRFI,0.0,-270000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7388123405,29,0.0,854421.1,0.0,,779379.59,0.0,0.0,,ECRFI,0.0,854421.1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7388123406,29,0.0,203207.59,0.0,,185360.38,0.0,0.0,,ECRFI,0.0,203207.59,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7392044802,29,0.0,-225000.0,0.0,,-131782.56,0.0,0.0,,ECRFI,0.0,-225000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7392044805,29,0.0,713125.3,0.0,,650467.14,0.0,0.0,,ECRFI,0.0,713125.3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7392044806,29,0.0,169322.09,0.0,,154444.71,0.0,0.0,,ECRFI,0.0,169322.09,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7420183705,29,0.0,187321.5,0.0,,73548.18,0.0,0.0,,ECRFI,0.0,187321.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7420183709,29,0.0,2160459.56,0.0,,1732523.4,0.0,0.0,,ECRFI,0.0,2160459.56,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7420183801,29,0.0,60000.0,0.0,,34137.88,0.0,0.0,,ECRFI,0.0,60000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7424155609,29,0.0,616084.0,0.0,,407423.56,0.0,0.0,,ECRFI,0.0,616084.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7433106206,29,0.0,1241357.04,0.0,,1241357.04,0.0,0.0,,ECRFI,0.0,1241357.04,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7439115501,29,0.0,1044900.0,0.0,,776071.78,0.0,0.0,,ECRFI,0.0,1044900.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7439115502,29,0.0,116100.0,0.0,,86230.23,0.0,0.0,,ECRFI,0.0,116100.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7439115503,29,0.0,-116100.0,0.0,,-83626.92,0.0,0.0,,ECRFI,0.0,-116100.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,
PR,20190808-085954,2018,12,34,001,TE7444031506,29,0.0,16802484.21,0.0,,14153891.85,0.0,0.0,,ECRFI,0.0,16802484.21,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0

Итак, переменные 6-го конца не преобразованы в zeo, они заданы пустыми регистрами.

Почему я получил это и как решить?

...