From 8d0cd12846cc5cce13a821b6d7c3a89a65f33d3e Mon Sep 17 00:00:00 2001 From: "Su, Xiaomeng" Date: Tue, 16 May 2023 21:35:32 +0000 Subject: [PATCH] DLI UMN 0215 version Reviewed-by: Pruthi, Vineet Co-authored-by: Su, Xiaomeng Co-committed-by: Su, Xiaomeng --- docs/dli/umn/ALL_META.TXT.json | 2422 +++++++++++++++++ docs/dli/umn/CLASS.TXT.json | 2180 +++++++++++++++ docs/dli/umn/PARAMETERS.txt | 3 + docs/dli/umn/dli_01_00006.html | 20 + docs/dli/umn/dli_01_0001.html | 15 + docs/dli/umn/dli_01_0002.html | 61 + docs/dli/umn/dli_01_0003.html | 59 + docs/dli/umn/dli_01_0004.html | 13 + docs/dli/umn/dli_01_0005.html | 218 ++ docs/dli/umn/dli_01_0006.html | 70 + docs/dli/umn/dli_01_0007.html | 16 + docs/dli/umn/dli_01_0008.html | 17 + docs/dli/umn/dli_01_0009.html | 68 + docs/dli/umn/dli_01_0010.html | 72 + docs/dli/umn/dli_01_0011.html | 24 + docs/dli/umn/dli_01_0012.html | 27 + docs/dli/umn/dli_01_0013.html | 23 + docs/dli/umn/dli_01_0014.html | 38 + docs/dli/umn/dli_01_0015.html | 44 + docs/dli/umn/dli_01_0016.html | 17 + docs/dli/umn/dli_01_0017.html | 142 + docs/dli/umn/dli_01_0018.html | 22 + docs/dli/umn/dli_01_0021.html | 140 + docs/dli/umn/dli_01_0220.html | 17 + docs/dli/umn/dli_01_0228.html | 119 + docs/dli/umn/dli_01_0253.html | 134 + docs/dli/umn/dli_01_0320.html | 296 ++ docs/dli/umn/dli_01_0363.html | 66 + docs/dli/umn/dli_01_0366.html | 25 + docs/dli/umn/dli_01_0367.html | 54 + docs/dli/umn/dli_01_0369.html | 13 + docs/dli/umn/dli_01_0375.html | 52 + docs/dli/umn/dli_01_0376.html | 18 + docs/dli/umn/dli_01_0377.html | 91 + docs/dli/umn/dli_01_0378.html | 35 + docs/dli/umn/dli_01_0379.html | 15 + docs/dli/umn/dli_01_0384.html | 261 ++ docs/dli/umn/dli_01_0385.html | 80 + docs/dli/umn/dli_01_0389.html | 31 + docs/dli/umn/dli_01_0390.html | 33 + docs/dli/umn/dli_01_0397.html | 18 + docs/dli/umn/dli_01_0402.html | 123 + docs/dli/umn/dli_01_0403.html | 96 + docs/dli/umn/dli_01_0407.html | 70 + docs/dli/umn/dli_01_0408.html | 21 + docs/dli/umn/dli_01_0410.html | 31 + docs/dli/umn/dli_01_0417.html | 79 + docs/dli/umn/dli_01_0418.html | 25 + docs/dli/umn/dli_01_0421.html | 15 + docs/dli/umn/dli_01_0422.html | 17 + docs/dli/umn/dli_01_0426.html | 25 + docs/dli/umn/dli_01_0427.html | 184 ++ docs/dli/umn/dli_01_0440.html | 192 ++ docs/dli/umn/dli_01_0441.html | 596 ++++ docs/dli/umn/dli_01_0443.html | 15 + docs/dli/umn/dli_01_0447.html | 81 + docs/dli/umn/dli_01_0448.html | 145 + docs/dli/umn/dli_01_0451.html | 316 +++ docs/dli/umn/dli_01_0454.html | 28 + docs/dli/umn/dli_01_0455.html | 168 ++ docs/dli/umn/dli_01_0457.html | 171 ++ docs/dli/umn/dli_01_0458.html | 24 + docs/dli/umn/dli_01_0461.html | 107 + docs/dli/umn/dli_01_0462.html | 358 +++ docs/dli/umn/dli_01_0464.html | 171 ++ docs/dli/umn/dli_01_0465.html | 17 + docs/dli/umn/dli_01_0475.html | 68 + docs/dli/umn/dli_01_0476.html | 51 + docs/dli/umn/dli_01_0477.html | 72 + docs/dli/umn/dli_01_0478.html | 44 + docs/dli/umn/dli_01_0479.html | 55 + docs/dli/umn/dli_01_0480.html | 42 + docs/dli/umn/dli_01_0485.html | 17 + docs/dli/umn/dli_01_0486.html | 64 + docs/dli/umn/dli_01_0487.html | 26 + docs/dli/umn/dli_01_0488.html | 80 + docs/dli/umn/dli_01_0489.html | 14 + docs/dli/umn/dli_01_0498.html | 166 ++ docs/dli/umn/dli_01_05110.html | 19 + docs/dli/umn/dli_01_05111.html | 30 + docs/dli/umn/dli_01_0512.html | 29 + docs/dli/umn/dli_01_0531.html | 141 + docs/dli/umn/dli_01_0538.html | 25 + docs/dli/umn/dli_01_0539.html | 29 + docs/dli/umn/dli_03_0001.html | 37 + docs/dli/umn/dli_03_0002.html | 11 + docs/dli/umn/dli_03_0008.html | 11 + docs/dli/umn/dli_03_0009.html | 11 + docs/dli/umn/dli_03_0010.html | 11 + docs/dli/umn/dli_03_0011.html | 12 + docs/dli/umn/dli_03_0013.html | 11 + docs/dli/umn/dli_03_0014.html | 11 + docs/dli/umn/dli_03_0017.html | 35 + docs/dli/umn/dli_03_0020.html | 91 + docs/dli/umn/dli_03_0021.html | 47 + docs/dli/umn/dli_03_0022.html | 54 + docs/dli/umn/dli_03_0023.html | 31 + docs/dli/umn/dli_03_0025.html | 12 + docs/dli/umn/dli_03_0028.html | 11 + docs/dli/umn/dli_03_0029.html | 12 + docs/dli/umn/dli_03_0031.html | 13 + docs/dli/umn/dli_03_0032.html | 17 + docs/dli/umn/dli_03_0037.html | 91 + docs/dli/umn/dli_03_0038.html | 50 + docs/dli/umn/dli_03_0040.html | 13 + docs/dli/umn/dli_03_0043.html | 11 + docs/dli/umn/dli_03_0044.html | 12 + docs/dli/umn/dli_03_0045.html | 13 + docs/dli/umn/dli_03_0046.html | 13 + docs/dli/umn/dli_03_0047.html | 18 + docs/dli/umn/dli_03_0048.html | 16 + docs/dli/umn/dli_03_0049.html | 35 + docs/dli/umn/dli_03_0053.html | 18 + docs/dli/umn/dli_03_0054.html | 29 + docs/dli/umn/dli_03_0061.html | 11 + docs/dli/umn/dli_03_0064.html | 16 + docs/dli/umn/dli_03_0065.html | 13 + docs/dli/umn/dli_03_0066.html | 16 + docs/dli/umn/dli_03_0068.html | 17 + docs/dli/umn/dli_03_0069.html | 33 + docs/dli/umn/dli_03_0071.html | 12 + docs/dli/umn/dli_03_0072.html | 12 + docs/dli/umn/dli_03_0075.html | 64 + docs/dli/umn/dli_03_0076.html | 15 + docs/dli/umn/dli_03_0077.html | 13 + docs/dli/umn/dli_03_0080.html | 13 + docs/dli/umn/dli_03_0082.html | 16 + docs/dli/umn/dli_03_0083.html | 14 + docs/dli/umn/dli_03_0085.html | 11 + docs/dli/umn/dli_03_0086.html | 15 + docs/dli/umn/dli_03_0087.html | 12 + docs/dli/umn/dli_03_0088.html | 12 + docs/dli/umn/dli_03_0089.html | 67 + docs/dli/umn/dli_03_0090.html | 14 + docs/dli/umn/dli_03_0091.html | 15 + docs/dli/umn/dli_03_0092.html | 20 + docs/dli/umn/dli_03_0093.html | 26 + docs/dli/umn/dli_03_0095.html | 14 + docs/dli/umn/dli_03_0096.html | 16 + docs/dli/umn/dli_03_0098.html | 12 + docs/dli/umn/dli_03_0099.html | 14 + docs/dli/umn/dli_03_0100.html | 63 + docs/dli/umn/dli_03_0101.html | 89 + docs/dli/umn/dli_03_0102.html | 21 + docs/dli/umn/dli_03_0103.html | 13 + docs/dli/umn/dli_03_0105.html | 12 + docs/dli/umn/dli_03_0106.html | 45 + docs/dli/umn/dli_03_0107.html | 36 + docs/dli/umn/dli_03_0108.html | 13 + docs/dli/umn/dli_03_0109.html | 11 + docs/dli/umn/dli_03_0111.html | 13 + docs/dli/umn/dli_03_0115.html | 12 + docs/dli/umn/dli_03_0116.html | 14 + docs/dli/umn/dli_03_0117.html | 11 + docs/dli/umn/dli_03_0118.html | 36 + docs/dli/umn/dli_03_0119.html | 14 + docs/dli/umn/dli_03_0120.html | 15 + docs/dli/umn/dli_03_0121.html | 28 + docs/dli/umn/dli_03_0126.html | 12 + docs/dli/umn/dli_03_0127.html | 12 + docs/dli/umn/dli_03_0128.html | 11 + docs/dli/umn/dli_03_0129.html | 11 + docs/dli/umn/dli_03_0130.html | 11 + docs/dli/umn/dli_03_0136.html | 12 + docs/dli/umn/dli_03_0138.html | 15 + docs/dli/umn/dli_03_0139.html | 18 + docs/dli/umn/dli_03_0140.html | 13 + docs/dli/umn/dli_03_0145.html | 17 + docs/dli/umn/dli_03_0156.html | 15 + docs/dli/umn/dli_03_0157.html | 11 + docs/dli/umn/dli_03_0159.html | 14 + docs/dli/umn/dli_03_0160.html | 14 + docs/dli/umn/dli_03_0161.html | 22 + docs/dli/umn/dli_03_0162.html | 13 + docs/dli/umn/dli_03_0164.html | 11 + docs/dli/umn/dli_03_0165.html | 17 + docs/dli/umn/dli_03_0166.html | 11 + docs/dli/umn/dli_03_0167.html | 15 + docs/dli/umn/dli_03_0168.html | 40 + docs/dli/umn/dli_03_0169.html | 20 + docs/dli/umn/dli_03_0170.html | 11 + docs/dli/umn/dli_03_0171.html | 19 + docs/dli/umn/dli_03_0172.html | 25 + docs/dli/umn/dli_03_0173.html | 22 + docs/dli/umn/dli_03_0174.html | 17 + docs/dli/umn/dli_03_0175.html | 17 + docs/dli/umn/dli_03_0176.html | 17 + docs/dli/umn/dli_03_0177.html | 16 + docs/dli/umn/dli_03_0179.html | 45 + docs/dli/umn/dli_03_0180.html | 15 + docs/dli/umn/dli_03_0181.html | 24 + docs/dli/umn/dli_03_0182.html | 18 + docs/dli/umn/dli_03_0183.html | 16 + docs/dli/umn/dli_03_0184.html | 17 + docs/dli/umn/dli_03_0186.html | 16 + docs/dli/umn/dli_03_0187.html | 35 + docs/dli/umn/dli_03_0188.html | 11 + docs/dli/umn/dli_03_0189.html | 16 + docs/dli/umn/dli_03_0190.html | 16 + docs/dli/umn/dli_03_0191.html | 11 + docs/dli/umn/dli_03_0192.html | 16 + docs/dli/umn/dli_03_0193.html | 11 + docs/dli/umn/dli_03_0195.html | 16 + docs/dli/umn/dli_03_0196.html | 40 + docs/dli/umn/dli_03_0200.html | 22 + docs/dli/umn/dli_03_0201.html | 22 + docs/dli/umn/dli_03_0207.html | 14 + docs/dli/umn/dli_03_0208.html | 14 + docs/dli/umn/dli_03_0209.html | 14 + docs/dli/umn/dli_03_0210.html | 15 + docs/dli/umn/dli_03_0212.html | 11 + docs/dli/umn/dli_03_0213.html | 12 + docs/dli/umn/dli_03_0214.html | 14 + docs/dli/umn/dli_03_0215.html | 12 + docs/dli/umn/dli_03_0220.html | 16 + docs/dli/umn/dli_03_0225.html | 11 + docs/dli/umn/dli_03_0227.html | 16 + docs/dli/umn/dli_03_0228.html | 13 + docs/dli/umn/dli_03_0231.html | 24 + docs/dli/umn/dli_03_0232.html | 18 + docs/dli/umn/dli_03_0233.html | 17 + docs/dli/umn/dli_03_0234.html | 34 + docs/dli/umn/dli_03_0235.html | 16 + docs/dli/umn/dli_03_0236.html | 19 + docs/dli/umn/dli_03_0237.html | 18 + docs/dli/umn/dli_03_0238.html | 20 + docs/dli/umn/dli_03_0239.html | 22 + docs/dli/umn/dli_03_0250.html | 24 + docs/dli/umn/dli_03_0251.html | 21 + docs/dli/umn/dli_03_0252.html | 19 + docs/dli/umn/dli_03_0253.html | 21 + docs/dli/umn/dli_03_0254.html | 18 + docs/dli/umn/dli_03_0257.html | 12 + docs/dli/umn/dli_03_0258.html | 12 + docs/dli/umn/dli_03_0259.html | 11 + docs/dli/umn/dli_03_0260.html | 11 + docs/dli/umn/dli_03_0263.html | 13 + docs/dli/umn/dli_03_0264.html | 21 + docs/dli/umn/dli_03_0265.html | 11 + docs/dli/umn/dli_03_0266.html | 11 + docs/dli/umn/dli_07_0002.html | 25 + docs/dli/umn/dli_07_0003.html | 34 + docs/dli/umn/dli_07_0005.html | 15 + docs/dli/umn/dli_07_0006.html | 647 +++++ docs/dli/umn/dli_07_0007.html | 18 + docs/dli/umn/en-us_image_0000001078931615.png | Bin 0 -> 302 bytes docs/dli/umn/en-us_image_0000001103772632.png | Bin 0 -> 233 bytes docs/dli/umn/en-us_image_0000001103931700.png | Bin 0 -> 39987 bytes docs/dli/umn/en-us_image_0000001104091730.png | Bin 0 -> 17869 bytes docs/dli/umn/en-us_image_0000001105517798.png | Bin 0 -> 255 bytes docs/dli/umn/en-us_image_0000001115396324.png | Bin 0 -> 3301 bytes docs/dli/umn/en-us_image_0000001115399366.png | Bin 0 -> 3139 bytes docs/dli/umn/en-us_image_0000001142261092.png | Bin 0 -> 24572 bytes docs/dli/umn/en-us_image_0000001150931533.png | Bin 0 -> 14800 bytes docs/dli/umn/en-us_image_0000001151957753.png | Bin 0 -> 255 bytes docs/dli/umn/en-us_image_0000001161715923.png | Bin 0 -> 3315 bytes docs/dli/umn/en-us_image_0000001161719815.png | Bin 0 -> 58855 bytes docs/dli/umn/en-us_image_0000001161799601.png | Bin 0 -> 5047 bytes docs/dli/umn/en-us_image_0000001174159614.png | Bin 0 -> 4645 bytes docs/dli/umn/en-us_image_0000001200929158.png | Bin 0 -> 13743 bytes docs/dli/umn/en-us_image_0000001201409084.png | Bin 0 -> 25524 bytes docs/dli/umn/en-us_image_0000001209329768.png | Bin 0 -> 494 bytes docs/dli/umn/en-us_image_0000001209489750.png | Bin 0 -> 632 bytes docs/dli/umn/en-us_image_0000001209516352.png | Bin 0 -> 632 bytes docs/dli/umn/en-us_image_0000001209640030.png | Bin 0 -> 547 bytes docs/dli/umn/en-us_image_0000001209671182.png | Bin 0 -> 270 bytes docs/dli/umn/en-us_image_0000001220037927.png | Bin 0 -> 3324 bytes docs/dli/umn/en-us_image_0000001254369651.png | Bin 0 -> 494 bytes docs/dli/umn/en-us_image_0000001254569529.png | Bin 0 -> 79613 bytes docs/dli/umn/en-us_image_0000001254569657.png | Bin 0 -> 632 bytes docs/dli/umn/en-us_image_0000001259009999.png | Bin 0 -> 269 bytes docs/dli/umn/en-us_image_0000001265889586.png | Bin 0 -> 494 bytes docs/dli/umn/en-us_image_0000001299472334.png | Bin 0 -> 276 bytes docs/dli/umn/en-us_image_0000001299475238.png | Bin 0 -> 99768 bytes docs/dli/umn/en-us_image_0000001299478654.png | Bin 0 -> 276 bytes docs/dli/umn/en-us_image_0000001299635390.png | Bin 0 -> 42963 bytes docs/dli/umn/en-us_image_0000001299958066.png | Bin 0 -> 217393 bytes docs/dli/umn/en-us_image_0000001310151968.png | Bin 0 -> 302 bytes docs/dli/umn/en-us_image_0000001352514025.png | Bin 0 -> 119965 bytes docs/dli/umn/en-us_image_0000001372601066.png | Bin 0 -> 142489 bytes docs/dli/umn/en-us_image_0000001372847466.png | Bin 0 -> 221 bytes docs/dli/umn/en-us_image_0000001373007370.png | Bin 0 -> 1004 bytes docs/dli/umn/en-us_image_0000001377545298.png | Bin 0 -> 25906 bytes docs/dli/umn/en-us_image_0000001391378486.png | Bin 0 -> 64242 bytes docs/dli/umn/en-us_image_0000001391536818.png | Bin 0 -> 106854 bytes docs/dli/umn/en-us_image_0000001422601037.png | Bin 0 -> 126286 bytes docs/dli/umn/en-us_image_0000001427744557.png | Bin 0 -> 39743 bytes docs/dli/umn/en-us_image_0000001428187933.png | Bin 0 -> 269 bytes docs/dli/umn/en-us_image_0000001437320657.png | Bin 0 -> 221 bytes docs/dli/umn/en-us_image_0000001437640221.png | Bin 0 -> 1004 bytes docs/dli/umn/en-us_image_0000001441378549.png | Bin 0 -> 12348 bytes docs/dli/umn/en-us_image_0000001441656525.png | Bin 0 -> 51785 bytes docs/dli/umn/en-us_image_0206789726.jpg | Bin 0 -> 11526 bytes docs/dli/umn/en-us_image_0206789784.png | Bin 0 -> 17923 bytes docs/dli/umn/en-us_image_0206789824.png | Bin 0 -> 255 bytes docs/dli/umn/en-us_image_0206789903.png | Bin 0 -> 440 bytes docs/dli/umn/en-us_image_0207655173.png | Bin 0 -> 302 bytes docs/dli/umn/en-us_image_0207655184.png | Bin 0 -> 302 bytes docs/dli/umn/en-us_image_0237406526.png | Bin 0 -> 636 bytes docs/dli/umn/en-us_image_0237532018.png | Bin 0 -> 195 bytes docs/dli/umn/en-us_image_0237539075.png | Bin 0 -> 636 bytes docs/dli/umn/en-us_image_0237539077.png | Bin 0 -> 636 bytes docs/dli/umn/en-us_image_0237983632.png | Bin 0 -> 200 bytes docs/dli/umn/en-us_image_0237984360.png | Bin 0 -> 200 bytes docs/dli/umn/en-us_image_0237990324.png | Bin 0 -> 200 bytes docs/dli/umn/en-us_image_0237994908.png | Bin 0 -> 200 bytes docs/dli/umn/en-us_image_0237994909.png | Bin 0 -> 200 bytes docs/dli/umn/en-us_image_0237994910.png | Bin 0 -> 200 bytes docs/dli/umn/en-us_image_0237994911.png | Bin 0 -> 200 bytes docs/dli/umn/en-us_image_0264894338.png | Bin 0 -> 12736 bytes docs/dli/umn/en-us_image_0264934285.png | Bin 0 -> 13588 bytes docs/dli/umn/en-us_image_0264975521.png | Bin 0 -> 13688 bytes docs/dli/umn/en-us_image_0269598720.png | Bin 0 -> 633 bytes docs/dli/umn/en-us_image_0269598721.png | Bin 0 -> 509 bytes docs/dli/umn/en-us_image_0269598722.png | Bin 0 -> 1057 bytes docs/dli/umn/en-us_image_0269598723.png | Bin 0 -> 456 bytes docs/dli/umn/en-us_image_0269598724.png | Bin 0 -> 602 bytes docs/dli/umn/en-us_image_0269598745.png | Bin 0 -> 932 bytes docs/dli/umn/en-us_image_0276441461.png | Bin 0 -> 636 bytes docs/dli/umn/en-us_image_0296823520.png | Bin 0 -> 898 bytes .../caution_3.0-en-us.png | Bin 0 -> 2752 bytes .../public_sys-resources/danger_3.0-en-us.png | Bin 0 -> 2771 bytes docs/dli/umn/public_sys-resources/delta.gif | Bin 0 -> 836 bytes .../dli/umn/public_sys-resources/deltaend.gif | Bin 0 -> 834 bytes .../umn/public_sys-resources/icon-arrowdn.gif | Bin 0 -> 1887 bytes .../umn/public_sys-resources/icon-arrowrt.gif | Bin 0 -> 1890 bytes .../umn/public_sys-resources/icon-caution.gif | Bin 0 -> 1086 bytes .../umn/public_sys-resources/icon-danger.gif | Bin 0 -> 1086 bytes .../umn/public_sys-resources/icon-huawei.gif | Bin 0 -> 2767 bytes .../umn/public_sys-resources/icon-note.gif | Bin 0 -> 983 bytes .../umn/public_sys-resources/icon-notice.gif | Bin 0 -> 962 bytes .../dli/umn/public_sys-resources/icon-tip.gif | Bin 0 -> 879 bytes .../umn/public_sys-resources/icon-warning.gif | Bin 0 -> 1086 bytes .../public_sys-resources/note_3.0-en-us.png | Bin 0 -> 1080 bytes .../public_sys-resources/notice_3.0-en-us.png | Bin 0 -> 1672 bytes .../warning_3.0-en-us.png | Bin 0 -> 3164 bytes 336 files changed, 14972 insertions(+) create mode 100644 docs/dli/umn/ALL_META.TXT.json create mode 100644 docs/dli/umn/CLASS.TXT.json create mode 100644 docs/dli/umn/PARAMETERS.txt create mode 100644 docs/dli/umn/dli_01_00006.html create mode 100644 docs/dli/umn/dli_01_0001.html create mode 100644 docs/dli/umn/dli_01_0002.html create mode 100644 docs/dli/umn/dli_01_0003.html create mode 100644 docs/dli/umn/dli_01_0004.html create mode 100644 docs/dli/umn/dli_01_0005.html create mode 100644 docs/dli/umn/dli_01_0006.html create mode 100644 docs/dli/umn/dli_01_0007.html create mode 100644 docs/dli/umn/dli_01_0008.html create mode 100644 docs/dli/umn/dli_01_0009.html create mode 100644 docs/dli/umn/dli_01_0010.html create mode 100644 docs/dli/umn/dli_01_0011.html create mode 100644 docs/dli/umn/dli_01_0012.html create mode 100644 docs/dli/umn/dli_01_0013.html create mode 100644 docs/dli/umn/dli_01_0014.html create mode 100644 docs/dli/umn/dli_01_0015.html create mode 100644 docs/dli/umn/dli_01_0016.html create mode 100644 docs/dli/umn/dli_01_0017.html create mode 100644 docs/dli/umn/dli_01_0018.html create mode 100644 docs/dli/umn/dli_01_0021.html create mode 100644 docs/dli/umn/dli_01_0220.html create mode 100644 docs/dli/umn/dli_01_0228.html create mode 100644 docs/dli/umn/dli_01_0253.html create mode 100644 docs/dli/umn/dli_01_0320.html create mode 100644 docs/dli/umn/dli_01_0363.html create mode 100644 docs/dli/umn/dli_01_0366.html create mode 100644 docs/dli/umn/dli_01_0367.html create mode 100644 docs/dli/umn/dli_01_0369.html create mode 100644 docs/dli/umn/dli_01_0375.html create mode 100644 docs/dli/umn/dli_01_0376.html create mode 100644 docs/dli/umn/dli_01_0377.html create mode 100644 docs/dli/umn/dli_01_0378.html create mode 100644 docs/dli/umn/dli_01_0379.html create mode 100644 docs/dli/umn/dli_01_0384.html create mode 100644 docs/dli/umn/dli_01_0385.html create mode 100644 docs/dli/umn/dli_01_0389.html create mode 100644 docs/dli/umn/dli_01_0390.html create mode 100644 docs/dli/umn/dli_01_0397.html create mode 100644 docs/dli/umn/dli_01_0402.html create mode 100644 docs/dli/umn/dli_01_0403.html create mode 100644 docs/dli/umn/dli_01_0407.html create mode 100644 docs/dli/umn/dli_01_0408.html create mode 100644 docs/dli/umn/dli_01_0410.html create mode 100644 docs/dli/umn/dli_01_0417.html create mode 100644 docs/dli/umn/dli_01_0418.html create mode 100644 docs/dli/umn/dli_01_0421.html create mode 100644 docs/dli/umn/dli_01_0422.html create mode 100644 docs/dli/umn/dli_01_0426.html create mode 100644 docs/dli/umn/dli_01_0427.html create mode 100644 docs/dli/umn/dli_01_0440.html create mode 100644 docs/dli/umn/dli_01_0441.html create mode 100644 docs/dli/umn/dli_01_0443.html create mode 100644 docs/dli/umn/dli_01_0447.html create mode 100644 docs/dli/umn/dli_01_0448.html create mode 100644 docs/dli/umn/dli_01_0451.html create mode 100644 docs/dli/umn/dli_01_0454.html create mode 100644 docs/dli/umn/dli_01_0455.html create mode 100644 docs/dli/umn/dli_01_0457.html create mode 100644 docs/dli/umn/dli_01_0458.html create mode 100644 docs/dli/umn/dli_01_0461.html create mode 100644 docs/dli/umn/dli_01_0462.html create mode 100644 docs/dli/umn/dli_01_0464.html create mode 100644 docs/dli/umn/dli_01_0465.html create mode 100644 docs/dli/umn/dli_01_0475.html create mode 100644 docs/dli/umn/dli_01_0476.html create mode 100644 docs/dli/umn/dli_01_0477.html create mode 100644 docs/dli/umn/dli_01_0478.html create mode 100644 docs/dli/umn/dli_01_0479.html create mode 100644 docs/dli/umn/dli_01_0480.html create mode 100644 docs/dli/umn/dli_01_0485.html create mode 100644 docs/dli/umn/dli_01_0486.html create mode 100644 docs/dli/umn/dli_01_0487.html create mode 100644 docs/dli/umn/dli_01_0488.html create mode 100644 docs/dli/umn/dli_01_0489.html create mode 100644 docs/dli/umn/dli_01_0498.html create mode 100644 docs/dli/umn/dli_01_05110.html create mode 100644 docs/dli/umn/dli_01_05111.html create mode 100644 docs/dli/umn/dli_01_0512.html create mode 100644 docs/dli/umn/dli_01_0531.html create mode 100644 docs/dli/umn/dli_01_0538.html create mode 100644 docs/dli/umn/dli_01_0539.html create mode 100644 docs/dli/umn/dli_03_0001.html create mode 100644 docs/dli/umn/dli_03_0002.html create mode 100644 docs/dli/umn/dli_03_0008.html create mode 100644 docs/dli/umn/dli_03_0009.html create mode 100644 docs/dli/umn/dli_03_0010.html create mode 100644 docs/dli/umn/dli_03_0011.html create mode 100644 docs/dli/umn/dli_03_0013.html create mode 100644 docs/dli/umn/dli_03_0014.html create mode 100644 docs/dli/umn/dli_03_0017.html create mode 100644 docs/dli/umn/dli_03_0020.html create mode 100644 docs/dli/umn/dli_03_0021.html create mode 100644 docs/dli/umn/dli_03_0022.html create mode 100644 docs/dli/umn/dli_03_0023.html create mode 100644 docs/dli/umn/dli_03_0025.html create mode 100644 docs/dli/umn/dli_03_0028.html create mode 100644 docs/dli/umn/dli_03_0029.html create mode 100644 docs/dli/umn/dli_03_0031.html create mode 100644 docs/dli/umn/dli_03_0032.html create mode 100644 docs/dli/umn/dli_03_0037.html create mode 100644 docs/dli/umn/dli_03_0038.html create mode 100644 docs/dli/umn/dli_03_0040.html create mode 100644 docs/dli/umn/dli_03_0043.html create mode 100644 docs/dli/umn/dli_03_0044.html create mode 100644 docs/dli/umn/dli_03_0045.html create mode 100644 docs/dli/umn/dli_03_0046.html create mode 100644 docs/dli/umn/dli_03_0047.html create mode 100644 docs/dli/umn/dli_03_0048.html create mode 100644 docs/dli/umn/dli_03_0049.html create mode 100644 docs/dli/umn/dli_03_0053.html create mode 100644 docs/dli/umn/dli_03_0054.html create mode 100644 docs/dli/umn/dli_03_0061.html create mode 100644 docs/dli/umn/dli_03_0064.html create mode 100644 docs/dli/umn/dli_03_0065.html create mode 100644 docs/dli/umn/dli_03_0066.html create mode 100644 docs/dli/umn/dli_03_0068.html create mode 100644 docs/dli/umn/dli_03_0069.html create mode 100644 docs/dli/umn/dli_03_0071.html create mode 100644 docs/dli/umn/dli_03_0072.html create mode 100644 docs/dli/umn/dli_03_0075.html create mode 100644 docs/dli/umn/dli_03_0076.html create mode 100644 docs/dli/umn/dli_03_0077.html create mode 100644 docs/dli/umn/dli_03_0080.html create mode 100644 docs/dli/umn/dli_03_0082.html create mode 100644 docs/dli/umn/dli_03_0083.html create mode 100644 docs/dli/umn/dli_03_0085.html create mode 100644 docs/dli/umn/dli_03_0086.html create mode 100644 docs/dli/umn/dli_03_0087.html create mode 100644 docs/dli/umn/dli_03_0088.html create mode 100644 docs/dli/umn/dli_03_0089.html create mode 100644 docs/dli/umn/dli_03_0090.html create mode 100644 docs/dli/umn/dli_03_0091.html create mode 100644 docs/dli/umn/dli_03_0092.html create mode 100644 docs/dli/umn/dli_03_0093.html create mode 100644 docs/dli/umn/dli_03_0095.html create mode 100644 docs/dli/umn/dli_03_0096.html create mode 100644 docs/dli/umn/dli_03_0098.html create mode 100644 docs/dli/umn/dli_03_0099.html create mode 100644 docs/dli/umn/dli_03_0100.html create mode 100644 docs/dli/umn/dli_03_0101.html create mode 100644 docs/dli/umn/dli_03_0102.html create mode 100644 docs/dli/umn/dli_03_0103.html create mode 100644 docs/dli/umn/dli_03_0105.html create mode 100644 docs/dli/umn/dli_03_0106.html create mode 100644 docs/dli/umn/dli_03_0107.html create mode 100644 docs/dli/umn/dli_03_0108.html create mode 100644 docs/dli/umn/dli_03_0109.html create mode 100644 docs/dli/umn/dli_03_0111.html create mode 100644 docs/dli/umn/dli_03_0115.html create mode 100644 docs/dli/umn/dli_03_0116.html create mode 100644 docs/dli/umn/dli_03_0117.html create mode 100644 docs/dli/umn/dli_03_0118.html create mode 100644 docs/dli/umn/dli_03_0119.html create mode 100644 docs/dli/umn/dli_03_0120.html create mode 100644 docs/dli/umn/dli_03_0121.html create mode 100644 docs/dli/umn/dli_03_0126.html create mode 100644 docs/dli/umn/dli_03_0127.html create mode 100644 docs/dli/umn/dli_03_0128.html create mode 100644 docs/dli/umn/dli_03_0129.html create mode 100644 docs/dli/umn/dli_03_0130.html create mode 100644 docs/dli/umn/dli_03_0136.html create mode 100644 docs/dli/umn/dli_03_0138.html create mode 100644 docs/dli/umn/dli_03_0139.html create mode 100644 docs/dli/umn/dli_03_0140.html create mode 100644 docs/dli/umn/dli_03_0145.html create mode 100644 docs/dli/umn/dli_03_0156.html create mode 100644 docs/dli/umn/dli_03_0157.html create mode 100644 docs/dli/umn/dli_03_0159.html create mode 100644 docs/dli/umn/dli_03_0160.html create mode 100644 docs/dli/umn/dli_03_0161.html create mode 100644 docs/dli/umn/dli_03_0162.html create mode 100644 docs/dli/umn/dli_03_0164.html create mode 100644 docs/dli/umn/dli_03_0165.html create mode 100644 docs/dli/umn/dli_03_0166.html create mode 100644 docs/dli/umn/dli_03_0167.html create mode 100644 docs/dli/umn/dli_03_0168.html create mode 100644 docs/dli/umn/dli_03_0169.html create mode 100644 docs/dli/umn/dli_03_0170.html create mode 100644 docs/dli/umn/dli_03_0171.html create mode 100644 docs/dli/umn/dli_03_0172.html create mode 100644 docs/dli/umn/dli_03_0173.html create mode 100644 docs/dli/umn/dli_03_0174.html create mode 100644 docs/dli/umn/dli_03_0175.html create mode 100644 docs/dli/umn/dli_03_0176.html create mode 100644 docs/dli/umn/dli_03_0177.html create mode 100644 docs/dli/umn/dli_03_0179.html create mode 100644 docs/dli/umn/dli_03_0180.html create mode 100644 docs/dli/umn/dli_03_0181.html create mode 100644 docs/dli/umn/dli_03_0182.html create mode 100644 docs/dli/umn/dli_03_0183.html create mode 100644 docs/dli/umn/dli_03_0184.html create mode 100644 docs/dli/umn/dli_03_0186.html create mode 100644 docs/dli/umn/dli_03_0187.html create mode 100644 docs/dli/umn/dli_03_0188.html create mode 100644 docs/dli/umn/dli_03_0189.html create mode 100644 docs/dli/umn/dli_03_0190.html create mode 100644 docs/dli/umn/dli_03_0191.html create mode 100644 docs/dli/umn/dli_03_0192.html create mode 100644 docs/dli/umn/dli_03_0193.html create mode 100644 docs/dli/umn/dli_03_0195.html create mode 100644 docs/dli/umn/dli_03_0196.html create mode 100644 docs/dli/umn/dli_03_0200.html create mode 100644 docs/dli/umn/dli_03_0201.html create mode 100644 docs/dli/umn/dli_03_0207.html create mode 100644 docs/dli/umn/dli_03_0208.html create mode 100644 docs/dli/umn/dli_03_0209.html create mode 100644 docs/dli/umn/dli_03_0210.html create mode 100644 docs/dli/umn/dli_03_0212.html create mode 100644 docs/dli/umn/dli_03_0213.html create mode 100644 docs/dli/umn/dli_03_0214.html create mode 100644 docs/dli/umn/dli_03_0215.html create mode 100644 docs/dli/umn/dli_03_0220.html create mode 100644 docs/dli/umn/dli_03_0225.html create mode 100644 docs/dli/umn/dli_03_0227.html create mode 100644 docs/dli/umn/dli_03_0228.html create mode 100644 docs/dli/umn/dli_03_0231.html create mode 100644 docs/dli/umn/dli_03_0232.html create mode 100644 docs/dli/umn/dli_03_0233.html create mode 100644 docs/dli/umn/dli_03_0234.html create mode 100644 docs/dli/umn/dli_03_0235.html create mode 100644 docs/dli/umn/dli_03_0236.html create mode 100644 docs/dli/umn/dli_03_0237.html create mode 100644 docs/dli/umn/dli_03_0238.html create mode 100644 docs/dli/umn/dli_03_0239.html create mode 100644 docs/dli/umn/dli_03_0250.html create mode 100644 docs/dli/umn/dli_03_0251.html create mode 100644 docs/dli/umn/dli_03_0252.html create mode 100644 docs/dli/umn/dli_03_0253.html create mode 100644 docs/dli/umn/dli_03_0254.html create mode 100644 docs/dli/umn/dli_03_0257.html create mode 100644 docs/dli/umn/dli_03_0258.html create mode 100644 docs/dli/umn/dli_03_0259.html create mode 100644 docs/dli/umn/dli_03_0260.html create mode 100644 docs/dli/umn/dli_03_0263.html create mode 100644 docs/dli/umn/dli_03_0264.html create mode 100644 docs/dli/umn/dli_03_0265.html create mode 100644 docs/dli/umn/dli_03_0266.html create mode 100644 docs/dli/umn/dli_07_0002.html create mode 100644 docs/dli/umn/dli_07_0003.html create mode 100644 docs/dli/umn/dli_07_0005.html create mode 100644 docs/dli/umn/dli_07_0006.html create mode 100644 docs/dli/umn/dli_07_0007.html create mode 100644 docs/dli/umn/en-us_image_0000001078931615.png create mode 100644 docs/dli/umn/en-us_image_0000001103772632.png create mode 100644 docs/dli/umn/en-us_image_0000001103931700.png create mode 100644 docs/dli/umn/en-us_image_0000001104091730.png create mode 100644 docs/dli/umn/en-us_image_0000001105517798.png create mode 100644 docs/dli/umn/en-us_image_0000001115396324.png create mode 100644 docs/dli/umn/en-us_image_0000001115399366.png create mode 100644 docs/dli/umn/en-us_image_0000001142261092.png create mode 100644 docs/dli/umn/en-us_image_0000001150931533.png create mode 100644 docs/dli/umn/en-us_image_0000001151957753.png create mode 100644 docs/dli/umn/en-us_image_0000001161715923.png create mode 100644 docs/dli/umn/en-us_image_0000001161719815.png create mode 100644 docs/dli/umn/en-us_image_0000001161799601.png create mode 100644 docs/dli/umn/en-us_image_0000001174159614.png create mode 100644 docs/dli/umn/en-us_image_0000001200929158.png create mode 100644 docs/dli/umn/en-us_image_0000001201409084.png create mode 100644 docs/dli/umn/en-us_image_0000001209329768.png create mode 100644 docs/dli/umn/en-us_image_0000001209489750.png create mode 100644 docs/dli/umn/en-us_image_0000001209516352.png create mode 100644 docs/dli/umn/en-us_image_0000001209640030.png create mode 100644 docs/dli/umn/en-us_image_0000001209671182.png create mode 100644 docs/dli/umn/en-us_image_0000001220037927.png create mode 100644 docs/dli/umn/en-us_image_0000001254369651.png create mode 100644 docs/dli/umn/en-us_image_0000001254569529.png create mode 100644 docs/dli/umn/en-us_image_0000001254569657.png create mode 100644 docs/dli/umn/en-us_image_0000001259009999.png create mode 100644 docs/dli/umn/en-us_image_0000001265889586.png create mode 100644 docs/dli/umn/en-us_image_0000001299472334.png create mode 100644 docs/dli/umn/en-us_image_0000001299475238.png create mode 100644 docs/dli/umn/en-us_image_0000001299478654.png create mode 100644 docs/dli/umn/en-us_image_0000001299635390.png create mode 100644 docs/dli/umn/en-us_image_0000001299958066.png create mode 100644 docs/dli/umn/en-us_image_0000001310151968.png create mode 100644 docs/dli/umn/en-us_image_0000001352514025.png create mode 100644 docs/dli/umn/en-us_image_0000001372601066.png create mode 100644 docs/dli/umn/en-us_image_0000001372847466.png create mode 100644 docs/dli/umn/en-us_image_0000001373007370.png create mode 100644 docs/dli/umn/en-us_image_0000001377545298.png create mode 100644 docs/dli/umn/en-us_image_0000001391378486.png create mode 100644 docs/dli/umn/en-us_image_0000001391536818.png create mode 100644 docs/dli/umn/en-us_image_0000001422601037.png create mode 100644 docs/dli/umn/en-us_image_0000001427744557.png create mode 100644 docs/dli/umn/en-us_image_0000001428187933.png create mode 100644 docs/dli/umn/en-us_image_0000001437320657.png create mode 100644 docs/dli/umn/en-us_image_0000001437640221.png create mode 100644 docs/dli/umn/en-us_image_0000001441378549.png create mode 100644 docs/dli/umn/en-us_image_0000001441656525.png create mode 100644 docs/dli/umn/en-us_image_0206789726.jpg create mode 100644 docs/dli/umn/en-us_image_0206789784.png create mode 100644 docs/dli/umn/en-us_image_0206789824.png create mode 100644 docs/dli/umn/en-us_image_0206789903.png create mode 100644 docs/dli/umn/en-us_image_0207655173.png create mode 100644 docs/dli/umn/en-us_image_0207655184.png create mode 100644 docs/dli/umn/en-us_image_0237406526.png create mode 100644 docs/dli/umn/en-us_image_0237532018.png create mode 100644 docs/dli/umn/en-us_image_0237539075.png create mode 100644 docs/dli/umn/en-us_image_0237539077.png create mode 100644 docs/dli/umn/en-us_image_0237983632.png create mode 100644 docs/dli/umn/en-us_image_0237984360.png create mode 100644 docs/dli/umn/en-us_image_0237990324.png create mode 100644 docs/dli/umn/en-us_image_0237994908.png create mode 100644 docs/dli/umn/en-us_image_0237994909.png create mode 100644 docs/dli/umn/en-us_image_0237994910.png create mode 100644 docs/dli/umn/en-us_image_0237994911.png create mode 100644 docs/dli/umn/en-us_image_0264894338.png create mode 100644 docs/dli/umn/en-us_image_0264934285.png create mode 100644 docs/dli/umn/en-us_image_0264975521.png create mode 100644 docs/dli/umn/en-us_image_0269598720.png create mode 100644 docs/dli/umn/en-us_image_0269598721.png create mode 100644 docs/dli/umn/en-us_image_0269598722.png create mode 100644 docs/dli/umn/en-us_image_0269598723.png create mode 100644 docs/dli/umn/en-us_image_0269598724.png create mode 100644 docs/dli/umn/en-us_image_0269598745.png create mode 100644 docs/dli/umn/en-us_image_0276441461.png create mode 100644 docs/dli/umn/en-us_image_0296823520.png create mode 100644 docs/dli/umn/public_sys-resources/caution_3.0-en-us.png create mode 100644 docs/dli/umn/public_sys-resources/danger_3.0-en-us.png create mode 100644 docs/dli/umn/public_sys-resources/delta.gif create mode 100644 docs/dli/umn/public_sys-resources/deltaend.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-arrowdn.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-arrowrt.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-caution.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-danger.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-huawei.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-note.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-notice.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-tip.gif create mode 100644 docs/dli/umn/public_sys-resources/icon-warning.gif create mode 100644 docs/dli/umn/public_sys-resources/note_3.0-en-us.png create mode 100644 docs/dli/umn/public_sys-resources/notice_3.0-en-us.png create mode 100644 docs/dli/umn/public_sys-resources/warning_3.0-en-us.png diff --git a/docs/dli/umn/ALL_META.TXT.json b/docs/dli/umn/ALL_META.TXT.json new file mode 100644 index 00000000..70359215 --- /dev/null +++ b/docs/dli/umn/ALL_META.TXT.json @@ -0,0 +1,2422 @@ +[ + { + "uri":"dli_01_0538.html", + "product_code":"dli", + "code":"1", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Service Overview", + "title":"Service Overview", + "githuburl":"" + }, + { + "uri":"dli_01_0378.html", + "product_code":"dli", + "code":"2", + "des":"Data Lake Insight (DLI) is a serverless data processing and analysis service fully compatible with Apache Spark and Apache Flink ecosystems. It frees you from managing an", + "doc_type":"usermanual", + "kw":"DLI Introduction,Service Overview,User Guide", + "title":"DLI Introduction", + "githuburl":"" + }, + { + "uri":"dli_07_0007.html", + "product_code":"dli", + "code":"3", + "des":"You do not need a background in big data to use DLI for data analysis. You only need to know SQL, and you are good to go. The SQL syntax is fully compatible with the stan", + "doc_type":"usermanual", + "kw":"Advantages,Service Overview,User Guide", + "title":"Advantages", + "githuburl":"" + }, + { + "uri":"dli_07_0002.html", + "product_code":"dli", + "code":"4", + "des":"DLI is applicable to large-scale log analysis, federated analysis of heterogeneous data sources, and big data ETL processing.Gaming operation data analysisDifferent depar", + "doc_type":"usermanual", + "kw":"Application Scenarios,Service Overview,User Guide", + "title":"Application Scenarios", + "githuburl":"" + }, + { + "uri":"dli_07_0005.html", + "product_code":"dli", + "code":"5", + "des":"When using DLI, you may need to make adjustments according to the following restrictions:Recommended browsers for logging in to DLI:Google Chrome 43.0 or laterMozilla Fir", + "doc_type":"usermanual", + "kw":"Constraints and Limitations on Using DLI,Service Overview,User Guide", + "title":"Constraints and Limitations on Using DLI", + "githuburl":"" + }, + { + "uri":"dli_07_0006.html", + "product_code":"dli", + "code":"6", + "des":"If you need to assign different permissions to employees in your enterprise to access your DLI resources, IAM is a good choice for fine-grained permissions management. IA", + "doc_type":"usermanual", + "kw":"Permissions Management,Service Overview,User Guide", + "title":"Permissions Management", + "githuburl":"" + }, + { + "uri":"dli_07_0003.html", + "product_code":"dli", + "code":"7", + "des":"DLI allows multiple organizations, departments, or applications to share resources. A logical entity, also called a tenant, is provided to use diverse resources and servi", + "doc_type":"usermanual", + "kw":"Basic Concepts,Service Overview,User Guide", + "title":"Basic Concepts", + "githuburl":"" + }, + { + "uri":"dli_01_0220.html", + "product_code":"dli", + "code":"8", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Getting Started", + "title":"Getting Started", + "githuburl":"" + }, + { + "uri":"dli_01_0002.html", + "product_code":"dli", + "code":"9", + "des":"You can use DLI to submit a Spark SQL job to query data. The general procedure is as follows:Step 1: Logging in to the Cloud PlatformStep 2: Uploading Data to OBSStep 3: ", + "doc_type":"usermanual", + "kw":"Creating and Submitting a Spark SQL Job,Getting Started,User Guide", + "title":"Creating and Submitting a Spark SQL Job", + "githuburl":"" + }, + { + "uri":"dli_01_0512.html", + "product_code":"dli", + "code":"10", + "des":"To facilitate SQL operations, DLI allows you to customize query templates or save the SQL statements in use as templates. After templates are saved, you do not need to wr", + "doc_type":"usermanual", + "kw":"Developing and Submitting a Spark SQL Job Using the TPC-H Sample Template,Getting Started,User Guide", + "title":"Developing and Submitting a Spark SQL Job Using the TPC-H Sample Template", + "githuburl":"" + }, + { + "uri":"dli_01_0375.html", + "product_code":"dli", + "code":"11", + "des":"You can use DLI to submit Spark jobs for real-time computing. The general procedure is as follows:Step 1: Logging in to the CloudStep 2: Uploading Data to OBSStep 3: Logg", + "doc_type":"usermanual", + "kw":"Creating and Submitting a Spark Jar Job,Getting Started,User Guide", + "title":"Creating and Submitting a Spark Jar Job", + "githuburl":"" + }, + { + "uri":"dli_01_0531.html", + "product_code":"dli", + "code":"12", + "des":"This section describes how to submit a Flink OpenSource SQL job on the DLI console for real-time computing. The general procedure is as follows:Step 1: Log In to the Clou", + "doc_type":"usermanual", + "kw":"Creating and Submitting a Flink OpenSource SQL Job,Getting Started,User Guide", + "title":"Creating and Submitting a Flink OpenSource SQL Job", + "githuburl":"" + }, + { + "uri":"dli_01_0377.html", + "product_code":"dli", + "code":"13", + "des":"Log in to DLI and go to the Overview page.The following table describes the functional areas of the Overview page.", + "doc_type":"usermanual", + "kw":"DLI Console Overview,User Guide", + "title":"DLI Console Overview", + "githuburl":"" + }, + { + "uri":"dli_01_0320.html", + "product_code":"dli", + "code":"14", + "des":"You can use SQL statements in the SQL job editor to execute data query. DLI supports SQL 2003 and complies with Spark SQL.On the Overview page, click SQL Editor in the na", + "doc_type":"usermanual", + "kw":"SQL Editor,User Guide", + "title":"SQL Editor", + "githuburl":"" + }, + { + "uri":"dli_01_0001.html", + "product_code":"dli", + "code":"15", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Job Management", + "title":"Job Management", + "githuburl":"" + }, + { + "uri":"dli_01_0017.html", + "product_code":"dli", + "code":"16", + "des":"SQL jobs allow you to execute SQL statements entered in the SQL job editing window, import data, and export data.SQL job management provides the following functions:Searc", + "doc_type":"usermanual", + "kw":"SQL Job Management,Job Management,User Guide", + "title":"SQL Job Management", + "githuburl":"" + }, + { + "uri":"dli_01_0389.html", + "product_code":"dli", + "code":"17", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Flink Job Management", + "title":"Flink Job Management", + "githuburl":"" + }, + { + "uri":"dli_01_0403.html", + "product_code":"dli", + "code":"18", + "des":"On the Job Management page of Flink jobs, you can submit a Flink job. Currently, the following job types are supported:Flink SQL uses SQL statements to define jobs and ca", + "doc_type":"usermanual", + "kw":"Overview,Flink Job Management,User Guide", + "title":"Overview", + "githuburl":"" + }, + { + "uri":"dli_01_0479.html", + "product_code":"dli", + "code":"19", + "des":"You can isolate Flink jobs allocated to different users by setting permissions to ensure data query performance.The administrator and job creator have all permissions, wh", + "doc_type":"usermanual", + "kw":"Managing Flink Job Permissions,Flink Job Management,User Guide", + "title":"Managing Flink Job Permissions", + "githuburl":"" + }, + { + "uri":"dli_01_0454.html", + "product_code":"dli", + "code":"20", + "des":"To create a Flink job, you need to enter the data source and data output channel, that is, source and sink. To use another service as the source or sink stream, you need ", + "doc_type":"usermanual", + "kw":"Preparing Flink Job Data,Flink Job Management,User Guide", + "title":"Preparing Flink Job Data", + "githuburl":"" + }, + { + "uri":"dli_01_0498.html", + "product_code":"dli", + "code":"21", + "des":"This section describes how to create a Flink OpenSource SQL job. DLI Flink OpenSource SQL jobs are fully compatible with the syntax of Flink 1.10 and 1.12 provided by the", + "doc_type":"usermanual", + "kw":"(Recommended) Creating a Flink OpenSource SQL Job,Flink Job Management,User Guide", + "title":"(Recommended) Creating a Flink OpenSource SQL Job", + "githuburl":"" + }, + { + "uri":"dli_01_0455.html", + "product_code":"dli", + "code":"22", + "des":"This section describes how to create a Flink SQL job. You can use Flink SQLs to develop jobs to meet your service requirements. Using SQL statements simplifies logic impl", + "doc_type":"usermanual", + "kw":"Creating a Flink SQL job,Flink Job Management,User Guide", + "title":"Creating a Flink SQL job", + "githuburl":"" + }, + { + "uri":"dli_01_0457.html", + "product_code":"dli", + "code":"23", + "des":"This section describes how to create a Flink Jar job. You can perform secondary development based on Flink APIs, build your own JAR file, and submit the JAR file to DLI q", + "doc_type":"usermanual", + "kw":"Creating a Flink Jar Job,Flink Job Management,User Guide", + "title":"Creating a Flink Jar Job", + "githuburl":"" + }, + { + "uri":"dli_01_0458.html", + "product_code":"dli", + "code":"24", + "des":"The job debugging function helps you check the logic correctness of your compiled SQL statements before running a job.Currently, only Flink SQL jobs support this function", + "doc_type":"usermanual", + "kw":"Debugging a Flink Job,Flink Job Management,User Guide", + "title":"Debugging a Flink Job", + "githuburl":"" + }, + { + "uri":"dli_01_0461.html", + "product_code":"dli", + "code":"25", + "des":"After a job is created, you can perform operations on the job as required.Editing a JobStarting a JobStopping a JobDeleting a JobExporting a JobImporting a JobModifying N", + "doc_type":"usermanual", + "kw":"Performing Operations on a Flink Job,Flink Job Management,User Guide", + "title":"Performing Operations on a Flink Job", + "githuburl":"" + }, + { + "uri":"dli_01_0462.html", + "product_code":"dli", + "code":"26", + "des":"After creating a job, you can view the job details to learn about the following information:Viewing Job DetailsChecking the Job Monitoring InformationViewing the Task Lis", + "doc_type":"usermanual", + "kw":"Flink Job Details,Flink Job Management,User Guide", + "title":"Flink Job Details", + "githuburl":"" + }, + { + "uri":"dli_01_0465.html", + "product_code":"dli", + "code":"27", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Spark Job Management", + "title":"Spark Job Management", + "githuburl":"" + }, + { + "uri":"dli_01_0385.html", + "product_code":"dli", + "code":"28", + "des":"Based on the open-source Spark, DLI optimizes performance and reconstructs services to be compatible with the Apache Spark ecosystem and interfaces, and executes batch pr", + "doc_type":"usermanual", + "kw":"Spark Job Management,Spark Job Management,User Guide", + "title":"Spark Job Management", + "githuburl":"" + }, + { + "uri":"dli_01_0384.html", + "product_code":"dli", + "code":"29", + "des":"DLI provides fully-managed Spark computing services by allowing you to execute Spark jobs.On the Overview page, click Create Job in the upper right corner of the Spark Jo", + "doc_type":"usermanual", + "kw":"Creating a Spark Job,Spark Job Management,User Guide", + "title":"Creating a Spark Job", + "githuburl":"" + }, + { + "uri":"dli_01_0012.html", + "product_code":"dli", + "code":"30", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Queue Management", + "title":"Queue Management", + "githuburl":"" + }, + { + "uri":"dli_01_0402.html", + "product_code":"dli", + "code":"31", + "des":"Queues in DLI are computing resources, which are the basis for using DLI. All executed jobs require computing resources.Currently, DLI provides two types of queues, For S", + "doc_type":"usermanual", + "kw":"Overview,Queue Management,User Guide", + "title":"Overview", + "githuburl":"" + }, + { + "uri":"dli_01_0015.html", + "product_code":"dli", + "code":"32", + "des":"You can isolate queues allocated to different users by setting permissions to ensure data query performance.The administrator and queue owner have all permissions, which ", + "doc_type":"usermanual", + "kw":"Queue Permission Management,Queue Management,User Guide", + "title":"Queue Permission Management", + "githuburl":"" + }, + { + "uri":"dli_01_0363.html", + "product_code":"dli", + "code":"33", + "des":"Before executing a job, you need to create a queue.If you use a sub-account to create a queue for the first time, log in to the DLI management console using the main acco", + "doc_type":"usermanual", + "kw":"Creating a Queue,Queue Management,User Guide", + "title":"Creating a Queue", + "githuburl":"" + }, + { + "uri":"dli_01_0016.html", + "product_code":"dli", + "code":"34", + "des":"You can delete a queue based on actual conditions.This operation will fail if there are jobs in the Submitting or Running state on this queue.Deleting a queue does not ca", + "doc_type":"usermanual", + "kw":"Deleting a Queue,Queue Management,User Guide", + "title":"Deleting a Queue", + "githuburl":"" + }, + { + "uri":"dli_01_0443.html", + "product_code":"dli", + "code":"35", + "des":"If the CIDR block of the DLI queue conflicts with that of the user data source, you can change the CIDR block of the queue.If the queue whose CIDR block is to be modified", + "doc_type":"usermanual", + "kw":"Modifying the CIDR Block,Queue Management,User Guide", + "title":"Modifying the CIDR Block", + "githuburl":"" + }, + { + "uri":"dli_01_0487.html", + "product_code":"dli", + "code":"36", + "des":"Elastic scaling can be performed for a newly created queue only when there were jobs running in this queue.If Status of queue xxx is assigning, which is not available is ", + "doc_type":"usermanual", + "kw":"Elastic Scaling,Queue Management,User Guide", + "title":"Elastic Scaling", + "githuburl":"" + }, + { + "uri":"dli_01_0488.html", + "product_code":"dli", + "code":"37", + "des":"When services are busy, you might need to use more compute resources to process services in a period. After this period, you do not require the same amount of resources. ", + "doc_type":"usermanual", + "kw":"Scheduling CU Changes,Queue Management,User Guide", + "title":"Scheduling CU Changes", + "githuburl":"" + }, + { + "uri":"dli_01_0489.html", + "product_code":"dli", + "code":"38", + "des":"It can be used to test the connectivity between the DLI queue and the peer IP address specified by the user in common scenarios, or the connectivity between the DLI queue", + "doc_type":"usermanual", + "kw":"Testing Address Connectivity,Queue Management,User Guide", + "title":"Testing Address Connectivity", + "githuburl":"" + }, + { + "uri":"dli_01_0421.html", + "product_code":"dli", + "code":"39", + "des":"Once you have created a message notification topic, you can Add subscription of the topic on the Topic Management page of the Simple Message Notification service. You can", + "doc_type":"usermanual", + "kw":"Creating a Message Notification Topic,Queue Management,User Guide", + "title":"Creating a Message Notification Topic", + "githuburl":"" + }, + { + "uri":"dli_01_0004.html", + "product_code":"dli", + "code":"40", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Data Management", + "title":"Data Management", + "githuburl":"" + }, + { + "uri":"dli_01_0390.html", + "product_code":"dli", + "code":"41", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Databases and Tables", + "title":"Databases and Tables", + "githuburl":"" + }, + { + "uri":"dli_01_0228.html", + "product_code":"dli", + "code":"42", + "des":"DLI database and table management provide the following functions:Database Permission ManagementTable Permission ManagementCreating a Database or a TableDeleting a Databa", + "doc_type":"usermanual", + "kw":"Overview,Databases and Tables,User Guide", + "title":"Overview", + "githuburl":"" + }, + { + "uri":"dli_01_0447.html", + "product_code":"dli", + "code":"43", + "des":"You can isolate databases allocated to different users by setting permissions to ensure data query performance.The administrator and database owner have all permissions, ", + "doc_type":"usermanual", + "kw":"Database Permission Management,Databases and Tables,User Guide", + "title":"Database Permission Management", + "githuburl":"" + }, + { + "uri":"dli_01_0448.html", + "product_code":"dli", + "code":"44", + "des":"You can isolate databases allocated to different users by setting permissions to ensure data query performance.The administrator and database owner have all permissions, ", + "doc_type":"usermanual", + "kw":"Table Permission Management,Databases and Tables,User Guide", + "title":"Table Permission Management", + "githuburl":"" + }, + { + "uri":"dli_01_0005.html", + "product_code":"dli", + "code":"45", + "des":"A database, built on the computer storage device, is a data warehouse where data is organized, stored, and managed based on its structure.The table is an important part o", + "doc_type":"usermanual", + "kw":"Creating a Database or a Table,Databases and Tables,User Guide", + "title":"Creating a Database or a Table", + "githuburl":"" + }, + { + "uri":"dli_01_0011.html", + "product_code":"dli", + "code":"46", + "des":"You can delete unnecessary databases and tables based on actual conditions.You are not allowed to delete databases or tables that are being used for running jobs.The admi", + "doc_type":"usermanual", + "kw":"Deleting a Database or a Table,Databases and Tables,User Guide", + "title":"Deleting a Database or a Table", + "githuburl":"" + }, + { + "uri":"dli_01_0376.html", + "product_code":"dli", + "code":"47", + "des":"During actual use, developers create databases and tables and submit them to test personnel for testing. After the test is complete, the databases and tables are transfer", + "doc_type":"usermanual", + "kw":"Modifying the Owners of Databases and Tables,Databases and Tables,User Guide", + "title":"Modifying the Owners of Databases and Tables", + "githuburl":"" + }, + { + "uri":"dli_01_0253.html", + "product_code":"dli", + "code":"48", + "des":"You can import data from OBS to a table created in DLI.Only one path can be specified during data import. The path cannot contain commas (,).To import data in CSV format ", + "doc_type":"usermanual", + "kw":"Importing Data to the Table,Databases and Tables,User Guide", + "title":"Importing Data to the Table", + "githuburl":"" + }, + { + "uri":"dli_01_0010.html", + "product_code":"dli", + "code":"49", + "des":"You can export data from a DLI table to OBS. During the export, a folder is created in OBS or the content in the existing folder is overwritten.The exported file can be i", + "doc_type":"usermanual", + "kw":"Exporting Data from DLI to OBS,Databases and Tables,User Guide", + "title":"Exporting Data from DLI to OBS", + "githuburl":"" + }, + { + "uri":"dli_01_0008.html", + "product_code":"dli", + "code":"50", + "des":"Metadata is used to define data types. It describes information about the data, including the source, size, format, and other data features. In database fields, metadata ", + "doc_type":"usermanual", + "kw":"Viewing Metadata,Databases and Tables,User Guide", + "title":"Viewing Metadata", + "githuburl":"" + }, + { + "uri":"dli_01_0007.html", + "product_code":"dli", + "code":"51", + "des":"The Preview page displays the first 10 records in the table.You can preview data on either the Data Management page or the SQL Editor page.To preview data on the Data Man", + "doc_type":"usermanual", + "kw":"Previewing Data,Databases and Tables,User Guide", + "title":"Previewing Data", + "githuburl":"" + }, + { + "uri":"dli_01_0366.html", + "product_code":"dli", + "code":"52", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Package Management", + "title":"Package Management", + "githuburl":"" + }, + { + "uri":"dli_01_0407.html", + "product_code":"dli", + "code":"53", + "des":"Package management provides the following functions:Managing Package PermissionsCreating a PackageDeleting a PackageYou can delete program packages in batches.You can del", + "doc_type":"usermanual", + "kw":"Overview,Package Management,User Guide", + "title":"Overview", + "githuburl":"" + }, + { + "uri":"dli_01_0477.html", + "product_code":"dli", + "code":"54", + "des":"You can isolate package groups or packages allocated to different users by setting permissions to ensure data query performance.The administrator and the owner of a packa", + "doc_type":"usermanual", + "kw":"Managing Permissions on Packages and Package Groups,Package Management,User Guide", + "title":"Managing Permissions on Packages and Package Groups", + "githuburl":"" + }, + { + "uri":"dli_01_0367.html", + "product_code":"dli", + "code":"55", + "des":"DLI allows you to submit program packages in batches to the general-use queue for running.If you need to update a package, you can use the same package or file to upload ", + "doc_type":"usermanual", + "kw":"Creating a Package,Package Management,User Guide", + "title":"Creating a Package", + "githuburl":"" + }, + { + "uri":"dli_01_0369.html", + "product_code":"dli", + "code":"56", + "des":"You can delete a package based on actual conditions.On the left of the management console, choose Data Management > Package Management.Click Delete in the Operation colum", + "doc_type":"usermanual", + "kw":"Deleting a Package,Package Management,User Guide", + "title":"Deleting a Package", + "githuburl":"" + }, + { + "uri":"dli_01_0478.html", + "product_code":"dli", + "code":"57", + "des":"To change the owner of a package, click More > Modify Owner in the Operation column of a package on the Package Management page.If the package has been grouped, you can m", + "doc_type":"usermanual", + "kw":"Modifying the Owner,Package Management,User Guide", + "title":"Modifying the Owner", + "githuburl":"" + }, + { + "uri":"dli_01_0397.html", + "product_code":"dli", + "code":"58", + "des":"DLI built-in dependencies are provided by the platform by default. In case of conflicts, you do not need to upload them when packaging JAR packages of Spark or Flink Jar ", + "doc_type":"usermanual", + "kw":"Built-in Dependencies,Package Management,User Guide", + "title":"Built-in Dependencies", + "githuburl":"" + }, + { + "uri":"dli_01_0379.html", + "product_code":"dli", + "code":"59", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Job Templates", + "title":"Job Templates", + "githuburl":"" + }, + { + "uri":"dli_01_0021.html", + "product_code":"dli", + "code":"60", + "des":"To facilitate SQL operation execution, DLI allows you to customize query templates or save the SQL statements in use as templates. After templates are saved, you do not n", + "doc_type":"usermanual", + "kw":"SQL Template Management,Job Templates,User Guide", + "title":"SQL Template Management", + "githuburl":"" + }, + { + "uri":"dli_01_0464.html", + "product_code":"dli", + "code":"61", + "des":"Flink templates include sample templates and custom templates. You can modify an existing sample template to meet the actual job logic requirements and save time for edit", + "doc_type":"usermanual", + "kw":"Flink Template Management,Job Templates,User Guide", + "title":"Flink Template Management", + "githuburl":"" + }, + { + "uri":"dli_01_05110.html", + "product_code":"dli", + "code":"62", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Appendix", + "title":"Appendix", + "githuburl":"" + }, + { + "uri":"dli_01_05111.html", + "product_code":"dli", + "code":"63", + "des":"TPC-H is a test set developed by the Transaction Processing Performance Council (TPC) to simulate decision-making support applications. It is widely used in academia and ", + "doc_type":"usermanual", + "kw":"TPC-H Sample Data in the SQL Template,Appendix,User Guide", + "title":"TPC-H Sample Data in the SQL Template", + "githuburl":"" + }, + { + "uri":"dli_01_0422.html", + "product_code":"dli", + "code":"64", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Datasource Connections", + "title":"Datasource Connections", + "githuburl":"" + }, + { + "uri":"dli_01_0410.html", + "product_code":"dli", + "code":"65", + "des":"DLI supports the datasource capability of the native Spark and extends it. With DLI datasource connection, you can access other data storage services through SQL statemen", + "doc_type":"usermanual", + "kw":"Datasource Connection and Cross-Source Analysis,Datasource Connections,User Guide", + "title":"Datasource Connection and Cross-Source Analysis", + "githuburl":"" + }, + { + "uri":"dli_01_0426.html", + "product_code":"dli", + "code":"66", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Enhanced Datasource Connections", + "title":"Enhanced Datasource Connections", + "githuburl":"" + }, + { + "uri":"dli_01_0003.html", + "product_code":"dli", + "code":"67", + "des":"The enhanced datasource connection uses VPC peering at the bottom layer to directly connect the VPC network between the DLI cluster and the destination datasource. Data i", + "doc_type":"usermanual", + "kw":"Overview,Enhanced Datasource Connections,User Guide", + "title":"Overview", + "githuburl":"" + }, + { + "uri":"dli_01_0006.html", + "product_code":"dli", + "code":"68", + "des":"The following describes how to create a datasource HBase connection for MRS.Only enhanced datasource connection to MRS HBase is supported.Apply for a cluster in MRS.If a ", + "doc_type":"usermanual", + "kw":"Creating, Querying, and Deleting an Enhanced Datasource Connection,Enhanced Datasource Connections,U", + "title":"Creating, Querying, and Deleting an Enhanced Datasource Connection", + "githuburl":"" + }, + { + "uri":"dli_01_0009.html", + "product_code":"dli", + "code":"69", + "des":"The CIDR block of the DLI queue that is bound with a datasource connection cannot overlap with that of the data source.The default queue cannot be bound with a connection", + "doc_type":"usermanual", + "kw":"Binding and Unbinding a Queue,Enhanced Datasource Connections,User Guide", + "title":"Binding and Unbinding a Queue", + "githuburl":"" + }, + { + "uri":"dli_01_0013.html", + "product_code":"dli", + "code":"70", + "des":"Method 1: Copy hosts information in /etc/hosts of an MRS node.cat /etc/hostsMethod 2: Log in to FusionInsight Manager to obtain MRS hosts information.The host information", + "doc_type":"usermanual", + "kw":"Modifying Host Information,Enhanced Datasource Connections,User Guide", + "title":"Modifying Host Information", + "githuburl":"" + }, + { + "uri":"dli_01_0014.html", + "product_code":"dli", + "code":"71", + "des":"After an enhanced datasource connection is created and bound to a queue, the system automatically configures route information. You can also add a custom route for the qu", + "doc_type":"usermanual", + "kw":"Custom Route Information,Enhanced Datasource Connections,User Guide", + "title":"Custom Route Information", + "githuburl":"" + }, + { + "uri":"dli_01_0018.html", + "product_code":"dli", + "code":"72", + "des":"You can grant or revoke permissions for enhanced datasource connections of other projects.AuthorizationLog in to the DLI management console, choose Datasource Connections", + "doc_type":"usermanual", + "kw":"Enhanced Datasource Connection Permission Management,Enhanced Datasource Connections,User Guide", + "title":"Enhanced Datasource Connection Permission Management", + "githuburl":"" + }, + { + "uri":"dli_01_0480.html", + "product_code":"dli", + "code":"73", + "des":"You can isolate datasource connections allocated to different users by setting permissions to ensure data query performance.The administrator and datasource connection ow", + "doc_type":"usermanual", + "kw":"Managing Datasource Connection Permissions,Datasource Connections,User Guide", + "title":"Managing Datasource Connection Permissions", + "githuburl":"" + }, + { + "uri":"dli_01_0427.html", + "product_code":"dli", + "code":"74", + "des":"Datasource authentication is used to manage authentication information for accessing CSS and MRS security environments and encrypt passwords for accessing DWS, RDS, DDS, ", + "doc_type":"usermanual", + "kw":"Creating and Managing Datasource Authentication,Datasource Connections,User Guide", + "title":"Creating and Managing Datasource Authentication", + "githuburl":"" + }, + { + "uri":"dli_01_0485.html", + "product_code":"dli", + "code":"75", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Global Configuration", + "title":"Global Configuration", + "githuburl":"" + }, + { + "uri":"dli_01_0476.html", + "product_code":"dli", + "code":"76", + "des":"Global variables can be used to simplify complex parameters. For example, long and difficult variables can be replaced to improve the readability of SQL statements.In the", + "doc_type":"usermanual", + "kw":"Global Variables,Global Configuration,User Guide", + "title":"Global Variables", + "githuburl":"" + }, + { + "uri":"dli_01_0486.html", + "product_code":"dli", + "code":"77", + "des":"Only the tenant account or a subaccount of user group admin can authorize access.After entering the DLI management console, you are advised to set agency permissions to e", + "doc_type":"usermanual", + "kw":"Service Authorization,Global Configuration,User Guide", + "title":"Service Authorization", + "githuburl":"" + }, + { + "uri":"dli_01_0408.html", + "product_code":"dli", + "code":"78", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Permissions Management", + "title":"Permissions Management", + "githuburl":"" + }, + { + "uri":"dli_01_0440.html", + "product_code":"dli", + "code":"79", + "des":"DLI has a comprehensive permission control mechanism and supports fine-grained authentication through Identity and Access Management (IAM). You can create policies in IAM", + "doc_type":"usermanual", + "kw":"Overview,Permissions Management,User Guide", + "title":"Overview", + "githuburl":"" + }, + { + "uri":"dli_01_0418.html", + "product_code":"dli", + "code":"80", + "des":"You can use Identity and Access Management (IAM) to implement fine-grained permissions control on DLI resources. For details, see Overview.If your cloud account does not ", + "doc_type":"usermanual", + "kw":"Creating an IAM User and Granting Permissions,Permissions Management,User Guide", + "title":"Creating an IAM User and Granting Permissions", + "githuburl":"" + }, + { + "uri":"dli_01_0451.html", + "product_code":"dli", + "code":"81", + "des":"Custom policies can be created as a supplement to the system policies of DLI. You can add actions to custom policies. For the actions supported for custom policies, see \"", + "doc_type":"usermanual", + "kw":"Creating a Custom Policy,Permissions Management,User Guide", + "title":"Creating a Custom Policy", + "githuburl":"" + }, + { + "uri":"dli_01_0417.html", + "product_code":"dli", + "code":"82", + "des":"A resource is an object that exists within a service. You can select DLI resources by specifying their paths.", + "doc_type":"usermanual", + "kw":"DLI Resources,Permissions Management,User Guide", + "title":"DLI Resources", + "githuburl":"" + }, + { + "uri":"dli_01_0475.html", + "product_code":"dli", + "code":"83", + "des":"Request conditions are useful in determining when a custom policy takes effect. A request condition consists of a condition key and operator. Condition keys are either gl", + "doc_type":"usermanual", + "kw":"DLI Request Conditions,Permissions Management,User Guide", + "title":"DLI Request Conditions", + "githuburl":"" + }, + { + "uri":"dli_01_0441.html", + "product_code":"dli", + "code":"84", + "des":"Table 1 lists the common operations supported by each system policy of DLI. Choose proper system policies according to this table. For details about the SQL statement per", + "doc_type":"usermanual", + "kw":"Common Operations Supported by DLI System Policy,Permissions Management,User Guide", + "title":"Common Operations Supported by DLI System Policy", + "githuburl":"" + }, + { + "uri":"dli_01_0539.html", + "product_code":"dli", + "code":"85", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"FAQs", + "title":"FAQs", + "githuburl":"" + }, + { + "uri":"dli_03_0037.html", + "product_code":"dli", + "code":"86", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Flink Jobs", + "title":"Flink Jobs", + "githuburl":"" + }, + { + "uri":"dli_03_0083.html", + "product_code":"dli", + "code":"87", + "des":"DLI Flink jobs support the following data formats:Avro, Avro_merge, BLOB, CSV, EMAIL, JSON, ORC, Parquet, and XML.DLI Flink jobs support data from the following data sour", + "doc_type":"usermanual", + "kw":"What Data Formats and Data Sources Are Supported by DLI Flink Jobs?,Flink Jobs,User Guide", + "title":"What Data Formats and Data Sources Are Supported by DLI Flink Jobs?", + "githuburl":"" + }, + { + "uri":"dli_03_0139.html", + "product_code":"dli", + "code":"88", + "des":"A sub-user can view queues but cannot view Flink jobs. You can authorize the sub-user using DLI or IAM.Authorization on DLILog in to the DLI console using a tenant accoun", + "doc_type":"usermanual", + "kw":"How Do I Authorize a Subuser to View Flink Jobs?,Flink Jobs,User Guide", + "title":"How Do I Authorize a Subuser to View Flink Jobs?", + "githuburl":"" + }, + { + "uri":"dli_03_0090.html", + "product_code":"dli", + "code":"89", + "des":"DLI Flink jobs are highly available. You can enable the automatic restart function to automatically restart your jobs after short-time faults of peripheral services are r", + "doc_type":"usermanual", + "kw":"How Do I Set Auto Restart upon Exception for a Flink Job?,Flink Jobs,User Guide", + "title":"How Do I Set Auto Restart upon Exception for a Flink Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0099.html", + "product_code":"dli", + "code":"90", + "des":"When you create a Flink SQL job or Flink Jar job, you can select Save Job Log on the job editing page to save job running logs to OBS.To set the OBS bucket for storing th", + "doc_type":"usermanual", + "kw":"How Do I Save Flink Job Logs?,Flink Jobs,User Guide", + "title":"How Do I Save Flink Job Logs?", + "githuburl":"" + }, + { + "uri":"dli_03_0043.html", + "product_code":"dli", + "code":"91", + "des":"DLI can output Flink job results to DIS. You can view the results in DIS. For details, see Retrieving Data from DIS in the Data Ingestion Service User Guide.DLI can outpu", + "doc_type":"usermanual", + "kw":"How Can I Check Flink Job Results?,Flink Jobs,User Guide", + "title":"How Can I Check Flink Job Results?", + "githuburl":"" + }, + { + "uri":"dli_03_0160.html", + "product_code":"dli", + "code":"92", + "des":"Choose Job Management > Flink Jobs. In the Operation column of the target job, choose More > Permissions. When a new user is authorized, No such user. userName:xxxx. is d", + "doc_type":"usermanual", + "kw":"What Should I Do if \"No such user. userName:xxxx.\" Is Displayed on the Flink Job Management Page Whe", + "title":"What Should I Do if \"No such user. userName:xxxx.\" Is Displayed on the Flink Job Management Page When I Grant Permission to a User?", + "githuburl":"" + }, + { + "uri":"dli_03_0180.html", + "product_code":"dli", + "code":"93", + "des":"Checkpoint was enabled when a Flink job is created, and the OBS bucket for storing checkpoints was specified. After a Flink job is manually stopped, no message is display", + "doc_type":"usermanual", + "kw":"How Do I Know Which Checkpoint the Flink Job I Stopped Will Be Restored to When I Start the Job Agai", + "title":"How Do I Know Which Checkpoint the Flink Job I Stopped Will Be Restored to When I Start the Job Again?", + "githuburl":"" + }, + { + "uri":"dli_03_0130.html", + "product_code":"dli", + "code":"94", + "des":"The consumption capability of a Flink SQL job depends on the data source transmission, queue size, and job parameter settings. The peak consumption is 10 Mbit/s.", + "doc_type":"usermanual", + "kw":"How Much Data Can Be Processed in a Day by a Flink SQL Job?,Flink Jobs,User Guide", + "title":"How Much Data Can Be Processed in a Day by a Flink SQL Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0061.html", + "product_code":"dli", + "code":"95", + "des":"The temp stream in Flink SQL is similar to a subquery. It is a logical stream used to simplify the SQL logic and does not generate data storage. Therefore, there is no ne", + "doc_type":"usermanual", + "kw":"Does Data in the Temporary Stream of Flink SQL Need to Be Cleared Periodically? How Do I Clear the D", + "title":"Does Data in the Temporary Stream of Flink SQL Need to Be Cleared Periodically? How Do I Clear the Data?", + "githuburl":"" + }, + { + "uri":"dli_03_0138.html", + "product_code":"dli", + "code":"96", + "des":"SymptomWhen you create a Flink SQL job and configure the parameters, you select an OBS bucket you have created. The system displays a message indicating that the OBS buck", + "doc_type":"usermanual", + "kw":"What Should I Do if a Message Is Displayed Indicating that the OBS Bucket Is Not Authorized When I S", + "title":"What Should I Do if a Message Is Displayed Indicating that the OBS Bucket Is Not Authorized When I Select an OBS Bucket for a Flink SQL Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0089.html", + "product_code":"dli", + "code":"97", + "des":"When using a Flink SQL job, you need to create an OBS partition table for subsequent batch processing.In the following example, the day field is used as the partition fie", + "doc_type":"usermanual", + "kw":"How Do I Map an OBS Table to a Partitioned DLI Table?,Flink Jobs,User Guide", + "title":"How Do I Map an OBS Table to a Partitioned DLI Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0120.html", + "product_code":"dli", + "code":"98", + "des":"SymptomYou used Flink 1.10 to run a Flink Opensource SQL job. You set the number of Kafka partitions for the job a small value at the beginning and need to increase the n", + "doc_type":"usermanual", + "kw":"How Do I Change the Number of Kafka Partitions of a Flink SQL Job Without Stopping It?,Flink Jobs,Us", + "title":"How Do I Change the Number of Kafka Partitions of a Flink SQL Job Without Stopping It?", + "githuburl":"" + }, + { + "uri":"dli_03_0075.html", + "product_code":"dli", + "code":"99", + "des":"In this example, the day field is used as the partition field with the parquet encoding format (only the parquet format is supported currently) to dump car_info data to O", + "doc_type":"usermanual", + "kw":"How Can I Map an OBS Table to a DLI Partition Table?,Flink Jobs,User Guide", + "title":"How Can I Map an OBS Table to a DLI Partition Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0167.html", + "product_code":"dli", + "code":"100", + "des":"When I run the creation statement with an EL expression in the table name in a Flink SQL job, the following error message is displayed:DLI.0005: AnalysisException: t_user", + "doc_type":"usermanual", + "kw":"What Should I Do If Error Message DLI.0005 Is Displayed When I Use an EL Expression to Create a Tabl", + "title":"What Should I Do If Error Message DLI.0005 Is Displayed When I Use an EL Expression to Create a Table in a Flink SQL Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0168.html", + "product_code":"dli", + "code":"101", + "des":"After data is written to OBS through the Flink job output stream, data cannot be queried from the DLI table created in the OBS file path.For example, use the following Fl", + "doc_type":"usermanual", + "kw":"What Should I Do If No Data Is Found in the DLI Table Created Using the OBS File Path That Stores th", + "title":"What Should I Do If No Data Is Found in the DLI Table Created Using the OBS File Path That Stores the Output of a Flink job?", + "githuburl":"" + }, + { + "uri":"dli_03_0174.html", + "product_code":"dli", + "code":"102", + "des":"After a Flink SQL job is submitted on DLI, the job fails to be executed. The following error information is displayed in the job log:connect to DIS failed java.lang.Illeg", + "doc_type":"usermanual", + "kw":"What Should I Do If a Flink SQL Job Fails to Be Executed, and \"connect to DIS failed java.lang.Illeg", + "title":"What Should I Do If a Flink SQL Job Fails to Be Executed, and \"connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null\" Is Recorded in the Log?", + "githuburl":"" + }, + { + "uri":"dli_03_0176.html", + "product_code":"dli", + "code":"103", + "des":"Semantic verification for a Flink SQL job (reading DIS data) fails. The following information is displayed when the job fails:Get dis channel xxxinfo failed. error info: ", + "doc_type":"usermanual", + "kw":"What Should I Do If \"Not authorized\" Is Reported When a Flink SQL Job Reads DIS Data?,Flink Jobs,Use", + "title":"What Should I Do If \"Not authorized\" Is Reported When a Flink SQL Job Reads DIS Data?", + "githuburl":"" + }, + { + "uri":"dli_03_0232.html", + "product_code":"dli", + "code":"104", + "des":"After a Flink SQL job consumed Kafka and sank data to the Elasticsearch cluster, the job was successfully executed, but no data is available.Possible causes are as follow", + "doc_type":"usermanual", + "kw":"Data Writing Fails After a Flink SQL Job Consumed Kafka and Sank Data to the Elasticsearch Cluster,F", + "title":"Data Writing Fails After a Flink SQL Job Consumed Kafka and Sank Data to the Elasticsearch Cluster", + "githuburl":"" + }, + { + "uri":"dli_03_0038.html", + "product_code":"dli", + "code":"105", + "des":"The procedure is as follows:Add the following code to the JAR package code of the Flink Jar job:// Configure the pom file on which the StreamExecutionEnvironment depends.", + "doc_type":"usermanual", + "kw":"How Do I Configure Checkpoints for Flink Jar Jobs and Save the Checkpoints to OBS?,Flink Jobs,User G", + "title":"How Do I Configure Checkpoints for Flink Jar Jobs and Save the Checkpoints to OBS?", + "githuburl":"" + }, + { + "uri":"dli_03_0044.html", + "product_code":"dli", + "code":"106", + "des":"Configuration files can be uploaded for user-defined jobs (JAR).Upload the configuration file to DLI through Package Management.In the Other Dependencies area of the Flin", + "doc_type":"usermanual", + "kw":"Does a Flink JAR Job Support Configuration File Upload? How Do I Upload a Configuration File?,Flink ", + "title":"Does a Flink JAR Job Support Configuration File Upload? How Do I Upload a Configuration File?", + "githuburl":"" + }, + { + "uri":"dli_03_0119.html", + "product_code":"dli", + "code":"107", + "des":"The dependency of your Flink job conflicts with a built-in dependency of the DLI Flink platform. As a result, the job submission fails.Delete your JAR package that is the", + "doc_type":"usermanual", + "kw":"What Should I Do If Job Submission Fails Due to Flink JAR Package Conflict?,Flink Jobs,User Guide", + "title":"What Should I Do If Job Submission Fails Due to Flink JAR Package Conflict?", + "githuburl":"" + }, + { + "uri":"dli_03_0161.html", + "product_code":"dli", + "code":"108", + "des":"When a Flink Jar job is submitted to access GaussDB(DWS), an error message is displayed indicating that the job fails to be started. The job log contains the following er", + "doc_type":"usermanual", + "kw":"What Should I Do If GaussDB(DWS) Fails to Be Started When a Flink Jar Job Accesses GaussDB(DWS), and", + "title":"What Should I Do If GaussDB(DWS) Fails to Be Started When a Flink Jar Job Accesses GaussDB(DWS), and a Message Indicating Too Many Client Connections is Displayed?", + "githuburl":"" + }, + { + "uri":"dli_03_0165.html", + "product_code":"dli", + "code":"109", + "des":"An exception occurred when a Flink Jar job is running. The following error information is displayed in the job log:org.apache.flink.shaded.curator.org.apache.curator.Conn", + "doc_type":"usermanual", + "kw":"What Should I Do If Error Message \"Authentication failed\" Is Displayed When a Flink Jar Job Is Runni", + "title":"What Should I Do If Error Message \"Authentication failed\" Is Displayed When a Flink Jar Job Is Running?", + "githuburl":"" + }, + { + "uri":"dli_03_0233.html", + "product_code":"dli", + "code":"110", + "des":"The storage path of the Flink Jar job checkpoints was set to an OBS bucket. The job failed to be submitted, and an error message indicating an invalid OBS bucket name was", + "doc_type":"usermanual", + "kw":"What Should I Do If Invalid OBS Bucket Name Is Reported After a Flink Job Submission Failed?,Flink J", + "title":"What Should I Do If Invalid OBS Bucket Name Is Reported After a Flink Job Submission Failed?", + "githuburl":"" + }, + { + "uri":"dli_03_0234.html", + "product_code":"dli", + "code":"111", + "des":"Flink Job submission failed. The exception information is as follows:Flink JAR packages conflicted. The submitted Flink JAR package conflicted with the HDFS JAR package o", + "doc_type":"usermanual", + "kw":"Flink Job Submission Fails Due to Hadoop JAR Package Conflicts,Flink Jobs,User Guide", + "title":"Flink Job Submission Fails Due to Hadoop JAR Package Conflicts", + "githuburl":"" + }, + { + "uri":"dli_03_0266.html", + "product_code":"dli", + "code":"112", + "des":"You can use Flink Jar to connect to Kafka with SASL SSL authentication enabled.", + "doc_type":"usermanual", + "kw":"How Do I Connect a Flink jar Job to SASL_SSL?,Flink Jobs,User Guide", + "title":"How Do I Connect a Flink jar Job to SASL_SSL?", + "githuburl":"" + }, + { + "uri":"dli_03_0106.html", + "product_code":"dli", + "code":"113", + "des":"Data Stacking in a Consumer GroupThe accumulated data of a consumer group can be calculated by the following formula: Total amount of data to be consumed by the consumer ", + "doc_type":"usermanual", + "kw":"How Do I Optimize Performance of a Flink Job?,Flink Jobs,User Guide", + "title":"How Do I Optimize Performance of a Flink Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0048.html", + "product_code":"dli", + "code":"114", + "des":"Add the following SQL statements to the Flink job:", + "doc_type":"usermanual", + "kw":"How Do I Write Data to Different Elasticsearch Clusters in a Flink Job?,Flink Jobs,User Guide", + "title":"How Do I Write Data to Different Elasticsearch Clusters in a Flink Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0096.html", + "product_code":"dli", + "code":"115", + "des":"The DLI Flink checkpoint/savepoint mechanism is complete and reliable. You can use this mechanism to prevent data loss when a job is manually restarted or restarted due t", + "doc_type":"usermanual", + "kw":"How Do I Prevent Data Loss After Flink Job Restart?,Flink Jobs,User Guide", + "title":"How Do I Prevent Data Loss After Flink Job Restart?", + "githuburl":"" + }, + { + "uri":"dli_03_0103.html", + "product_code":"dli", + "code":"116", + "des":"On the Flink job management page, hover the cursor on the status of the job that fails to be submitted to view the brief information about the failure.The possible causes", + "doc_type":"usermanual", + "kw":"How Do I Locate a Flink Job Submission Error?,Flink Jobs,User Guide", + "title":"How Do I Locate a Flink Job Submission Error?", + "githuburl":"" + }, + { + "uri":"dli_03_0105.html", + "product_code":"dli", + "code":"117", + "des":"On the Flink job management, click Edit in the Operation column of the target job. On the displayed page, check whether Save Job Log in the Running Parameters tab is enab", + "doc_type":"usermanual", + "kw":"How Do I Locate a Flink Job Running Error?,Flink Jobs,User Guide", + "title":"How Do I Locate a Flink Job Running Error?", + "githuburl":"" + }, + { + "uri":"dli_03_0136.html", + "product_code":"dli", + "code":"118", + "des":"Check the following operations:Adjusting or adding optimization parameters or the number of concurrent threads of a job, or modifying Flink SQL statements or a Flink Jar ", + "doc_type":"usermanual", + "kw":"How Do I Know Whether a Flink Job Can Be Restored from a Checkpoint After Being Restarted?,Flink Job", + "title":"How Do I Know Whether a Flink Job Can Be Restored from a Checkpoint After Being Restarted?", + "githuburl":"" + }, + { + "uri":"dli_03_0040.html", + "product_code":"dli", + "code":"119", + "des":"To rectify this fault, perform the following steps:Log in to the DIS management console. In the navigation pane, choose Stream Management. View the Flink job SQL statemen", + "doc_type":"usermanual", + "kw":"What Should I Do If the DIS Stream Does Not Exist During the Semantic Check?,Flink Jobs,User Guide", + "title":"What Should I Do If the DIS Stream Does Not Exist During the Semantic Check?", + "githuburl":"" + }, + { + "uri":"dli_03_0045.html", + "product_code":"dli", + "code":"120", + "des":"If the OBS bucket selected for a job is not authorized, perform the following steps:Select Enable Checkpointing or Save Job Log.Specify OBS Bucket.Select Authorize OBS.", + "doc_type":"usermanual", + "kw":"What Should I Do If the OBS Bucket Selected for a Job Is Not Authorized?,Flink Jobs,User Guide", + "title":"What Should I Do If the OBS Bucket Selected for a Job Is Not Authorized?", + "githuburl":"" + }, + { + "uri":"dli_03_0064.html", + "product_code":"dli", + "code":"121", + "des":"Mode for storing generated job logs when a DLI Flink job fails to be submitted or executed. The options are as follows:If the submission fails, a submission log is genera", + "doc_type":"usermanual", + "kw":"What Should I Do If Logs Are Not Written to the OBS Bucket After a DLI Flink Job Fails to Be Submitt", + "title":"What Should I Do If Logs Are Not Written to the OBS Bucket After a DLI Flink Job Fails to Be Submitted for Running?", + "githuburl":"" + }, + { + "uri":"dli_03_0121.html", + "product_code":"dli", + "code":"122", + "des":"SymptomYou used Flink 1.10 to run a Flink Opensource SQL job. The job failed after the following error was reported when Flink Sink wrote data to Kafka.Caused by: org.apa", + "doc_type":"usermanual", + "kw":"How Do I Configure Connection Retries for Kafka Sink If it is Disconnected?,Flink Jobs,User Guide", + "title":"How Do I Configure Connection Retries for Kafka Sink If it is Disconnected?", + "githuburl":"" + }, + { + "uri":"dli_03_0235.html", + "product_code":"dli", + "code":"123", + "des":"The Flink/Spark UI was displayed with incomplete information.When a pay-per-use queue is used to run a job, the system releases the cluster and takes about 10 minutes to ", + "doc_type":"usermanual", + "kw":"What Should I Do If the Flink/Spark UI Page Cannot Be Displayed Properly?,Flink Jobs,User Guide", + "title":"What Should I Do If the Flink/Spark UI Page Cannot Be Displayed Properly?", + "githuburl":"" + }, + { + "uri":"dli_03_0236.html", + "product_code":"dli", + "code":"124", + "des":"JobManager and TaskManager heartbeats timed out. As a result, the Flink job is abnormal.Check whether the network is intermittently disconnected and whether the cluster l", + "doc_type":"usermanual", + "kw":"Wha should I Do If JobManager and TaskManager Heartbeats Timed Out and the Flink Job Is Abnormal?,Fl", + "title":"Wha should I Do If JobManager and TaskManager Heartbeats Timed Out and the Flink Job Is Abnormal?", + "githuburl":"" + }, + { + "uri":"dli_03_0265.html", + "product_code":"dli", + "code":"125", + "des":"Test address connectivity.If the network is unreachable, rectify the network connection first. Ensure that the network connection between the DLI queue and the external d", + "doc_type":"usermanual", + "kw":"What Can I Do If \"Timeout expired while fetching topic metadata\" Is Repeatedly Reported in Flink Job", + "title":"What Can I Do If \"Timeout expired while fetching topic metadata\" Is Repeatedly Reported in Flink JobManager Logs?", + "githuburl":"" + }, + { + "uri":"dli_03_0020.html", + "product_code":"dli", + "code":"126", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Problems Related to SQL Jobs", + "title":"Problems Related to SQL Jobs", + "githuburl":"" + }, + { + "uri":"dli_03_0200.html", + "product_code":"dli", + "code":"127", + "des":"A temporary table is used to store intermediate results. When a transaction or session ends, the data in the temporary table can be automatically deleted. For example, in", + "doc_type":"usermanual", + "kw":"SQL Jobs,Problems Related to SQL Jobs,User Guide", + "title":"SQL Jobs", + "githuburl":"" + }, + { + "uri":"dli_03_0086.html", + "product_code":"dli", + "code":"128", + "des":"If a large number of small files are generated during SQL execution, job execution and table query will take a long time. In this case, you should merge small files.Set t", + "doc_type":"usermanual", + "kw":"How Do I Merge Small Files?,Problems Related to SQL Jobs,User Guide", + "title":"How Do I Merge Small Files?", + "githuburl":"" + }, + { + "uri":"dli_03_0092.html", + "product_code":"dli", + "code":"129", + "des":"When creating an OBS table, you must specify a table path in the database. The path format is as follows: obs://xxx/database name/table name.If the specified path is akdc", + "doc_type":"usermanual", + "kw":"How Do I Specify an OBS Path When Creating an OBS Table?,Problems Related to SQL Jobs,User Guide", + "title":"How Do I Specify an OBS Path When Creating an OBS Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0108.html", + "product_code":"dli", + "code":"130", + "des":"DLI allows you to associate JSON data in an OBS bucket to create tables in asynchronous mode.The statement for creating the table is as follows:", + "doc_type":"usermanual", + "kw":"How Do I Create a Table Using JSON Data in an OBS Bucket?,Problems Related to SQL Jobs,User Guide", + "title":"How Do I Create a Table Using JSON Data in an OBS Bucket?", + "githuburl":"" + }, + { + "uri":"dli_03_0087.html", + "product_code":"dli", + "code":"131", + "des":"You can use the where condition statement in the select statement to filter data. For example:", + "doc_type":"usermanual", + "kw":"How Do I Set Local Variables in SQL Statements?,Problems Related to SQL Jobs,User Guide", + "title":"How Do I Set Local Variables in SQL Statements?", + "githuburl":"" + }, + { + "uri":"dli_03_0069.html", + "product_code":"dli", + "code":"132", + "des":"The correct method for using the count function to perform aggregation is as follows:OrIf an incorrect method is used, an error will be reported.", + "doc_type":"usermanual", + "kw":"How Can I Use the count Function to Perform Aggregation?,Problems Related to SQL Jobs,User Guide", + "title":"How Can I Use the count Function to Perform Aggregation?", + "githuburl":"" + }, + { + "uri":"dli_03_0072.html", + "product_code":"dli", + "code":"133", + "des":"You can use the cross-region replication function of OBS. The procedure is as follows:Export the DLI table data in region 1 to the user-defined OBS bucket. For details, s", + "doc_type":"usermanual", + "kw":"How Do I Synchronize DLI Table Data from One Region to Another?,Problems Related to SQL Jobs,User Gu", + "title":"How Do I Synchronize DLI Table Data from One Region to Another?", + "githuburl":"" + }, + { + "uri":"dli_03_0191.html", + "product_code":"dli", + "code":"134", + "des":"Currently, DLI does not allow you to insert table data into specific fields. To insert table data, you must insert data of all table fields at a time.", + "doc_type":"usermanual", + "kw":"How Do I Insert Table Data into Specific Fields of a Table Using a SQL Job?,Problems Related to SQL ", + "title":"How Do I Insert Table Data into Specific Fields of a Table Using a SQL Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0014.html", + "product_code":"dli", + "code":"135", + "des":"Create an OBS directory with a unique name. Alternatively, you can manually delete the existing OBS directory and submit the job again. However, exercise caution when del", + "doc_type":"usermanual", + "kw":"What Should I Do If Error \"path obs://xxx already exists\" Is Reported When Data Is Exported to OBS?,", + "title":"What Should I Do If Error \"path obs://xxx already exists\" Is Reported When Data Is Exported to OBS?", + "githuburl":"" + }, + { + "uri":"dli_03_0066.html", + "product_code":"dli", + "code":"136", + "des":"This message indicates that the two tables to be joined contain the same column, but the owner of the column is not specified when the command is executed.For example, ta", + "doc_type":"usermanual", + "kw":"What Should I Do If \"SQL_ANALYSIS_ERROR: Reference 't.id' is ambiguous, could be: t.id, t.id.;\" Is D", + "title":"What Should I Do If \"SQL_ANALYSIS_ERROR: Reference 't.id' is ambiguous, could be: t.id, t.id.;\" Is Displayed When Two Tables Are Joined", + "githuburl":"" + }, + { + "uri":"dli_03_0071.html", + "product_code":"dli", + "code":"137", + "des":"Check whether the account is in arrears. If yes, recharge the account.If the error persists, log out and log in again.", + "doc_type":"usermanual", + "kw":"What Should I Do If the System Notify Me that I Have No Permission to Execute the Query Statement Be", + "title":"What Should I Do If the System Notify Me that I Have No Permission to Execute the Query Statement Because the Current Account Was Restricted?", + "githuburl":"" + }, + { + "uri":"dli_03_0145.html", + "product_code":"dli", + "code":"138", + "des":"Cause AnalysisWhen you query the partitioned table XX.YYY, the partition column is not specified in the search criteria.A partitioned table can be queried only when the q", + "doc_type":"usermanual", + "kw":"What Should I Do If Error Message \"There should be at least one partition pruning predicate on parti", + "title":"What Should I Do If Error Message \"There should be at least one partition pruning predicate on partitioned table XX.YYY\" Is Displayed When a Query Statement Is Executed?", + "githuburl":"" + }, + { + "uri":"dli_03_0169.html", + "product_code":"dli", + "code":"139", + "des":"The following error message is displayed when the LOAD DATA command is executed by a Spark SQL job to import data to a DLI table:In some cases ,the following error messag", + "doc_type":"usermanual", + "kw":"What Should I Do If Error Message IllegalArgumentException: Buffer size too small. size is Displayed", + "title":"What Should I Do If Error Message IllegalArgumentException: Buffer size too small. size is Displayed When Data Is Loaded to an OBS Foreign Table", + "githuburl":"" + }, + { + "uri":"dli_03_0189.html", + "product_code":"dli", + "code":"140", + "des":"An error is reported during SQL job execution:Please contact DLI service. DLI.0002: FileNotFoundException: getFileStatus on obs://xxx: status [404]Check whether there is ", + "doc_type":"usermanual", + "kw":"What Should I Do If \"DLI.0002 FileNotFoundException\" Is Reported During SQL Job Running,Problems Rel", + "title":"What Should I Do If \"DLI.0002 FileNotFoundException\" Is Reported During SQL Job Running", + "githuburl":"" + }, + { + "uri":"dli_03_0046.html", + "product_code":"dli", + "code":"141", + "des":"Currently, DLI supports the Hive syntax for creating tables of the TEXTFILE, SEQUENCEFILE, RCFILE, ORC, AVRO, and PARQUET file types. If the file format specified for cre", + "doc_type":"usermanual", + "kw":"What Should I Do If A Schema Parsing Error Is Reported When I Create a Hive Table Using CTAS,Problem", + "title":"What Should I Do If A Schema Parsing Error Is Reported When I Create a Hive Table Using CTAS", + "githuburl":"" + }, + { + "uri":"dli_03_0173.html", + "product_code":"dli", + "code":"142", + "des":"When you run a DLI SQL script on DataArts Studio, the log shows that the statements fail to be executed. The error information is as follows:DLI.0999: RuntimeException: o", + "doc_type":"usermanual", + "kw":"What Should I Do If \"org.apache.hadoop.fs.obs.OBSIOException\" Is Reported If DLI SQL Scripts Are Exe", + "title":"What Should I Do If \"org.apache.hadoop.fs.obs.OBSIOException\" Is Reported If DLI SQL Scripts Are Executed on DataArts Studio?", + "githuburl":"" + }, + { + "uri":"dli_03_0172.html", + "product_code":"dli", + "code":"143", + "des":"After the migration job is submitted, the following error information is displayed in the log:org.apache.sqoop.common.SqoopException:UQUERY_CONNECTOR_0001:Invoke DLI serv", + "doc_type":"usermanual", + "kw":"What Should I Do If \"UQUERY_CONNECTOR_0001:Invoke DLI service api failed\" Is Reported in the Job Log", + "title":"What Should I Do If \"UQUERY_CONNECTOR_0001:Invoke DLI service api failed\" Is Reported in the Job Log When I Use CDM to Migrate Data to DLI?", + "githuburl":"" + }, + { + "uri":"dli_03_0207.html", + "product_code":"dli", + "code":"144", + "des":"Error message \"File not Found\" is displayed when a SQL job is accessed.Generally, the file cannot be found due to a read/write conflict. Check whether a job is overwritin", + "doc_type":"usermanual", + "kw":"What Should I Do If \"File not Found\" Is Displayed When I Access a SQL Job?,Problems Related to SQL J", + "title":"What Should I Do If \"File not Found\" Is Displayed When I Access a SQL Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0208.html", + "product_code":"dli", + "code":"145", + "des":"Error message \"DLI.0003: AccessControlException XXX\" is reported when a SQL job is accessed.View the OBS bucket in the AccessControlException and check whether you are us", + "doc_type":"usermanual", + "kw":"What Should I Do If \"DLI.0003: AccessControlException XXX\" Is Reported When I Access a SQL Job?,Prob", + "title":"What Should I Do If \"DLI.0003: AccessControlException XXX\" Is Reported When I Access a SQL Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0209.html", + "product_code":"dli", + "code":"146", + "des":"Error message \"DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{bucket name}}: status [403]\" is reported when a SQL job is Accessed.Th", + "doc_type":"usermanual", + "kw":"What Should I Do If \"DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists", + "title":"What Should I Do If \"DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{bucket name}}: status [403]\" Is Reported When I Access a SQL Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0210.html", + "product_code":"dli", + "code":"147", + "des":"Error message \"The current account does not have permission to perform this operation,the current account was restricted.\" is reported during SQL statement execution.Chec", + "doc_type":"usermanual", + "kw":"What Should I Do If \"The current account does not have permission to perform this operation,the curr", + "title":"What Should I Do If \"The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget\" Is Reported During SQL Statement Execution? Restricted for no budget.", + "githuburl":"" + }, + { + "uri":"dli_03_0196.html", + "product_code":"dli", + "code":"148", + "des":"If the job runs slowly, perform the following steps to find the causes and rectify the fault:Check whether the problem is caused by FullGC.Log in to the DLI console. In t", + "doc_type":"usermanual", + "kw":"How Do I Troubleshoot Slow SQL Jobs?,Problems Related to SQL Jobs,User Guide", + "title":"How Do I Troubleshoot Slow SQL Jobs?", + "githuburl":"" + }, + { + "uri":"dli_03_0091.html", + "product_code":"dli", + "code":"149", + "des":"You can view SQL job logs for routine O&M.Obtain the ID of the DLI job executed on the DataArts Studio console.Job IDOn the DLI console, choose Job Management > SQL Jobs.", + "doc_type":"usermanual", + "kw":"How Do I View DLI SQL Logs?,Problems Related to SQL Jobs,User Guide", + "title":"How Do I View DLI SQL Logs?", + "githuburl":"" + }, + { + "uri":"dli_03_0116.html", + "product_code":"dli", + "code":"150", + "des":"You can view the job execution records when a job is running.Log in to the DLI management console.In the navigation pane on the left, choose Job Management > SQL Jobs.Ent", + "doc_type":"usermanual", + "kw":"How Do I View SQL Execution Records?,Problems Related to SQL Jobs,User Guide", + "title":"How Do I View SQL Execution Records?", + "githuburl":"" + }, + { + "uri":"dli_03_0093.html", + "product_code":"dli", + "code":"151", + "des":"If the execution of an SQL statement takes a long time, you need to access the Spark UI to check the execution status.If data skew occurs, the running time of a stage exc", + "doc_type":"usermanual", + "kw":"How Do I Eliminate Data Skew by Configuring AE Parameters?,Problems Related to SQL Jobs,User Guide", + "title":"How Do I Eliminate Data Skew by Configuring AE Parameters?", + "githuburl":"" + }, + { + "uri":"dli_03_0184.html", + "product_code":"dli", + "code":"152", + "des":"A DLI table exists but cannot be queried on the DLI console.If a table exists but cannot be queried, there is a high probability that the current user does not have the p", + "doc_type":"usermanual", + "kw":"What Can I Do If a Table Cannot Be Queried on the DLI Console?,Problems Related to SQL Jobs,User Gui", + "title":"What Can I Do If a Table Cannot Be Queried on the DLI Console?", + "githuburl":"" + }, + { + "uri":"dli_03_0013.html", + "product_code":"dli", + "code":"153", + "des":"A high compression ratio of OBS tables in the Parquet or ORC format (for example, a compression ratio of 5 or higher compared with text compression) will lead to large da", + "doc_type":"usermanual", + "kw":"The Compression Ratio of OBS Tables Is Too High,Problems Related to SQL Jobs,User Guide", + "title":"The Compression Ratio of OBS Tables Is Too High", + "githuburl":"" + }, + { + "uri":"dli_03_0009.html", + "product_code":"dli", + "code":"154", + "des":"DLI supports only UTF-8-encoded texts. Ensure that data is encoded using UTF-8 during table creation and import.", + "doc_type":"usermanual", + "kw":"How Can I Avoid Garbled Characters Caused by Inconsistent Character Codes?,Problems Related to SQL J", + "title":"How Can I Avoid Garbled Characters Caused by Inconsistent Character Codes?", + "githuburl":"" + }, + { + "uri":"dli_03_0175.html", + "product_code":"dli", + "code":"155", + "des":"User A created the testTable table in a database through a SQL job and granted user B the permission to insert and delete table data. User A deleted the testTable table a", + "doc_type":"usermanual", + "kw":"Do I Need to Grant Table Permissions to a User and Project After I Delete a Table and Create One wit", + "title":"Do I Need to Grant Table Permissions to a User and Project After I Delete a Table and Create One with the Same Name?", + "githuburl":"" + }, + { + "uri":"dli_03_0177.html", + "product_code":"dli", + "code":"156", + "des":"A CSV file is imported to a DLI partitioned table, but the imported file data does not contain the data in the partitioning column. The partitioning column needs to be sp", + "doc_type":"usermanual", + "kw":"What Should I Do If Table Data Fails to Be Queried After Data Is Imported to a DLI Partitioned Table", + "title":"What Should I Do If Table Data Fails to Be Queried After Data Is Imported to a DLI Partitioned Table Because the File to Be Imported Does Not Contain Data in the Partitioning Column?", + "githuburl":"" + }, + { + "uri":"dli_03_0181.html", + "product_code":"dli", + "code":"157", + "des":"When an OBS foreign table is created, a field in the specified OBS file contains a carriage return line feed (CRLF) character. As a result, the data is incorrect.The stat", + "doc_type":"usermanual", + "kw":"How Do I Fix the Data Error Caused by CRLF Characters in a Field of the OBS File Used to Create an E", + "title":"How Do I Fix the Data Error Caused by CRLF Characters in a Field of the OBS File Used to Create an External OBS Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0182.html", + "product_code":"dli", + "code":"158", + "des":"A SQL job contains join operations. After the job is submitted, it is stuck in the Running state and no result is returned.When a Spark SQL job has join operations on sma", + "doc_type":"usermanual", + "kw":"What Should I Do If a SQL Job That Has Join Operations Stays in the Running State?,Problems Related ", + "title":"What Should I Do If a SQL Job That Has Join Operations Stays in the Running State?", + "githuburl":"" + }, + { + "uri":"dli_03_0187.html", + "product_code":"dli", + "code":"159", + "des":"The on clause was not added to the SQL statement for joining tables. As a result, the Cartesian product query occurs due to multi-table association, and the queue resourc", + "doc_type":"usermanual", + "kw":"The on Clause Is Not Added When Tables Are Joined. Cartesian Product Query Causes High Resource Usag", + "title":"The on Clause Is Not Added When Tables Are Joined. Cartesian Product Query Causes High Resource Usage of the Queue, and the Job Fails to Be Executed", + "githuburl":"" + }, + { + "uri":"dli_03_0190.html", + "product_code":"dli", + "code":"160", + "des":"Partition data is manually uploaded to a partition of an OBS table. However, the data cannot be queried using DLI SQL editor.After manually adding partition data, you nee", + "doc_type":"usermanual", + "kw":"What Should I Do If Manually Added Data in a Partition of an OBS Table Cannot Be Queried?,Problems R", + "title":"What Should I Do If Manually Added Data in a Partition of an OBS Table Cannot Be Queried?", + "githuburl":"" + }, + { + "uri":"dli_03_0212.html", + "product_code":"dli", + "code":"161", + "des":"To dynamically overwrite the specified partitioned data in the DataSource table, set dli.sql.dynamicPartitionOverwrite.enabled to true and then run the insert overwrite s", + "doc_type":"usermanual", + "kw":"Why Is All Data Overwritten When insert overwrite Is Used to Overwrite Partitioned Table?,Problems R", + "title":"Why Is All Data Overwritten When insert overwrite Is Used to Overwrite Partitioned Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0213.html", + "product_code":"dli", + "code":"162", + "des":"The possible causes and solutions are as follows:After you purchase a DLI queue and submit a SQL job for the first time, wait for 5 to 10 minutes. After the cluster is st", + "doc_type":"usermanual", + "kw":"Why Is a SQL Job Stuck in the Submitting State?,Problems Related to SQL Jobs,User Guide", + "title":"Why Is a SQL Job Stuck in the Submitting State?", + "githuburl":"" + }, + { + "uri":"dli_03_0214.html", + "product_code":"dli", + "code":"163", + "des":"Spark does not have the datetime type and uses the TIMESTAMP type instead.You can use a function to convert data types.The following is an example.select cast(create_date", + "doc_type":"usermanual", + "kw":"Why Is the create_date Field in the RDS Table Is a Timestamp in the DLI query result?,Problems Relat", + "title":"Why Is the create_date Field in the RDS Table Is a Timestamp in the DLI query result?", + "githuburl":"" + }, + { + "uri":"dli_03_0215.html", + "product_code":"dli", + "code":"164", + "des":"If the table name is changed immediately after SQL statements are executed, the data size of the table may be incorrect.If you need to change the table name, change it 5 ", + "doc_type":"usermanual", + "kw":"What Can I Do If datasize Cannot Be Changed After the Table Name Is Changed in a Finished SQL Job?,P", + "title":"What Can I Do If datasize Cannot Be Changed After the Table Name Is Changed in a Finished SQL Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0231.html", + "product_code":"dli", + "code":"165", + "des":"When DLI is used to insert data into an OBS temporary table, only part of data is imported.Possible causes are as follows:The amount of data read during job execution is ", + "doc_type":"usermanual", + "kw":"Why Is the Data Volume Changes When Data Is Imported from DLI to OBS?,Problems Related to SQL Jobs,U", + "title":"Why Is the Data Volume Changes When Data Is Imported from DLI to OBS?", + "githuburl":"" + }, + { + "uri":"dli_03_0021.html", + "product_code":"dli", + "code":"166", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Problems Related to Spark Jobs", + "title":"Problems Related to Spark Jobs", + "githuburl":"" + }, + { + "uri":"dli_03_0201.html", + "product_code":"dli", + "code":"167", + "des":"DLI Spark does not support job scheduling. You can use other services, such as DataArts Studio, or use APIs or SDKs to customize job schedule.The Spark SQL syntax does no", + "doc_type":"usermanual", + "kw":"Spark Jobs,Problems Related to Spark Jobs,User Guide", + "title":"Spark Jobs", + "githuburl":"" + }, + { + "uri":"dli_03_0107.html", + "product_code":"dli", + "code":"168", + "des":"To use Spark to write data into a DLI table, configure the following parameters:fs.obs.access.keyfs.obs.secret.keyfs.obs.implfs.obs.endpointThe following is an example:", + "doc_type":"usermanual", + "kw":"How Do I Use Spark to Write Data into a DLI Table?,Problems Related to Spark Jobs,User Guide", + "title":"How Do I Use Spark to Write Data into a DLI Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0017.html", + "product_code":"dli", + "code":"169", + "des":"If the AK and SK are obtained, set the parameters as follows:Create SparkContext using codeval sc: SparkContext = new SparkContext()\nsc.hadoopConfiguration.set(\"fs.obs.ac", + "doc_type":"usermanual", + "kw":"How Do I Set the AK/SK for a Queue to Operate an OBS Table?,Problems Related to Spark Jobs,User Guid", + "title":"How Do I Set the AK/SK for a Queue to Operate an OBS Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0102.html", + "product_code":"dli", + "code":"170", + "des":"Log in to the DLI console. In the navigation pane, choose Job Management > Spark Jobs. In the job list, locate the target job and click next to Job ID to view the parame", + "doc_type":"usermanual", + "kw":"How Do I View the Resource Usage of DLI Spark Jobs?,Problems Related to Spark Jobs,User Guide", + "title":"How Do I View the Resource Usage of DLI Spark Jobs?", + "githuburl":"" + }, + { + "uri":"dli_03_0076.html", + "product_code":"dli", + "code":"171", + "des":"If the pymysql module is missing, check whether the corresponding EGG package exists. If the package does not exist, upload the pyFile package on the Package Management p", + "doc_type":"usermanual", + "kw":"How Do I Use Python Scripts to Access the MySQL Database If the pymysql Module Is Missing from the S", + "title":"How Do I Use Python Scripts to Access the MySQL Database If the pymysql Module Is Missing from the Spark Job Results Stored in MySQL?", + "githuburl":"" + }, + { + "uri":"dli_03_0082.html", + "product_code":"dli", + "code":"172", + "des":"DLI natively supports PySpark.For most cases, Python is preferred for data analysis, and PySpark is the best choice for big data analysis. Generally, JVM programs are pac", + "doc_type":"usermanual", + "kw":"How Do I Run a Complex PySpark Program in DLI?,Problems Related to Spark Jobs,User Guide", + "title":"How Do I Run a Complex PySpark Program in DLI?", + "githuburl":"" + }, + { + "uri":"dli_03_0127.html", + "product_code":"dli", + "code":"173", + "des":"You can use DLI Spark jobs to access data in the MySQL database using either of the following methods:Solution 1: Purchase a pay-per-use queue, create an enhanced datasou", + "doc_type":"usermanual", + "kw":"How Does a Spark Job Access a MySQL Database?,Problems Related to Spark Jobs,User Guide", + "title":"How Does a Spark Job Access a MySQL Database?", + "githuburl":"" + }, + { + "uri":"dli_03_0068.html", + "product_code":"dli", + "code":"174", + "des":"When shuffle statements, such as GROUP BY and JOIN, are executed in Spark jobs, data skew occurs, which slows down the job execution.To solve this problem, you can config", + "doc_type":"usermanual", + "kw":"How Do I Use JDBC to Set the spark.sql.shuffle.partitions Parameter to Improve the Task Concurrency?", + "title":"How Do I Use JDBC to Set the spark.sql.shuffle.partitions Parameter to Improve the Task Concurrency?", + "githuburl":"" + }, + { + "uri":"dli_03_0118.html", + "product_code":"dli", + "code":"175", + "des":"You can use SparkFiles to read the file submitted using –-file form a local path: SparkFiles.get(\"Name of the uploaded file\").The file path in the Driver is different fro", + "doc_type":"usermanual", + "kw":"How Do I Read Uploaded Files for a Spark Jar Job?,Problems Related to Spark Jobs,User Guide", + "title":"How Do I Read Uploaded Files for a Spark Jar Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0023.html", + "product_code":"dli", + "code":"176", + "des":"The Spark 2.3 has changed the behavior of the internal interface Logging. If the user code directly inherits the Logging and the earlier version Spark is used during comp", + "doc_type":"usermanual", + "kw":"What Can I Do When Receiving java.lang.AbstractMethodError in the Spark Job?,Problems Related to Spa", + "title":"What Can I Do When Receiving java.lang.AbstractMethodError in the Spark Job?", + "githuburl":"" + }, + { + "uri":"dli_03_0156.html", + "product_code":"dli", + "code":"177", + "des":"The following error is reported when a Spark job accesses OBS data:Set the AK/SK to enable Spark jobs to access OBS data. For details, see How Do I Set the AK/SK for a Qu", + "doc_type":"usermanual", + "kw":"What Should I Do If Errors \"ResponseCode: 403\" and \"ResponseStatus: Forbidden\" Are Reported When a S", + "title":"What Should I Do If Errors \"ResponseCode: 403\" and \"ResponseStatus: Forbidden\" Are Reported When a Spark Job Accesses OBS Data", + "githuburl":"" + }, + { + "uri":"dli_03_0164.html", + "product_code":"dli", + "code":"178", + "des":"Check whether the OBS bucket is used to store DLI logs on the Global Configuration > Job Configurations page. The job log bucket cannot be used for other purpose.", + "doc_type":"usermanual", + "kw":"Why is Error \"verifyBucketExists on XXXX: status [403]\" Is Reported When I Run a Spark Job with a Us", + "title":"Why is Error \"verifyBucketExists on XXXX: status [403]\" Is Reported When I Run a Spark Job with a User that has the Permission to Access the OBS Bucket?", + "githuburl":"" + }, + { + "uri":"dli_03_0157.html", + "product_code":"dli", + "code":"179", + "des":"When a Spark job accesses a large amount of data, for example, accessing data in a GaussDB(DWS) database, you are advised to set the number of concurrent tasks and enable", + "doc_type":"usermanual", + "kw":"What Should I Do if a Running Timeout Error Is Reported When a Spark Job Runs a Large Amount of Data", + "title":"What Should I Do if a Running Timeout Error Is Reported When a Spark Job Runs a Large Amount of Data?", + "githuburl":"" + }, + { + "uri":"dli_03_0188.html", + "product_code":"dli", + "code":"180", + "des":"Spark jobs cannot access SFTP. Upload the files you want to access to OBS and then you can analyze the data using Spark jobs.", + "doc_type":"usermanual", + "kw":"What Should I Do If a Spark job Used to Access Files in SFTP Fails and the Log Shows that the File D", + "title":"What Should I Do If a Spark job Used to Access Files in SFTP Fails and the Log Shows that the File Directory Is Abnormal?", + "githuburl":"" + }, + { + "uri":"dli_03_0192.html", + "product_code":"dli", + "code":"181", + "des":"When a Spark job is running, an error message is displayed, indicating that the user does not have the database permission. The error information is as follows:org.apache", + "doc_type":"usermanual", + "kw":"What Should I Do If a Job Fails Because the Job User Does Not Have the Database and Table Permission", + "title":"What Should I Do If a Job Fails Because the Job User Does Not Have the Database and Table Permission?", + "githuburl":"" + }, + { + "uri":"dli_03_0077.html", + "product_code":"dli", + "code":"182", + "des":"If the specified Python environment cannot be found after a Python3 package is added, the current compute cluster environment is Python2 by default.You can set spark.yarn", + "doc_type":"usermanual", + "kw":"What Can I Do If the Specified Python Environment Cannot Be Found After a Python Package Is Added?,P", + "title":"What Can I Do If the Specified Python Environment Cannot Be Found After a Python Package Is Added?", + "githuburl":"" + }, + { + "uri":"dli_03_0220.html", + "product_code":"dli", + "code":"183", + "des":"The remaining CUs in the queue may be insufficient. As a result, the job cannot be submitted.To view the remaining CUs of a queue, perform the following steps:Check the C", + "doc_type":"usermanual", + "kw":"Why Is a Spark Jar Job Stuck in the Submitting State?,Problems Related to Spark Jobs,User Guide", + "title":"Why Is a Spark Jar Job Stuck in the Submitting State?", + "githuburl":"" + }, + { + "uri":"dli_03_0001.html", + "product_code":"dli", + "code":"184", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Product Consultation", + "title":"Product Consultation", + "githuburl":"" + }, + { + "uri":"dli_03_0002.html", + "product_code":"dli", + "code":"185", + "des":"Data Lake Insight (DLI) is a serverless data processing and analysis service fully compatible with Apache Spark, and Flink ecosystems. It frees you from managing any serv", + "doc_type":"usermanual", + "kw":"What Is DLI?,Product Consultation,User Guide", + "title":"What Is DLI?", + "githuburl":"" + }, + { + "uri":"dli_03_0025.html", + "product_code":"dli", + "code":"186", + "des":"DLI supports the following data formats:ParquetCSVORCJsonAvro", + "doc_type":"usermanual", + "kw":"Which Data Formats Does DLI Support?,Product Consultation,User Guide", + "title":"Which Data Formats Does DLI Support?", + "githuburl":"" + }, + { + "uri":"dli_03_0115.html", + "product_code":"dli", + "code":"187", + "des":"The Spark component of DLI is a fully managed service. You can only use the DLI Spark through its APIs. .The Spark component of MRS is built on the VM in an MRS cluster. ", + "doc_type":"usermanual", + "kw":"What Are the Differences Between MRS Spark and DLI Spark?,Product Consultation,User Guide", + "title":"What Are the Differences Between MRS Spark and DLI Spark?", + "githuburl":"" + }, + { + "uri":"dli_03_0029.html", + "product_code":"dli", + "code":"188", + "des":"DLI data can be stored in either of the following:OBS: Data used by SQL jobs, Spark jobs, and Flink jobs can be stored in OBS, reducing storage costs.DLI: The column-base", + "doc_type":"usermanual", + "kw":"Where Can DLI Data Be Stored?,Product Consultation,User Guide", + "title":"Where Can DLI Data Be Stored?", + "githuburl":"" + }, + { + "uri":"dli_03_0117.html", + "product_code":"dli", + "code":"189", + "des":"DLI tables store data within the DLI service, and you do not need to know the data storage path.OBS tables store data in your OBS buckets, and you need to manage the sour", + "doc_type":"usermanual", + "kw":"What Are the Differences Between DLI Tables and OBS Tables?,Product Consultation,User Guide", + "title":"What Are the Differences Between DLI Tables and OBS Tables?", + "githuburl":"" + }, + { + "uri":"dli_03_0010.html", + "product_code":"dli", + "code":"190", + "des":"Currently, DLI supports analysis only on the data uploaded to the cloud. In scenarios where regular (for example, on a per day basis) one-off analysis on incremental data", + "doc_type":"usermanual", + "kw":"How Can I Use DLI If Data Is Not Uploaded to OBS?,Product Consultation,User Guide", + "title":"How Can I Use DLI If Data Is Not Uploaded to OBS?", + "githuburl":"" + }, + { + "uri":"dli_03_0129.html", + "product_code":"dli", + "code":"191", + "des":"Data in the OBS bucket shared by IAM users under the same account can be imported. You cannot import data in the OBS bucket shared with other IAM account.", + "doc_type":"usermanual", + "kw":"Can I Import OBS Bucket Data Shared by Other Tenants into DLI?,Product Consultation,User Guide", + "title":"Can I Import OBS Bucket Data Shared by Other Tenants into DLI?", + "githuburl":"" + }, + { + "uri":"dli_03_0264.html", + "product_code":"dli", + "code":"192", + "des":"Log in to the management console.Click in the upper left corner and select Region and Project.Click (the My Quotas icon) in the upper right corner.The Service Quota pag", + "doc_type":"usermanual", + "kw":"What Should I do If the System Failed to Create a Database and {\"error_code\":\"DLI.1028\";\"error_msg\":", + "title":"What Should I do If the System Failed to Create a Database and {\"error_code\":\"DLI.1028\";\"error_msg\":\"Already reached the maximum quota of databases:XXX\" Is Displayed Indicating that the Quota Is Insufficient?", + "githuburl":"" + }, + { + "uri":"dli_03_0263.html", + "product_code":"dli", + "code":"193", + "des":"No, a global variable can only be used by the user who created it. Global variables can be used to simplify complex parameters. For example, long and difficult variables ", + "doc_type":"usermanual", + "kw":"Can a Member Account Use Global Variables Created by Other Member Accounts?,Product Consultation,Use", + "title":"Can a Member Account Use Global Variables Created by Other Member Accounts?", + "githuburl":"" + }, + { + "uri":"dli_03_0126.html", + "product_code":"dli", + "code":"194", + "des":"If you are suggested to perform following operations to run a large number of DLI jobs:Group the DLI jobs by type, and run each group on a queue.Alternatively, create IAM", + "doc_type":"usermanual", + "kw":"How Do I Manage Tens of Thousands of Jobs Running on DLI?,Product Consultation,User Guide", + "title":"How Do I Manage Tens of Thousands of Jobs Running on DLI?", + "githuburl":"" + }, + { + "uri":"dli_03_0162.html", + "product_code":"dli", + "code":"195", + "des":"The field names of tables that have been created cannot be changed.You can create a table, define new table fields, and migrate data from the old table to the new one.", + "doc_type":"usermanual", + "kw":"How Do I Change the Name of a Field in a Created Table?,Product Consultation,User Guide", + "title":"How Do I Change the Name of a Field in a Created Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0260.html", + "product_code":"dli", + "code":"196", + "des":"No. The spark.acls.enable configuration item is not used in DLI. The Apache Spark command injection vulnerability (CVE-2022-33891) does not exist in DLI.", + "doc_type":"usermanual", + "kw":"Does DLI Have the Apache Spark Command Injection Vulnerability (CVE-2022-33891)?,Product Consultatio", + "title":"Does DLI Have the Apache Spark Command Injection Vulnerability (CVE-2022-33891)?", + "githuburl":"" + }, + { + "uri":"dli_03_0053.html", + "product_code":"dli", + "code":"197", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Quota", + "title":"Quota", + "githuburl":"" + }, + { + "uri":"dli_03_0031.html", + "product_code":"dli", + "code":"198", + "des":"Log in to the management console.Click in the upper left corner and select Region and Project.Click (the My Quotas icon) in the upper right corner.The Service Quota pag", + "doc_type":"usermanual", + "kw":"How Do I View My Quotas?,Quota,User Guide", + "title":"How Do I View My Quotas?", + "githuburl":"" + }, + { + "uri":"dli_03_0032.html", + "product_code":"dli", + "code":"199", + "des":"The system does not support online quota adjustment. To increase a resource quota, dial the hotline or send an email to the customer service. We will process your applica", + "doc_type":"usermanual", + "kw":"How Do I Increase a Quota?,Quota,User Guide", + "title":"How Do I Increase a Quota?", + "githuburl":"" + }, + { + "uri":"dli_03_0054.html", + "product_code":"dli", + "code":"200", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Permission", + "title":"Permission", + "githuburl":"" + }, + { + "uri":"dli_03_0100.html", + "product_code":"dli", + "code":"201", + "des":"DLI has a comprehensive permission control mechanism and supports fine-grained authentication through Identity and Access Management (IAM). You can create policies in IAM", + "doc_type":"usermanual", + "kw":"How Do I Manage Fine-Grained DLI Permissions?,Permission,User Guide", + "title":"How Do I Manage Fine-Grained DLI Permissions?", + "githuburl":"" + }, + { + "uri":"dli_03_0008.html", + "product_code":"dli", + "code":"202", + "des":"You cannot perform permission-related operations on the partition column of a partition table. However, when you grant the permission of any non-partition column in a par", + "doc_type":"usermanual", + "kw":"What Is Column Permission Granting of a DLI Partition Table?,Permission,User Guide", + "title":"What Is Column Permission Granting of a DLI Partition Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0101.html", + "product_code":"dli", + "code":"203", + "des":"You can set actions and resources of different levels for various scenarios.Define an action.The format is Service name:Resource type:Action. You can use wildcard *. The ", + "doc_type":"usermanual", + "kw":"How Do I Create a Custom Policy?,Permission,User Guide", + "title":"How Do I Create a Custom Policy?", + "githuburl":"" + }, + { + "uri":"dli_03_0225.html", + "product_code":"dli", + "code":"204", + "des":"You can isolate queues allocated to different users by setting permissions to ensure data query performance.", + "doc_type":"usermanual", + "kw":"How Do I Manage Queue Permissions?,Permission,User Guide", + "title":"How Do I Manage Queue Permissions?", + "githuburl":"" + }, + { + "uri":"dli_03_0140.html", + "product_code":"dli", + "code":"205", + "des":"When you submit a job, a message is displayed indicating that the job fails to be submitted due to insufficient permission caused by arrears. In this case, you need to ch", + "doc_type":"usermanual", + "kw":"What Should I Do When My Account Does Not Have Permission Due To Arrears?,Permission,User Guide", + "title":"What Should I Do When My Account Does Not Have Permission Due To Arrears?", + "githuburl":"" + }, + { + "uri":"dli_03_0195.html", + "product_code":"dli", + "code":"206", + "des":"When the user update an existing program package, the following error information is displayed:\"error_code\"*CLI.0003\",\"error_msg\":\"Permission denied for resource 'resourc", + "doc_type":"usermanual", + "kw":"What Should I Do If the Permission Is Required to Update a Program Package?,Permission,User Guide", + "title":"What Should I Do If the Permission Is Required to Update a Program Package?", + "githuburl":"" + }, + { + "uri":"dli_03_0227.html", + "product_code":"dli", + "code":"207", + "des":"When the SQL query statement is executed, the system displays a message indicating that the user does not have the permission to query resources.Error information: DLI.00", + "doc_type":"usermanual", + "kw":"What Should I Do If \"DLI.0003: Permission denied for resource...\" Is Reported When I Run a SQL State", + "title":"What Should I Do If \"DLI.0003: Permission denied for resource...\" Is Reported When I Run a SQL Statement?", + "githuburl":"" + }, + { + "uri":"dli_03_0228.html", + "product_code":"dli", + "code":"208", + "des":"The table permission has been granted and verified. However, after a period of time, an error is reported indicating that the table query fails.There are two possible rea", + "doc_type":"usermanual", + "kw":"What Should I Do If the Table Permission Has Been Granted But the Table Still Cannot Be Queried?,Per", + "title":"What Should I Do If the Table Permission Has Been Granted But the Table Still Cannot Be Queried?", + "githuburl":"" + }, + { + "uri":"dli_03_0049.html", + "product_code":"dli", + "code":"209", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Queue", + "title":"Queue", + "githuburl":"" + }, + { + "uri":"dli_03_0109.html", + "product_code":"dli", + "code":"210", + "des":"Currently, you are not allowed to modify the description of a created queue. You can add the description when purchasing the queue.", + "doc_type":"usermanual", + "kw":"Does the Description of a DLI Queue Can Be Modified?,Queue,User Guide", + "title":"Does the Description of a DLI Queue Can Be Modified?", + "githuburl":"" + }, + { + "uri":"dli_03_0166.html", + "product_code":"dli", + "code":"211", + "des":"Deleting a queue does not cause table data loss in your database.", + "doc_type":"usermanual", + "kw":"Will Table Data in My Database Be Lost If I Delete a Queue?,Queue,User Guide", + "title":"Will Table Data in My Database Be Lost If I Delete a Queue?", + "githuburl":"" + }, + { + "uri":"dli_03_0170.html", + "product_code":"dli", + "code":"212", + "des":"You need to develop a mechanism to retry failed jobs. When a faulty queue is recovered, your application tries to submit the failed jobs to the queue again.", + "doc_type":"usermanual", + "kw":"How Does DLI Ensure the Reliability of Spark Jobs When a Queue Is Abnormal?,Queue,User Guide", + "title":"How Does DLI Ensure the Reliability of Spark Jobs When a Queue Is Abnormal?", + "githuburl":"" + }, + { + "uri":"dli_03_0098.html", + "product_code":"dli", + "code":"213", + "des":"DLI allows you to subscribe to an SMN topic for failed jobs.Log in to the DLI console.In the navigation pane on the left, choose Queue Management.On the Queue Management ", + "doc_type":"usermanual", + "kw":"How Do I Monitor Queue Exceptions?,Queue,User Guide", + "title":"How Do I Monitor Queue Exceptions?", + "githuburl":"" + }, + { + "uri":"dli_03_0095.html", + "product_code":"dli", + "code":"214", + "des":"To check the running status of the DLI queue and determine whether to run more jobs on that queue, you need to check the queue load.Search for Cloud Eye on the console.In", + "doc_type":"usermanual", + "kw":"How Do I View DLI Queue Load?,Queue,User Guide", + "title":"How Do I View DLI Queue Load?", + "githuburl":"" + }, + { + "uri":"dli_03_0183.html", + "product_code":"dli", + "code":"215", + "des":"You need to check the large number of jobs in the Submitting and Running states on the queue.Use Cloud Eye to view jobs in different states on the queue. The procedure is", + "doc_type":"usermanual", + "kw":"How Do I Determine Whether There Are Too Many Jobs in the Current Queue?,Queue,User Guide", + "title":"How Do I Determine Whether There Are Too Many Jobs in the Current Queue?", + "githuburl":"" + }, + { + "uri":"dli_03_0065.html", + "product_code":"dli", + "code":"216", + "des":"Currently, DLI provides two types of queues, For SQL and For general use. SQL queues are used to run SQL jobs. General-use queues are compatible with Spark queues of earl", + "doc_type":"usermanual", + "kw":"How Do I Switch an Earlier-Version Spark Queue to a General-Purpose Queue?,Queue,User Guide", + "title":"How Do I Switch an Earlier-Version Spark Queue to a General-Purpose Queue?", + "githuburl":"" + }, + { + "uri":"dli_03_0193.html", + "product_code":"dli", + "code":"217", + "des":"DLI queues do not use resources or bandwidth when no job is running. In this case, the running status of DLI queues is not displayed on CES.", + "doc_type":"usermanual", + "kw":"Why Cannot I View the Resource Running Status of DLI Queues on Cloud Eye?,Queue,User Guide", + "title":"Why Cannot I View the Resource Running Status of DLI Queues on Cloud Eye?", + "githuburl":"" + }, + { + "uri":"dli_03_0088.html", + "product_code":"dli", + "code":"218", + "des":"In DLI, 64 CU = 64 cores and 256 GB memory.In a Spark job, if the driver occupies 4 cores and 16 GB memory, the executor can occupy 60 cores and 240 GB memory.", + "doc_type":"usermanual", + "kw":"How Do I Allocate Queue Resources for Running Spark Jobs If I Have Purchased 64 CUs?,Queue,User Guid", + "title":"How Do I Allocate Queue Resources for Running Spark Jobs If I Have Purchased 64 CUs?", + "githuburl":"" + }, + { + "uri":"dli_03_0159.html", + "product_code":"dli", + "code":"219", + "des":"Queue plans create failed. The plan xxx target cu is out of quota is displayed when you create a scheduled scaling task.The CU quota of the current account is insufficien", + "doc_type":"usermanual", + "kw":"What Should I Do If \"Queue plans create failed. The plan xxx target cu is out of quota\" Is Displayed", + "title":"What Should I Do If \"Queue plans create failed. The plan xxx target cu is out of quota\" Is Displayed When I Schedule CU Changes?", + "githuburl":"" + }, + { + "uri":"dli_03_0171.html", + "product_code":"dli", + "code":"220", + "des":"After a SQL job was submitted to the default queue, the job runs abnormally. The job log reported that the execution timed out. The exception logs are as follows:[ERROR] ", + "doc_type":"usermanual", + "kw":"What Should I Do If SQL Statements Fails to be Executed on the Default Queue, and a Timeout Exceptio", + "title":"What Should I Do If SQL Statements Fails to be Executed on the Default Queue, and a Timeout Exception is Reported?", + "githuburl":"" + }, + { + "uri":"dli_03_0022.html", + "product_code":"dli", + "code":"221", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Datasource Connections", + "title":"Datasource Connections", + "githuburl":"" + }, + { + "uri":"dli_03_0128.html", + "product_code":"dli", + "code":"222", + "des":"You need to create a VPC peering connection to enable network connectivity. Take MRS as an example. If DLI and MRS clusters are in the same VPC, and the security group is", + "doc_type":"usermanual", + "kw":"Why Do I Need to Create a VPC Peering Connection for an Enhanced Datasource Connection?,Datasource C", + "title":"Why Do I Need to Create a VPC Peering Connection for an Enhanced Datasource Connection?", + "githuburl":"" + }, + { + "uri":"dli_03_0237.html", + "product_code":"dli", + "code":"223", + "des":"An enhanced datasource connection failed to pass the network connectivity test. Datasource connection cannot be bound to a queue. The following error information is displ", + "doc_type":"usermanual", + "kw":"Failed to Bind a Queue to an Enhanced Datasource Connection,Datasource Connections,User Guide", + "title":"Failed to Bind a Queue to an Enhanced Datasource Connection", + "githuburl":"" + }, + { + "uri":"dli_03_0238.html", + "product_code":"dli", + "code":"224", + "des":"The outbound rule had been configured for the security group of the queue associated with the enhanced datasource connection. The datasource authentication used a passwor", + "doc_type":"usermanual", + "kw":"DLI Failed to Connect to GaussDB(DWS) Through an Enhanced Datasource Connection,Datasource Connectio", + "title":"DLI Failed to Connect to GaussDB(DWS) Through an Enhanced Datasource Connection", + "githuburl":"" + }, + { + "uri":"dli_03_0179.html", + "product_code":"dli", + "code":"225", + "des":"A datasource connection is created and bound to a queue. The connectivity test fails and the following error information is displayed:failed to connect to specified addre", + "doc_type":"usermanual", + "kw":"What Can I Do If the Datasource Connection is Created But the Network Connectivity Test Fails?,Datas", + "title":"What Can I Do If the Datasource Connection is Created But the Network Connectivity Test Fails?", + "githuburl":"" + }, + { + "uri":"dli_03_0186.html", + "product_code":"dli", + "code":"226", + "des":"Configuring the Connection Between a DLI Queue and a Data Source in a Private NetworkIf your DLI job needs to connect to a data source, for example, MRS, RDS, CSS, Kafka,", + "doc_type":"usermanual", + "kw":"How Do I Configure the Network Between a DLI Queue and a Data Source?,Datasource Connections,User Gu", + "title":"How Do I Configure the Network Between a DLI Queue and a Data Source?", + "githuburl":"" + }, + { + "uri":"dli_03_0257.html", + "product_code":"dli", + "code":"227", + "des":"The possible causes and solutions are as follows:If you have created a queue, do not bind it to a datasource connection immediately. Wait for 5 to 10 minutes. After the c", + "doc_type":"usermanual", + "kw":"What Can I Do If a Datasource Connection Is Stuck in Creating State When I Try to Bind a Queue to It", + "title":"What Can I Do If a Datasource Connection Is Stuck in Creating State When I Try to Bind a Queue to It?", + "githuburl":"" + }, + { + "uri":"dli_03_0258.html", + "product_code":"dli", + "code":"228", + "des":"Enhanced datasource connections support only yearly/monthly and pay-per-use queues.You can bind a datasource connection only when you select Dedicated Resource Mode when ", + "doc_type":"usermanual", + "kw":"How Do I Bind a Datasource Connection to a Pay-per-Use Queue?,Datasource Connections,User Guide", + "title":"How Do I Bind a Datasource Connection to a Pay-per-Use Queue?", + "githuburl":"" + }, + { + "uri":"dli_03_0259.html", + "product_code":"dli", + "code":"229", + "des":"DLI enhanced datasource connection uses VPC peering to directly connect the VPC networks of the desired data sources for point-to-point data exchanges.", + "doc_type":"usermanual", + "kw":"How Do I Connect DLI to Data Sources?,Datasource Connections,User Guide", + "title":"How Do I Connect DLI to Data Sources?", + "githuburl":"" + }, + { + "uri":"dli_03_0011.html", + "product_code":"dli", + "code":"230", + "des":"To perform query on data stored on services rather than DLI, perform the following steps:Assume that the data to be queried is stored on multiple services (for example, O", + "doc_type":"usermanual", + "kw":"How Can I Perform Query on Data Stored on Services Rather Than DLI?,Datasource Connections,User Guid", + "title":"How Can I Perform Query on Data Stored on Services Rather Than DLI?", + "githuburl":"" + }, + { + "uri":"dli_03_0085.html", + "product_code":"dli", + "code":"231", + "des":"Connect VPCs in different regions.Create an enhanced datasource connection on DLI and bind it to a queue.Add a DLI route.", + "doc_type":"usermanual", + "kw":"How Can I Access Data Across Regions?,Datasource Connections,User Guide", + "title":"How Can I Access Data Across Regions?", + "githuburl":"" + }, + { + "uri":"dli_03_0028.html", + "product_code":"dli", + "code":"232", + "des":"When data is inserted into DLI, set the ID field to NULL.", + "doc_type":"usermanual", + "kw":"How Do I Set the Auto-increment Primary Key or Other Fields That Are Automatically Filled in the RDS", + "title":"How Do I Set the Auto-increment Primary Key or Other Fields That Are Automatically Filled in the RDS Table When Creating a DLI and Associating It with the RDS Table?", + "githuburl":"" + }, + { + "uri":"dli_03_0047.html", + "product_code":"dli", + "code":"233", + "des":"Possible CausesThe network connectivity is abnormal. Check whether the security group is correctly selected and whether the VPC is correctly configured.The network connec", + "doc_type":"usermanual", + "kw":"Why Is the Error Message \"communication link failure\" Displayed When I Use a Newly Activated Datasou", + "title":"Why Is the Error Message \"communication link failure\" Displayed When I Use a Newly Activated Datasource Connection?", + "githuburl":"" + }, + { + "uri":"dli_03_0080.html", + "product_code":"dli", + "code":"234", + "des":"The cluster host information is not added to the datasource connection. As a result, the KRB authentication fails, the connection times out, and no error is recorded in l", + "doc_type":"usermanual", + "kw":"Connection Times Out During MRS HBase Datasource Connection, and No Error Is Recorded in Logs,Dataso", + "title":"Connection Times Out During MRS HBase Datasource Connection, and No Error Is Recorded in Logs", + "githuburl":"" + }, + { + "uri":"dli_03_0111.html", + "product_code":"dli", + "code":"235", + "des":"When you create a VPC peering connection for the datasource connection, the following error information is displayed:Before you create a datasource connection, check whet", + "doc_type":"usermanual", + "kw":"What Should I Do If the Subnet Cannot Be Found When I Create a DLI Datasource Connection?,Datasource", + "title":"What Should I Do If the Subnet Cannot Be Found When I Create a DLI Datasource Connection?", + "githuburl":"" + }, + { + "uri":"dli_03_0239.html", + "product_code":"dli", + "code":"236", + "des":"A cross-source RDS table was created in the DataArts Studio, and the insert overwrite statement was executed to write data into RDS. DLI.0999: BatchUpdateException: Incor", + "doc_type":"usermanual", + "kw":"Error Message \"Incorrect string value\" Is Displayed When insert overwrite Is Executed on a Cross-Sou", + "title":"Error Message \"Incorrect string value\" Is Displayed When insert overwrite Is Executed on a Cross-Source RDS Table", + "githuburl":"" + }, + { + "uri":"dli_03_0250.html", + "product_code":"dli", + "code":"237", + "des":"The system failed to create a cross-source RDS table, and null pointer error was reported.The following table creation statement was used:The RDS database is in a PostGre", + "doc_type":"usermanual", + "kw":"Null Pointer Error Is Displayed When the System Creates a Cross-Source RDS Table,Datasource Connecti", + "title":"Null Pointer Error Is Displayed When the System Creates a Cross-Source RDS Table", + "githuburl":"" + }, + { + "uri":"dli_03_0251.html", + "product_code":"dli", + "code":"238", + "des":"The system failed to execute insert overwrite on the cross-source GaussDB(DWS) table, and org.postgresql.util.PSQLException: ERROR: tuple concurrently updated was display", + "doc_type":"usermanual", + "kw":"Error Message \"org.postgresql.util.PSQLException: ERROR: tuple concurrently updated\" Is Displayed Wh", + "title":"Error Message \"org.postgresql.util.PSQLException: ERROR: tuple concurrently updated\" Is Displayed When the System Executes insert overwrite on a Cross-Source GaussDB(DWS) Table", + "githuburl":"" + }, + { + "uri":"dli_03_0252.html", + "product_code":"dli", + "code":"239", + "des":"A cross-source table was used to import data to a CloudTable HBase table. This HBase table contains a column family and a rowkey for 100 million simulating data records. ", + "doc_type":"usermanual", + "kw":"RegionTooBusyException Is Reported When Data Is Imported to a CloudTable HBase Table Through a Cross", + "title":"RegionTooBusyException Is Reported When Data Is Imported to a CloudTable HBase Table Through a Cross-Source Table", + "githuburl":"" + }, + { + "uri":"dli_03_0253.html", + "product_code":"dli", + "code":"240", + "des":"A table was created on GaussDB(DWS) and then a datasource connection was created on DLI to read and write data. An error message was displayed during data writing, indica", + "doc_type":"usermanual", + "kw":"A Null Value Is Written Into a Non-Null Field When a DLI Datasource Connection Is Used to Connect to", + "title":"A Null Value Is Written Into a Non-Null Field When a DLI Datasource Connection Is Used to Connect to a GaussDB(DWS) Table", + "githuburl":"" + }, + { + "uri":"dli_03_0254.html", + "product_code":"dli", + "code":"241", + "des":"A cross-source GaussDB(DWS) table and the datasource connection were created in DLI, and the schema of the source table in GaussDB(DWS) were updated. During the job execu", + "doc_type":"usermanual", + "kw":"An Insert Operation Failed After the Schema of the GaussDB(DWS) Source Table Is Updated,Datasource C", + "title":"An Insert Operation Failed After the Schema of the GaussDB(DWS) Source Table Is Updated", + "githuburl":"" + }, + { + "uri":"dli_01_00006.html", + "product_code":"dli", + "code":"242", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"usermanual", + "kw":"Change History,User Guide", + "title":"Change History", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/dli/umn/CLASS.TXT.json b/docs/dli/umn/CLASS.TXT.json new file mode 100644 index 00000000..c1a7318b --- /dev/null +++ b/docs/dli/umn/CLASS.TXT.json @@ -0,0 +1,2180 @@ +[ + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Service Overview", + "uri":"dli_01_0538.html", + "doc_type":"usermanual", + "p_code":"", + "code":"1" + }, + { + "desc":"Data Lake Insight (DLI) is a serverless data processing and analysis service fully compatible with Apache Spark and Apache Flink ecosystems. It frees you from managing an", + "product_code":"dli", + "title":"DLI Introduction", + "uri":"dli_01_0378.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"2" + }, + { + "desc":"You do not need a background in big data to use DLI for data analysis. You only need to know SQL, and you are good to go. The SQL syntax is fully compatible with the stan", + "product_code":"dli", + "title":"Advantages", + "uri":"dli_07_0007.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"3" + }, + { + "desc":"DLI is applicable to large-scale log analysis, federated analysis of heterogeneous data sources, and big data ETL processing.Gaming operation data analysisDifferent depar", + "product_code":"dli", + "title":"Application Scenarios", + "uri":"dli_07_0002.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"4" + }, + { + "desc":"When using DLI, you may need to make adjustments according to the following restrictions:Recommended browsers for logging in to DLI:Google Chrome 43.0 or laterMozilla Fir", + "product_code":"dli", + "title":"Constraints and Limitations on Using DLI", + "uri":"dli_07_0005.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"5" + }, + { + "desc":"If you need to assign different permissions to employees in your enterprise to access your DLI resources, IAM is a good choice for fine-grained permissions management. IA", + "product_code":"dli", + "title":"Permissions Management", + "uri":"dli_07_0006.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"6" + }, + { + "desc":"DLI allows multiple organizations, departments, or applications to share resources. A logical entity, also called a tenant, is provided to use diverse resources and servi", + "product_code":"dli", + "title":"Basic Concepts", + "uri":"dli_07_0003.html", + "doc_type":"usermanual", + "p_code":"1", + "code":"7" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Getting Started", + "uri":"dli_01_0220.html", + "doc_type":"usermanual", + "p_code":"", + "code":"8" + }, + { + "desc":"You can use DLI to submit a Spark SQL job to query data. The general procedure is as follows:Step 1: Logging in to the Cloud PlatformStep 2: Uploading Data to OBSStep 3: ", + "product_code":"dli", + "title":"Creating and Submitting a Spark SQL Job", + "uri":"dli_01_0002.html", + "doc_type":"usermanual", + "p_code":"8", + "code":"9" + }, + { + "desc":"To facilitate SQL operations, DLI allows you to customize query templates or save the SQL statements in use as templates. After templates are saved, you do not need to wr", + "product_code":"dli", + "title":"Developing and Submitting a Spark SQL Job Using the TPC-H Sample Template", + "uri":"dli_01_0512.html", + "doc_type":"usermanual", + "p_code":"8", + "code":"10" + }, + { + "desc":"You can use DLI to submit Spark jobs for real-time computing. The general procedure is as follows:Step 1: Logging in to the CloudStep 2: Uploading Data to OBSStep 3: Logg", + "product_code":"dli", + "title":"Creating and Submitting a Spark Jar Job", + "uri":"dli_01_0375.html", + "doc_type":"usermanual", + "p_code":"8", + "code":"11" + }, + { + "desc":"This section describes how to submit a Flink OpenSource SQL job on the DLI console for real-time computing. The general procedure is as follows:Step 1: Log In to the Clou", + "product_code":"dli", + "title":"Creating and Submitting a Flink OpenSource SQL Job", + "uri":"dli_01_0531.html", + "doc_type":"usermanual", + "p_code":"8", + "code":"12" + }, + { + "desc":"Log in to DLI and go to the Overview page.The following table describes the functional areas of the Overview page.", + "product_code":"dli", + "title":"DLI Console Overview", + "uri":"dli_01_0377.html", + "doc_type":"usermanual", + "p_code":"", + "code":"13" + }, + { + "desc":"You can use SQL statements in the SQL job editor to execute data query. DLI supports SQL 2003 and complies with Spark SQL.On the Overview page, click SQL Editor in the na", + "product_code":"dli", + "title":"SQL Editor", + "uri":"dli_01_0320.html", + "doc_type":"usermanual", + "p_code":"", + "code":"14" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Job Management", + "uri":"dli_01_0001.html", + "doc_type":"usermanual", + "p_code":"", + "code":"15" + }, + { + "desc":"SQL jobs allow you to execute SQL statements entered in the SQL job editing window, import data, and export data.SQL job management provides the following functions:Searc", + "product_code":"dli", + "title":"SQL Job Management", + "uri":"dli_01_0017.html", + "doc_type":"usermanual", + "p_code":"15", + "code":"16" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Flink Job Management", + "uri":"dli_01_0389.html", + "doc_type":"usermanual", + "p_code":"15", + "code":"17" + }, + { + "desc":"On the Job Management page of Flink jobs, you can submit a Flink job. Currently, the following job types are supported:Flink SQL uses SQL statements to define jobs and ca", + "product_code":"dli", + "title":"Overview", + "uri":"dli_01_0403.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"18" + }, + { + "desc":"You can isolate Flink jobs allocated to different users by setting permissions to ensure data query performance.The administrator and job creator have all permissions, wh", + "product_code":"dli", + "title":"Managing Flink Job Permissions", + "uri":"dli_01_0479.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"19" + }, + { + "desc":"To create a Flink job, you need to enter the data source and data output channel, that is, source and sink. To use another service as the source or sink stream, you need ", + "product_code":"dli", + "title":"Preparing Flink Job Data", + "uri":"dli_01_0454.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"20" + }, + { + "desc":"This section describes how to create a Flink OpenSource SQL job. DLI Flink OpenSource SQL jobs are fully compatible with the syntax of Flink 1.10 and 1.12 provided by the", + "product_code":"dli", + "title":"(Recommended) Creating a Flink OpenSource SQL Job", + "uri":"dli_01_0498.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"21" + }, + { + "desc":"This section describes how to create a Flink SQL job. You can use Flink SQLs to develop jobs to meet your service requirements. Using SQL statements simplifies logic impl", + "product_code":"dli", + "title":"Creating a Flink SQL job", + "uri":"dli_01_0455.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"22" + }, + { + "desc":"This section describes how to create a Flink Jar job. You can perform secondary development based on Flink APIs, build your own JAR file, and submit the JAR file to DLI q", + "product_code":"dli", + "title":"Creating a Flink Jar Job", + "uri":"dli_01_0457.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"23" + }, + { + "desc":"The job debugging function helps you check the logic correctness of your compiled SQL statements before running a job.Currently, only Flink SQL jobs support this function", + "product_code":"dli", + "title":"Debugging a Flink Job", + "uri":"dli_01_0458.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"24" + }, + { + "desc":"After a job is created, you can perform operations on the job as required.Editing a JobStarting a JobStopping a JobDeleting a JobExporting a JobImporting a JobModifying N", + "product_code":"dli", + "title":"Performing Operations on a Flink Job", + "uri":"dli_01_0461.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"25" + }, + { + "desc":"After creating a job, you can view the job details to learn about the following information:Viewing Job DetailsChecking the Job Monitoring InformationViewing the Task Lis", + "product_code":"dli", + "title":"Flink Job Details", + "uri":"dli_01_0462.html", + "doc_type":"usermanual", + "p_code":"17", + "code":"26" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Spark Job Management", + "uri":"dli_01_0465.html", + "doc_type":"usermanual", + "p_code":"15", + "code":"27" + }, + { + "desc":"Based on the open-source Spark, DLI optimizes performance and reconstructs services to be compatible with the Apache Spark ecosystem and interfaces, and executes batch pr", + "product_code":"dli", + "title":"Spark Job Management", + "uri":"dli_01_0385.html", + "doc_type":"usermanual", + "p_code":"27", + "code":"28" + }, + { + "desc":"DLI provides fully-managed Spark computing services by allowing you to execute Spark jobs.On the Overview page, click Create Job in the upper right corner of the Spark Jo", + "product_code":"dli", + "title":"Creating a Spark Job", + "uri":"dli_01_0384.html", + "doc_type":"usermanual", + "p_code":"27", + "code":"29" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Queue Management", + "uri":"dli_01_0012.html", + "doc_type":"usermanual", + "p_code":"", + "code":"30" + }, + { + "desc":"Queues in DLI are computing resources, which are the basis for using DLI. All executed jobs require computing resources.Currently, DLI provides two types of queues, For S", + "product_code":"dli", + "title":"Overview", + "uri":"dli_01_0402.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"31" + }, + { + "desc":"You can isolate queues allocated to different users by setting permissions to ensure data query performance.The administrator and queue owner have all permissions, which ", + "product_code":"dli", + "title":"Queue Permission Management", + "uri":"dli_01_0015.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"32" + }, + { + "desc":"Before executing a job, you need to create a queue.If you use a sub-account to create a queue for the first time, log in to the DLI management console using the main acco", + "product_code":"dli", + "title":"Creating a Queue", + "uri":"dli_01_0363.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"33" + }, + { + "desc":"You can delete a queue based on actual conditions.This operation will fail if there are jobs in the Submitting or Running state on this queue.Deleting a queue does not ca", + "product_code":"dli", + "title":"Deleting a Queue", + "uri":"dli_01_0016.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"34" + }, + { + "desc":"If the CIDR block of the DLI queue conflicts with that of the user data source, you can change the CIDR block of the queue.If the queue whose CIDR block is to be modified", + "product_code":"dli", + "title":"Modifying the CIDR Block", + "uri":"dli_01_0443.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"35" + }, + { + "desc":"Elastic scaling can be performed for a newly created queue only when there were jobs running in this queue.If Status of queue xxx is assigning, which is not available is ", + "product_code":"dli", + "title":"Elastic Scaling", + "uri":"dli_01_0487.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"36" + }, + { + "desc":"When services are busy, you might need to use more compute resources to process services in a period. After this period, you do not require the same amount of resources. ", + "product_code":"dli", + "title":"Scheduling CU Changes", + "uri":"dli_01_0488.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"37" + }, + { + "desc":"It can be used to test the connectivity between the DLI queue and the peer IP address specified by the user in common scenarios, or the connectivity between the DLI queue", + "product_code":"dli", + "title":"Testing Address Connectivity", + "uri":"dli_01_0489.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"38" + }, + { + "desc":"Once you have created a message notification topic, you can Add subscription of the topic on the Topic Management page of the Simple Message Notification service. You can", + "product_code":"dli", + "title":"Creating a Message Notification Topic", + "uri":"dli_01_0421.html", + "doc_type":"usermanual", + "p_code":"30", + "code":"39" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Data Management", + "uri":"dli_01_0004.html", + "doc_type":"usermanual", + "p_code":"", + "code":"40" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Databases and Tables", + "uri":"dli_01_0390.html", + "doc_type":"usermanual", + "p_code":"40", + "code":"41" + }, + { + "desc":"DLI database and table management provide the following functions:Database Permission ManagementTable Permission ManagementCreating a Database or a TableDeleting a Databa", + "product_code":"dli", + "title":"Overview", + "uri":"dli_01_0228.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"42" + }, + { + "desc":"You can isolate databases allocated to different users by setting permissions to ensure data query performance.The administrator and database owner have all permissions, ", + "product_code":"dli", + "title":"Database Permission Management", + "uri":"dli_01_0447.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"43" + }, + { + "desc":"You can isolate databases allocated to different users by setting permissions to ensure data query performance.The administrator and database owner have all permissions, ", + "product_code":"dli", + "title":"Table Permission Management", + "uri":"dli_01_0448.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"44" + }, + { + "desc":"A database, built on the computer storage device, is a data warehouse where data is organized, stored, and managed based on its structure.The table is an important part o", + "product_code":"dli", + "title":"Creating a Database or a Table", + "uri":"dli_01_0005.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"45" + }, + { + "desc":"You can delete unnecessary databases and tables based on actual conditions.You are not allowed to delete databases or tables that are being used for running jobs.The admi", + "product_code":"dli", + "title":"Deleting a Database or a Table", + "uri":"dli_01_0011.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"46" + }, + { + "desc":"During actual use, developers create databases and tables and submit them to test personnel for testing. After the test is complete, the databases and tables are transfer", + "product_code":"dli", + "title":"Modifying the Owners of Databases and Tables", + "uri":"dli_01_0376.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"47" + }, + { + "desc":"You can import data from OBS to a table created in DLI.Only one path can be specified during data import. The path cannot contain commas (,).To import data in CSV format ", + "product_code":"dli", + "title":"Importing Data to the Table", + "uri":"dli_01_0253.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"48" + }, + { + "desc":"You can export data from a DLI table to OBS. During the export, a folder is created in OBS or the content in the existing folder is overwritten.The exported file can be i", + "product_code":"dli", + "title":"Exporting Data from DLI to OBS", + "uri":"dli_01_0010.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"49" + }, + { + "desc":"Metadata is used to define data types. It describes information about the data, including the source, size, format, and other data features. In database fields, metadata ", + "product_code":"dli", + "title":"Viewing Metadata", + "uri":"dli_01_0008.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"50" + }, + { + "desc":"The Preview page displays the first 10 records in the table.You can preview data on either the Data Management page or the SQL Editor page.To preview data on the Data Man", + "product_code":"dli", + "title":"Previewing Data", + "uri":"dli_01_0007.html", + "doc_type":"usermanual", + "p_code":"41", + "code":"51" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Package Management", + "uri":"dli_01_0366.html", + "doc_type":"usermanual", + "p_code":"40", + "code":"52" + }, + { + "desc":"Package management provides the following functions:Managing Package PermissionsCreating a PackageDeleting a PackageYou can delete program packages in batches.You can del", + "product_code":"dli", + "title":"Overview", + "uri":"dli_01_0407.html", + "doc_type":"usermanual", + "p_code":"52", + "code":"53" + }, + { + "desc":"You can isolate package groups or packages allocated to different users by setting permissions to ensure data query performance.The administrator and the owner of a packa", + "product_code":"dli", + "title":"Managing Permissions on Packages and Package Groups", + "uri":"dli_01_0477.html", + "doc_type":"usermanual", + "p_code":"52", + "code":"54" + }, + { + "desc":"DLI allows you to submit program packages in batches to the general-use queue for running.If you need to update a package, you can use the same package or file to upload ", + "product_code":"dli", + "title":"Creating a Package", + "uri":"dli_01_0367.html", + "doc_type":"usermanual", + "p_code":"52", + "code":"55" + }, + { + "desc":"You can delete a package based on actual conditions.On the left of the management console, choose Data Management > Package Management.Click Delete in the Operation colum", + "product_code":"dli", + "title":"Deleting a Package", + "uri":"dli_01_0369.html", + "doc_type":"usermanual", + "p_code":"52", + "code":"56" + }, + { + "desc":"To change the owner of a package, click More > Modify Owner in the Operation column of a package on the Package Management page.If the package has been grouped, you can m", + "product_code":"dli", + "title":"Modifying the Owner", + "uri":"dli_01_0478.html", + "doc_type":"usermanual", + "p_code":"52", + "code":"57" + }, + { + "desc":"DLI built-in dependencies are provided by the platform by default. In case of conflicts, you do not need to upload them when packaging JAR packages of Spark or Flink Jar ", + "product_code":"dli", + "title":"Built-in Dependencies", + "uri":"dli_01_0397.html", + "doc_type":"usermanual", + "p_code":"52", + "code":"58" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Job Templates", + "uri":"dli_01_0379.html", + "doc_type":"usermanual", + "p_code":"", + "code":"59" + }, + { + "desc":"To facilitate SQL operation execution, DLI allows you to customize query templates or save the SQL statements in use as templates. After templates are saved, you do not n", + "product_code":"dli", + "title":"SQL Template Management", + "uri":"dli_01_0021.html", + "doc_type":"usermanual", + "p_code":"59", + "code":"60" + }, + { + "desc":"Flink templates include sample templates and custom templates. You can modify an existing sample template to meet the actual job logic requirements and save time for edit", + "product_code":"dli", + "title":"Flink Template Management", + "uri":"dli_01_0464.html", + "doc_type":"usermanual", + "p_code":"59", + "code":"61" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Appendix", + "uri":"dli_01_05110.html", + "doc_type":"usermanual", + "p_code":"59", + "code":"62" + }, + { + "desc":"TPC-H is a test set developed by the Transaction Processing Performance Council (TPC) to simulate decision-making support applications. It is widely used in academia and ", + "product_code":"dli", + "title":"TPC-H Sample Data in the SQL Template", + "uri":"dli_01_05111.html", + "doc_type":"usermanual", + "p_code":"62", + "code":"63" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Datasource Connections", + "uri":"dli_01_0422.html", + "doc_type":"usermanual", + "p_code":"", + "code":"64" + }, + { + "desc":"DLI supports the datasource capability of the native Spark and extends it. With DLI datasource connection, you can access other data storage services through SQL statemen", + "product_code":"dli", + "title":"Datasource Connection and Cross-Source Analysis", + "uri":"dli_01_0410.html", + "doc_type":"usermanual", + "p_code":"64", + "code":"65" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Enhanced Datasource Connections", + "uri":"dli_01_0426.html", + "doc_type":"usermanual", + "p_code":"64", + "code":"66" + }, + { + "desc":"The enhanced datasource connection uses VPC peering at the bottom layer to directly connect the VPC network between the DLI cluster and the destination datasource. Data i", + "product_code":"dli", + "title":"Overview", + "uri":"dli_01_0003.html", + "doc_type":"usermanual", + "p_code":"66", + "code":"67" + }, + { + "desc":"The following describes how to create a datasource HBase connection for MRS.Only enhanced datasource connection to MRS HBase is supported.Apply for a cluster in MRS.If a ", + "product_code":"dli", + "title":"Creating, Querying, and Deleting an Enhanced Datasource Connection", + "uri":"dli_01_0006.html", + "doc_type":"usermanual", + "p_code":"66", + "code":"68" + }, + { + "desc":"The CIDR block of the DLI queue that is bound with a datasource connection cannot overlap with that of the data source.The default queue cannot be bound with a connection", + "product_code":"dli", + "title":"Binding and Unbinding a Queue", + "uri":"dli_01_0009.html", + "doc_type":"usermanual", + "p_code":"66", + "code":"69" + }, + { + "desc":"Method 1: Copy hosts information in /etc/hosts of an MRS node.cat /etc/hostsMethod 2: Log in to FusionInsight Manager to obtain MRS hosts information.The host information", + "product_code":"dli", + "title":"Modifying Host Information", + "uri":"dli_01_0013.html", + "doc_type":"usermanual", + "p_code":"66", + "code":"70" + }, + { + "desc":"After an enhanced datasource connection is created and bound to a queue, the system automatically configures route information. You can also add a custom route for the qu", + "product_code":"dli", + "title":"Custom Route Information", + "uri":"dli_01_0014.html", + "doc_type":"usermanual", + "p_code":"66", + "code":"71" + }, + { + "desc":"You can grant or revoke permissions for enhanced datasource connections of other projects.AuthorizationLog in to the DLI management console, choose Datasource Connections", + "product_code":"dli", + "title":"Enhanced Datasource Connection Permission Management", + "uri":"dli_01_0018.html", + "doc_type":"usermanual", + "p_code":"66", + "code":"72" + }, + { + "desc":"You can isolate datasource connections allocated to different users by setting permissions to ensure data query performance.The administrator and datasource connection ow", + "product_code":"dli", + "title":"Managing Datasource Connection Permissions", + "uri":"dli_01_0480.html", + "doc_type":"usermanual", + "p_code":"64", + "code":"73" + }, + { + "desc":"Datasource authentication is used to manage authentication information for accessing CSS and MRS security environments and encrypt passwords for accessing DWS, RDS, DDS, ", + "product_code":"dli", + "title":"Creating and Managing Datasource Authentication", + "uri":"dli_01_0427.html", + "doc_type":"usermanual", + "p_code":"64", + "code":"74" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Global Configuration", + "uri":"dli_01_0485.html", + "doc_type":"usermanual", + "p_code":"", + "code":"75" + }, + { + "desc":"Global variables can be used to simplify complex parameters. For example, long and difficult variables can be replaced to improve the readability of SQL statements.In the", + "product_code":"dli", + "title":"Global Variables", + "uri":"dli_01_0476.html", + "doc_type":"usermanual", + "p_code":"75", + "code":"76" + }, + { + "desc":"Only the tenant account or a subaccount of user group admin can authorize access.After entering the DLI management console, you are advised to set agency permissions to e", + "product_code":"dli", + "title":"Service Authorization", + "uri":"dli_01_0486.html", + "doc_type":"usermanual", + "p_code":"75", + "code":"77" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Permissions Management", + "uri":"dli_01_0408.html", + "doc_type":"usermanual", + "p_code":"", + "code":"78" + }, + { + "desc":"DLI has a comprehensive permission control mechanism and supports fine-grained authentication through Identity and Access Management (IAM). You can create policies in IAM", + "product_code":"dli", + "title":"Overview", + "uri":"dli_01_0440.html", + "doc_type":"usermanual", + "p_code":"78", + "code":"79" + }, + { + "desc":"You can use Identity and Access Management (IAM) to implement fine-grained permissions control on DLI resources. For details, see Overview.If your cloud account does not ", + "product_code":"dli", + "title":"Creating an IAM User and Granting Permissions", + "uri":"dli_01_0418.html", + "doc_type":"usermanual", + "p_code":"78", + "code":"80" + }, + { + "desc":"Custom policies can be created as a supplement to the system policies of DLI. You can add actions to custom policies. For the actions supported for custom policies, see \"", + "product_code":"dli", + "title":"Creating a Custom Policy", + "uri":"dli_01_0451.html", + "doc_type":"usermanual", + "p_code":"78", + "code":"81" + }, + { + "desc":"A resource is an object that exists within a service. You can select DLI resources by specifying their paths.", + "product_code":"dli", + "title":"DLI Resources", + "uri":"dli_01_0417.html", + "doc_type":"usermanual", + "p_code":"78", + "code":"82" + }, + { + "desc":"Request conditions are useful in determining when a custom policy takes effect. A request condition consists of a condition key and operator. Condition keys are either gl", + "product_code":"dli", + "title":"DLI Request Conditions", + "uri":"dli_01_0475.html", + "doc_type":"usermanual", + "p_code":"78", + "code":"83" + }, + { + "desc":"Table 1 lists the common operations supported by each system policy of DLI. Choose proper system policies according to this table. For details about the SQL statement per", + "product_code":"dli", + "title":"Common Operations Supported by DLI System Policy", + "uri":"dli_01_0441.html", + "doc_type":"usermanual", + "p_code":"78", + "code":"84" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"FAQs", + "uri":"dli_01_0539.html", + "doc_type":"usermanual", + "p_code":"", + "code":"85" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Flink Jobs", + "uri":"dli_03_0037.html", + "doc_type":"usermanual", + "p_code":"85", + "code":"86" + }, + { + "desc":"DLI Flink jobs support the following data formats:Avro, Avro_merge, BLOB, CSV, EMAIL, JSON, ORC, Parquet, and XML.DLI Flink jobs support data from the following data sour", + "product_code":"dli", + "title":"What Data Formats and Data Sources Are Supported by DLI Flink Jobs?", + "uri":"dli_03_0083.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"87" + }, + { + "desc":"A sub-user can view queues but cannot view Flink jobs. You can authorize the sub-user using DLI or IAM.Authorization on DLILog in to the DLI console using a tenant accoun", + "product_code":"dli", + "title":"How Do I Authorize a Subuser to View Flink Jobs?", + "uri":"dli_03_0139.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"88" + }, + { + "desc":"DLI Flink jobs are highly available. You can enable the automatic restart function to automatically restart your jobs after short-time faults of peripheral services are r", + "product_code":"dli", + "title":"How Do I Set Auto Restart upon Exception for a Flink Job?", + "uri":"dli_03_0090.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"89" + }, + { + "desc":"When you create a Flink SQL job or Flink Jar job, you can select Save Job Log on the job editing page to save job running logs to OBS.To set the OBS bucket for storing th", + "product_code":"dli", + "title":"How Do I Save Flink Job Logs?", + "uri":"dli_03_0099.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"90" + }, + { + "desc":"DLI can output Flink job results to DIS. You can view the results in DIS. For details, see Retrieving Data from DIS in the Data Ingestion Service User Guide.DLI can outpu", + "product_code":"dli", + "title":"How Can I Check Flink Job Results?", + "uri":"dli_03_0043.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"91" + }, + { + "desc":"Choose Job Management > Flink Jobs. In the Operation column of the target job, choose More > Permissions. When a new user is authorized, No such user. userName:xxxx. is d", + "product_code":"dli", + "title":"What Should I Do if \"No such user. userName:xxxx.\" Is Displayed on the Flink Job Management Page When I Grant Permission to a User?", + "uri":"dli_03_0160.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"92" + }, + { + "desc":"Checkpoint was enabled when a Flink job is created, and the OBS bucket for storing checkpoints was specified. After a Flink job is manually stopped, no message is display", + "product_code":"dli", + "title":"How Do I Know Which Checkpoint the Flink Job I Stopped Will Be Restored to When I Start the Job Again?", + "uri":"dli_03_0180.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"93" + }, + { + "desc":"The consumption capability of a Flink SQL job depends on the data source transmission, queue size, and job parameter settings. The peak consumption is 10 Mbit/s.", + "product_code":"dli", + "title":"How Much Data Can Be Processed in a Day by a Flink SQL Job?", + "uri":"dli_03_0130.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"94" + }, + { + "desc":"The temp stream in Flink SQL is similar to a subquery. It is a logical stream used to simplify the SQL logic and does not generate data storage. Therefore, there is no ne", + "product_code":"dli", + "title":"Does Data in the Temporary Stream of Flink SQL Need to Be Cleared Periodically? How Do I Clear the Data?", + "uri":"dli_03_0061.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"95" + }, + { + "desc":"SymptomWhen you create a Flink SQL job and configure the parameters, you select an OBS bucket you have created. The system displays a message indicating that the OBS buck", + "product_code":"dli", + "title":"What Should I Do if a Message Is Displayed Indicating that the OBS Bucket Is Not Authorized When I Select an OBS Bucket for a Flink SQL Job?", + "uri":"dli_03_0138.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"96" + }, + { + "desc":"When using a Flink SQL job, you need to create an OBS partition table for subsequent batch processing.In the following example, the day field is used as the partition fie", + "product_code":"dli", + "title":"How Do I Map an OBS Table to a Partitioned DLI Table?", + "uri":"dli_03_0089.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"97" + }, + { + "desc":"SymptomYou used Flink 1.10 to run a Flink Opensource SQL job. You set the number of Kafka partitions for the job a small value at the beginning and need to increase the n", + "product_code":"dli", + "title":"How Do I Change the Number of Kafka Partitions of a Flink SQL Job Without Stopping It?", + "uri":"dli_03_0120.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"98" + }, + { + "desc":"In this example, the day field is used as the partition field with the parquet encoding format (only the parquet format is supported currently) to dump car_info data to O", + "product_code":"dli", + "title":"How Can I Map an OBS Table to a DLI Partition Table?", + "uri":"dli_03_0075.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"99" + }, + { + "desc":"When I run the creation statement with an EL expression in the table name in a Flink SQL job, the following error message is displayed:DLI.0005: AnalysisException: t_user", + "product_code":"dli", + "title":"What Should I Do If Error Message DLI.0005 Is Displayed When I Use an EL Expression to Create a Table in a Flink SQL Job?", + "uri":"dli_03_0167.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"100" + }, + { + "desc":"After data is written to OBS through the Flink job output stream, data cannot be queried from the DLI table created in the OBS file path.For example, use the following Fl", + "product_code":"dli", + "title":"What Should I Do If No Data Is Found in the DLI Table Created Using the OBS File Path That Stores the Output of a Flink job?", + "uri":"dli_03_0168.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"101" + }, + { + "desc":"After a Flink SQL job is submitted on DLI, the job fails to be executed. The following error information is displayed in the job log:connect to DIS failed java.lang.Illeg", + "product_code":"dli", + "title":"What Should I Do If a Flink SQL Job Fails to Be Executed, and \"connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null\" Is Recorded in the Log?", + "uri":"dli_03_0174.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"102" + }, + { + "desc":"Semantic verification for a Flink SQL job (reading DIS data) fails. The following information is displayed when the job fails:Get dis channel xxxinfo failed. error info: ", + "product_code":"dli", + "title":"What Should I Do If \"Not authorized\" Is Reported When a Flink SQL Job Reads DIS Data?", + "uri":"dli_03_0176.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"103" + }, + { + "desc":"After a Flink SQL job consumed Kafka and sank data to the Elasticsearch cluster, the job was successfully executed, but no data is available.Possible causes are as follow", + "product_code":"dli", + "title":"Data Writing Fails After a Flink SQL Job Consumed Kafka and Sank Data to the Elasticsearch Cluster", + "uri":"dli_03_0232.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"104" + }, + { + "desc":"The procedure is as follows:Add the following code to the JAR package code of the Flink Jar job:// Configure the pom file on which the StreamExecutionEnvironment depends.", + "product_code":"dli", + "title":"How Do I Configure Checkpoints for Flink Jar Jobs and Save the Checkpoints to OBS?", + "uri":"dli_03_0038.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"105" + }, + { + "desc":"Configuration files can be uploaded for user-defined jobs (JAR).Upload the configuration file to DLI through Package Management.In the Other Dependencies area of the Flin", + "product_code":"dli", + "title":"Does a Flink JAR Job Support Configuration File Upload? How Do I Upload a Configuration File?", + "uri":"dli_03_0044.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"106" + }, + { + "desc":"The dependency of your Flink job conflicts with a built-in dependency of the DLI Flink platform. As a result, the job submission fails.Delete your JAR package that is the", + "product_code":"dli", + "title":"What Should I Do If Job Submission Fails Due to Flink JAR Package Conflict?", + "uri":"dli_03_0119.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"107" + }, + { + "desc":"When a Flink Jar job is submitted to access GaussDB(DWS), an error message is displayed indicating that the job fails to be started. The job log contains the following er", + "product_code":"dli", + "title":"What Should I Do If GaussDB(DWS) Fails to Be Started When a Flink Jar Job Accesses GaussDB(DWS), and a Message Indicating Too Many Client Connections is Displayed?", + "uri":"dli_03_0161.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"108" + }, + { + "desc":"An exception occurred when a Flink Jar job is running. The following error information is displayed in the job log:org.apache.flink.shaded.curator.org.apache.curator.Conn", + "product_code":"dli", + "title":"What Should I Do If Error Message \"Authentication failed\" Is Displayed When a Flink Jar Job Is Running?", + "uri":"dli_03_0165.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"109" + }, + { + "desc":"The storage path of the Flink Jar job checkpoints was set to an OBS bucket. The job failed to be submitted, and an error message indicating an invalid OBS bucket name was", + "product_code":"dli", + "title":"What Should I Do If Invalid OBS Bucket Name Is Reported After a Flink Job Submission Failed?", + "uri":"dli_03_0233.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"110" + }, + { + "desc":"Flink Job submission failed. The exception information is as follows:Flink JAR packages conflicted. The submitted Flink JAR package conflicted with the HDFS JAR package o", + "product_code":"dli", + "title":"Flink Job Submission Fails Due to Hadoop JAR Package Conflicts", + "uri":"dli_03_0234.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"111" + }, + { + "desc":"You can use Flink Jar to connect to Kafka with SASL SSL authentication enabled.", + "product_code":"dli", + "title":"How Do I Connect a Flink jar Job to SASL_SSL?", + "uri":"dli_03_0266.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"112" + }, + { + "desc":"Data Stacking in a Consumer GroupThe accumulated data of a consumer group can be calculated by the following formula: Total amount of data to be consumed by the consumer ", + "product_code":"dli", + "title":"How Do I Optimize Performance of a Flink Job?", + "uri":"dli_03_0106.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"113" + }, + { + "desc":"Add the following SQL statements to the Flink job:", + "product_code":"dli", + "title":"How Do I Write Data to Different Elasticsearch Clusters in a Flink Job?", + "uri":"dli_03_0048.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"114" + }, + { + "desc":"The DLI Flink checkpoint/savepoint mechanism is complete and reliable. You can use this mechanism to prevent data loss when a job is manually restarted or restarted due t", + "product_code":"dli", + "title":"How Do I Prevent Data Loss After Flink Job Restart?", + "uri":"dli_03_0096.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"115" + }, + { + "desc":"On the Flink job management page, hover the cursor on the status of the job that fails to be submitted to view the brief information about the failure.The possible causes", + "product_code":"dli", + "title":"How Do I Locate a Flink Job Submission Error?", + "uri":"dli_03_0103.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"116" + }, + { + "desc":"On the Flink job management, click Edit in the Operation column of the target job. On the displayed page, check whether Save Job Log in the Running Parameters tab is enab", + "product_code":"dli", + "title":"How Do I Locate a Flink Job Running Error?", + "uri":"dli_03_0105.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"117" + }, + { + "desc":"Check the following operations:Adjusting or adding optimization parameters or the number of concurrent threads of a job, or modifying Flink SQL statements or a Flink Jar ", + "product_code":"dli", + "title":"How Do I Know Whether a Flink Job Can Be Restored from a Checkpoint After Being Restarted?", + "uri":"dli_03_0136.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"118" + }, + { + "desc":"To rectify this fault, perform the following steps:Log in to the DIS management console. In the navigation pane, choose Stream Management. View the Flink job SQL statemen", + "product_code":"dli", + "title":"What Should I Do If the DIS Stream Does Not Exist During the Semantic Check?", + "uri":"dli_03_0040.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"119" + }, + { + "desc":"If the OBS bucket selected for a job is not authorized, perform the following steps:Select Enable Checkpointing or Save Job Log.Specify OBS Bucket.Select Authorize OBS.", + "product_code":"dli", + "title":"What Should I Do If the OBS Bucket Selected for a Job Is Not Authorized?", + "uri":"dli_03_0045.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"120" + }, + { + "desc":"Mode for storing generated job logs when a DLI Flink job fails to be submitted or executed. The options are as follows:If the submission fails, a submission log is genera", + "product_code":"dli", + "title":"What Should I Do If Logs Are Not Written to the OBS Bucket After a DLI Flink Job Fails to Be Submitted for Running?", + "uri":"dli_03_0064.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"121" + }, + { + "desc":"SymptomYou used Flink 1.10 to run a Flink Opensource SQL job. The job failed after the following error was reported when Flink Sink wrote data to Kafka.Caused by: org.apa", + "product_code":"dli", + "title":"How Do I Configure Connection Retries for Kafka Sink If it is Disconnected?", + "uri":"dli_03_0121.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"122" + }, + { + "desc":"The Flink/Spark UI was displayed with incomplete information.When a pay-per-use queue is used to run a job, the system releases the cluster and takes about 10 minutes to ", + "product_code":"dli", + "title":"What Should I Do If the Flink/Spark UI Page Cannot Be Displayed Properly?", + "uri":"dli_03_0235.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"123" + }, + { + "desc":"JobManager and TaskManager heartbeats timed out. As a result, the Flink job is abnormal.Check whether the network is intermittently disconnected and whether the cluster l", + "product_code":"dli", + "title":"Wha should I Do If JobManager and TaskManager Heartbeats Timed Out and the Flink Job Is Abnormal?", + "uri":"dli_03_0236.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"124" + }, + { + "desc":"Test address connectivity.If the network is unreachable, rectify the network connection first. Ensure that the network connection between the DLI queue and the external d", + "product_code":"dli", + "title":"What Can I Do If \"Timeout expired while fetching topic metadata\" Is Repeatedly Reported in Flink JobManager Logs?", + "uri":"dli_03_0265.html", + "doc_type":"usermanual", + "p_code":"86", + "code":"125" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Problems Related to SQL Jobs", + "uri":"dli_03_0020.html", + "doc_type":"usermanual", + "p_code":"85", + "code":"126" + }, + { + "desc":"A temporary table is used to store intermediate results. When a transaction or session ends, the data in the temporary table can be automatically deleted. For example, in", + "product_code":"dli", + "title":"SQL Jobs", + "uri":"dli_03_0200.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"127" + }, + { + "desc":"If a large number of small files are generated during SQL execution, job execution and table query will take a long time. In this case, you should merge small files.Set t", + "product_code":"dli", + "title":"How Do I Merge Small Files?", + "uri":"dli_03_0086.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"128" + }, + { + "desc":"When creating an OBS table, you must specify a table path in the database. The path format is as follows: obs://xxx/database name/table name.If the specified path is akdc", + "product_code":"dli", + "title":"How Do I Specify an OBS Path When Creating an OBS Table?", + "uri":"dli_03_0092.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"129" + }, + { + "desc":"DLI allows you to associate JSON data in an OBS bucket to create tables in asynchronous mode.The statement for creating the table is as follows:", + "product_code":"dli", + "title":"How Do I Create a Table Using JSON Data in an OBS Bucket?", + "uri":"dli_03_0108.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"130" + }, + { + "desc":"You can use the where condition statement in the select statement to filter data. For example:", + "product_code":"dli", + "title":"How Do I Set Local Variables in SQL Statements?", + "uri":"dli_03_0087.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"131" + }, + { + "desc":"The correct method for using the count function to perform aggregation is as follows:OrIf an incorrect method is used, an error will be reported.", + "product_code":"dli", + "title":"How Can I Use the count Function to Perform Aggregation?", + "uri":"dli_03_0069.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"132" + }, + { + "desc":"You can use the cross-region replication function of OBS. The procedure is as follows:Export the DLI table data in region 1 to the user-defined OBS bucket. For details, s", + "product_code":"dli", + "title":"How Do I Synchronize DLI Table Data from One Region to Another?", + "uri":"dli_03_0072.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"133" + }, + { + "desc":"Currently, DLI does not allow you to insert table data into specific fields. To insert table data, you must insert data of all table fields at a time.", + "product_code":"dli", + "title":"How Do I Insert Table Data into Specific Fields of a Table Using a SQL Job?", + "uri":"dli_03_0191.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"134" + }, + { + "desc":"Create an OBS directory with a unique name. Alternatively, you can manually delete the existing OBS directory and submit the job again. However, exercise caution when del", + "product_code":"dli", + "title":"What Should I Do If Error \"path obs://xxx already exists\" Is Reported When Data Is Exported to OBS?", + "uri":"dli_03_0014.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"135" + }, + { + "desc":"This message indicates that the two tables to be joined contain the same column, but the owner of the column is not specified when the command is executed.For example, ta", + "product_code":"dli", + "title":"What Should I Do If \"SQL_ANALYSIS_ERROR: Reference 't.id' is ambiguous, could be: t.id, t.id.;\" Is Displayed When Two Tables Are Joined", + "uri":"dli_03_0066.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"136" + }, + { + "desc":"Check whether the account is in arrears. If yes, recharge the account.If the error persists, log out and log in again.", + "product_code":"dli", + "title":"What Should I Do If the System Notify Me that I Have No Permission to Execute the Query Statement Because the Current Account Was Restricted?", + "uri":"dli_03_0071.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"137" + }, + { + "desc":"Cause AnalysisWhen you query the partitioned table XX.YYY, the partition column is not specified in the search criteria.A partitioned table can be queried only when the q", + "product_code":"dli", + "title":"What Should I Do If Error Message \"There should be at least one partition pruning predicate on partitioned table XX.YYY\" Is Displayed When a Query Statement Is Executed?", + "uri":"dli_03_0145.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"138" + }, + { + "desc":"The following error message is displayed when the LOAD DATA command is executed by a Spark SQL job to import data to a DLI table:In some cases ,the following error messag", + "product_code":"dli", + "title":"What Should I Do If Error Message IllegalArgumentException: Buffer size too small. size is Displayed When Data Is Loaded to an OBS Foreign Table", + "uri":"dli_03_0169.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"139" + }, + { + "desc":"An error is reported during SQL job execution:Please contact DLI service. DLI.0002: FileNotFoundException: getFileStatus on obs://xxx: status [404]Check whether there is ", + "product_code":"dli", + "title":"What Should I Do If \"DLI.0002 FileNotFoundException\" Is Reported During SQL Job Running", + "uri":"dli_03_0189.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"140" + }, + { + "desc":"Currently, DLI supports the Hive syntax for creating tables of the TEXTFILE, SEQUENCEFILE, RCFILE, ORC, AVRO, and PARQUET file types. If the file format specified for cre", + "product_code":"dli", + "title":"What Should I Do If A Schema Parsing Error Is Reported When I Create a Hive Table Using CTAS", + "uri":"dli_03_0046.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"141" + }, + { + "desc":"When you run a DLI SQL script on DataArts Studio, the log shows that the statements fail to be executed. The error information is as follows:DLI.0999: RuntimeException: o", + "product_code":"dli", + "title":"What Should I Do If \"org.apache.hadoop.fs.obs.OBSIOException\" Is Reported If DLI SQL Scripts Are Executed on DataArts Studio?", + "uri":"dli_03_0173.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"142" + }, + { + "desc":"After the migration job is submitted, the following error information is displayed in the log:org.apache.sqoop.common.SqoopException:UQUERY_CONNECTOR_0001:Invoke DLI serv", + "product_code":"dli", + "title":"What Should I Do If \"UQUERY_CONNECTOR_0001:Invoke DLI service api failed\" Is Reported in the Job Log When I Use CDM to Migrate Data to DLI?", + "uri":"dli_03_0172.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"143" + }, + { + "desc":"Error message \"File not Found\" is displayed when a SQL job is accessed.Generally, the file cannot be found due to a read/write conflict. Check whether a job is overwritin", + "product_code":"dli", + "title":"What Should I Do If \"File not Found\" Is Displayed When I Access a SQL Job?", + "uri":"dli_03_0207.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"144" + }, + { + "desc":"Error message \"DLI.0003: AccessControlException XXX\" is reported when a SQL job is accessed.View the OBS bucket in the AccessControlException and check whether you are us", + "product_code":"dli", + "title":"What Should I Do If \"DLI.0003: AccessControlException XXX\" Is Reported When I Access a SQL Job?", + "uri":"dli_03_0208.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"145" + }, + { + "desc":"Error message \"DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{bucket name}}: status [403]\" is reported when a SQL job is Accessed.Th", + "product_code":"dli", + "title":"What Should I Do If \"DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{bucket name}}: status [403]\" Is Reported When I Access a SQL Job?", + "uri":"dli_03_0209.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"146" + }, + { + "desc":"Error message \"The current account does not have permission to perform this operation,the current account was restricted.\" is reported during SQL statement execution.Chec", + "product_code":"dli", + "title":"What Should I Do If \"The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget\" Is Reported During SQL Statement Execution? Restricted for no budget.", + "uri":"dli_03_0210.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"147" + }, + { + "desc":"If the job runs slowly, perform the following steps to find the causes and rectify the fault:Check whether the problem is caused by FullGC.Log in to the DLI console. In t", + "product_code":"dli", + "title":"How Do I Troubleshoot Slow SQL Jobs?", + "uri":"dli_03_0196.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"148" + }, + { + "desc":"You can view SQL job logs for routine O&M.Obtain the ID of the DLI job executed on the DataArts Studio console.Job IDOn the DLI console, choose Job Management > SQL Jobs.", + "product_code":"dli", + "title":"How Do I View DLI SQL Logs?", + "uri":"dli_03_0091.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"149" + }, + { + "desc":"You can view the job execution records when a job is running.Log in to the DLI management console.In the navigation pane on the left, choose Job Management > SQL Jobs.Ent", + "product_code":"dli", + "title":"How Do I View SQL Execution Records?", + "uri":"dli_03_0116.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"150" + }, + { + "desc":"If the execution of an SQL statement takes a long time, you need to access the Spark UI to check the execution status.If data skew occurs, the running time of a stage exc", + "product_code":"dli", + "title":"How Do I Eliminate Data Skew by Configuring AE Parameters?", + "uri":"dli_03_0093.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"151" + }, + { + "desc":"A DLI table exists but cannot be queried on the DLI console.If a table exists but cannot be queried, there is a high probability that the current user does not have the p", + "product_code":"dli", + "title":"What Can I Do If a Table Cannot Be Queried on the DLI Console?", + "uri":"dli_03_0184.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"152" + }, + { + "desc":"A high compression ratio of OBS tables in the Parquet or ORC format (for example, a compression ratio of 5 or higher compared with text compression) will lead to large da", + "product_code":"dli", + "title":"The Compression Ratio of OBS Tables Is Too High", + "uri":"dli_03_0013.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"153" + }, + { + "desc":"DLI supports only UTF-8-encoded texts. Ensure that data is encoded using UTF-8 during table creation and import.", + "product_code":"dli", + "title":"How Can I Avoid Garbled Characters Caused by Inconsistent Character Codes?", + "uri":"dli_03_0009.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"154" + }, + { + "desc":"User A created the testTable table in a database through a SQL job and granted user B the permission to insert and delete table data. User A deleted the testTable table a", + "product_code":"dli", + "title":"Do I Need to Grant Table Permissions to a User and Project After I Delete a Table and Create One with the Same Name?", + "uri":"dli_03_0175.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"155" + }, + { + "desc":"A CSV file is imported to a DLI partitioned table, but the imported file data does not contain the data in the partitioning column. The partitioning column needs to be sp", + "product_code":"dli", + "title":"What Should I Do If Table Data Fails to Be Queried After Data Is Imported to a DLI Partitioned Table Because the File to Be Imported Does Not Contain Data in the Partitioning Column?", + "uri":"dli_03_0177.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"156" + }, + { + "desc":"When an OBS foreign table is created, a field in the specified OBS file contains a carriage return line feed (CRLF) character. As a result, the data is incorrect.The stat", + "product_code":"dli", + "title":"How Do I Fix the Data Error Caused by CRLF Characters in a Field of the OBS File Used to Create an External OBS Table?", + "uri":"dli_03_0181.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"157" + }, + { + "desc":"A SQL job contains join operations. After the job is submitted, it is stuck in the Running state and no result is returned.When a Spark SQL job has join operations on sma", + "product_code":"dli", + "title":"What Should I Do If a SQL Job That Has Join Operations Stays in the Running State?", + "uri":"dli_03_0182.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"158" + }, + { + "desc":"The on clause was not added to the SQL statement for joining tables. As a result, the Cartesian product query occurs due to multi-table association, and the queue resourc", + "product_code":"dli", + "title":"The on Clause Is Not Added When Tables Are Joined. Cartesian Product Query Causes High Resource Usage of the Queue, and the Job Fails to Be Executed", + "uri":"dli_03_0187.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"159" + }, + { + "desc":"Partition data is manually uploaded to a partition of an OBS table. However, the data cannot be queried using DLI SQL editor.After manually adding partition data, you nee", + "product_code":"dli", + "title":"What Should I Do If Manually Added Data in a Partition of an OBS Table Cannot Be Queried?", + "uri":"dli_03_0190.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"160" + }, + { + "desc":"To dynamically overwrite the specified partitioned data in the DataSource table, set dli.sql.dynamicPartitionOverwrite.enabled to true and then run the insert overwrite s", + "product_code":"dli", + "title":"Why Is All Data Overwritten When insert overwrite Is Used to Overwrite Partitioned Table?", + "uri":"dli_03_0212.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"161" + }, + { + "desc":"The possible causes and solutions are as follows:After you purchase a DLI queue and submit a SQL job for the first time, wait for 5 to 10 minutes. After the cluster is st", + "product_code":"dli", + "title":"Why Is a SQL Job Stuck in the Submitting State?", + "uri":"dli_03_0213.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"162" + }, + { + "desc":"Spark does not have the datetime type and uses the TIMESTAMP type instead.You can use a function to convert data types.The following is an example.select cast(create_date", + "product_code":"dli", + "title":"Why Is the create_date Field in the RDS Table Is a Timestamp in the DLI query result?", + "uri":"dli_03_0214.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"163" + }, + { + "desc":"If the table name is changed immediately after SQL statements are executed, the data size of the table may be incorrect.If you need to change the table name, change it 5 ", + "product_code":"dli", + "title":"What Can I Do If datasize Cannot Be Changed After the Table Name Is Changed in a Finished SQL Job?", + "uri":"dli_03_0215.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"164" + }, + { + "desc":"When DLI is used to insert data into an OBS temporary table, only part of data is imported.Possible causes are as follows:The amount of data read during job execution is ", + "product_code":"dli", + "title":"Why Is the Data Volume Changes When Data Is Imported from DLI to OBS?", + "uri":"dli_03_0231.html", + "doc_type":"usermanual", + "p_code":"126", + "code":"165" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Problems Related to Spark Jobs", + "uri":"dli_03_0021.html", + "doc_type":"usermanual", + "p_code":"85", + "code":"166" + }, + { + "desc":"DLI Spark does not support job scheduling. You can use other services, such as DataArts Studio, or use APIs or SDKs to customize job schedule.The Spark SQL syntax does no", + "product_code":"dli", + "title":"Spark Jobs", + "uri":"dli_03_0201.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"167" + }, + { + "desc":"To use Spark to write data into a DLI table, configure the following parameters:fs.obs.access.keyfs.obs.secret.keyfs.obs.implfs.obs.endpointThe following is an example:", + "product_code":"dli", + "title":"How Do I Use Spark to Write Data into a DLI Table?", + "uri":"dli_03_0107.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"168" + }, + { + "desc":"If the AK and SK are obtained, set the parameters as follows:Create SparkContext using codeval sc: SparkContext = new SparkContext()\nsc.hadoopConfiguration.set(\"fs.obs.ac", + "product_code":"dli", + "title":"How Do I Set the AK/SK for a Queue to Operate an OBS Table?", + "uri":"dli_03_0017.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"169" + }, + { + "desc":"Log in to the DLI console. In the navigation pane, choose Job Management > Spark Jobs. In the job list, locate the target job and click next to Job ID to view the parame", + "product_code":"dli", + "title":"How Do I View the Resource Usage of DLI Spark Jobs?", + "uri":"dli_03_0102.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"170" + }, + { + "desc":"If the pymysql module is missing, check whether the corresponding EGG package exists. If the package does not exist, upload the pyFile package on the Package Management p", + "product_code":"dli", + "title":"How Do I Use Python Scripts to Access the MySQL Database If the pymysql Module Is Missing from the Spark Job Results Stored in MySQL?", + "uri":"dli_03_0076.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"171" + }, + { + "desc":"DLI natively supports PySpark.For most cases, Python is preferred for data analysis, and PySpark is the best choice for big data analysis. Generally, JVM programs are pac", + "product_code":"dli", + "title":"How Do I Run a Complex PySpark Program in DLI?", + "uri":"dli_03_0082.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"172" + }, + { + "desc":"You can use DLI Spark jobs to access data in the MySQL database using either of the following methods:Solution 1: Purchase a pay-per-use queue, create an enhanced datasou", + "product_code":"dli", + "title":"How Does a Spark Job Access a MySQL Database?", + "uri":"dli_03_0127.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"173" + }, + { + "desc":"When shuffle statements, such as GROUP BY and JOIN, are executed in Spark jobs, data skew occurs, which slows down the job execution.To solve this problem, you can config", + "product_code":"dli", + "title":"How Do I Use JDBC to Set the spark.sql.shuffle.partitions Parameter to Improve the Task Concurrency?", + "uri":"dli_03_0068.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"174" + }, + { + "desc":"You can use SparkFiles to read the file submitted using –-file form a local path: SparkFiles.get(\"Name of the uploaded file\").The file path in the Driver is different fro", + "product_code":"dli", + "title":"How Do I Read Uploaded Files for a Spark Jar Job?", + "uri":"dli_03_0118.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"175" + }, + { + "desc":"The Spark 2.3 has changed the behavior of the internal interface Logging. If the user code directly inherits the Logging and the earlier version Spark is used during comp", + "product_code":"dli", + "title":"What Can I Do When Receiving java.lang.AbstractMethodError in the Spark Job?", + "uri":"dli_03_0023.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"176" + }, + { + "desc":"The following error is reported when a Spark job accesses OBS data:Set the AK/SK to enable Spark jobs to access OBS data. For details, see How Do I Set the AK/SK for a Qu", + "product_code":"dli", + "title":"What Should I Do If Errors \"ResponseCode: 403\" and \"ResponseStatus: Forbidden\" Are Reported When a Spark Job Accesses OBS Data", + "uri":"dli_03_0156.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"177" + }, + { + "desc":"Check whether the OBS bucket is used to store DLI logs on the Global Configuration > Job Configurations page. The job log bucket cannot be used for other purpose.", + "product_code":"dli", + "title":"Why is Error \"verifyBucketExists on XXXX: status [403]\" Is Reported When I Run a Spark Job with a User that has the Permission to Access the OBS Bucket?", + "uri":"dli_03_0164.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"178" + }, + { + "desc":"When a Spark job accesses a large amount of data, for example, accessing data in a GaussDB(DWS) database, you are advised to set the number of concurrent tasks and enable", + "product_code":"dli", + "title":"What Should I Do if a Running Timeout Error Is Reported When a Spark Job Runs a Large Amount of Data?", + "uri":"dli_03_0157.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"179" + }, + { + "desc":"Spark jobs cannot access SFTP. Upload the files you want to access to OBS and then you can analyze the data using Spark jobs.", + "product_code":"dli", + "title":"What Should I Do If a Spark job Used to Access Files in SFTP Fails and the Log Shows that the File Directory Is Abnormal?", + "uri":"dli_03_0188.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"180" + }, + { + "desc":"When a Spark job is running, an error message is displayed, indicating that the user does not have the database permission. The error information is as follows:org.apache", + "product_code":"dli", + "title":"What Should I Do If a Job Fails Because the Job User Does Not Have the Database and Table Permission?", + "uri":"dli_03_0192.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"181" + }, + { + "desc":"If the specified Python environment cannot be found after a Python3 package is added, the current compute cluster environment is Python2 by default.You can set spark.yarn", + "product_code":"dli", + "title":"What Can I Do If the Specified Python Environment Cannot Be Found After a Python Package Is Added?", + "uri":"dli_03_0077.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"182" + }, + { + "desc":"The remaining CUs in the queue may be insufficient. As a result, the job cannot be submitted.To view the remaining CUs of a queue, perform the following steps:Check the C", + "product_code":"dli", + "title":"Why Is a Spark Jar Job Stuck in the Submitting State?", + "uri":"dli_03_0220.html", + "doc_type":"usermanual", + "p_code":"166", + "code":"183" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Product Consultation", + "uri":"dli_03_0001.html", + "doc_type":"usermanual", + "p_code":"85", + "code":"184" + }, + { + "desc":"Data Lake Insight (DLI) is a serverless data processing and analysis service fully compatible with Apache Spark, and Flink ecosystems. It frees you from managing any serv", + "product_code":"dli", + "title":"What Is DLI?", + "uri":"dli_03_0002.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"185" + }, + { + "desc":"DLI supports the following data formats:ParquetCSVORCJsonAvro", + "product_code":"dli", + "title":"Which Data Formats Does DLI Support?", + "uri":"dli_03_0025.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"186" + }, + { + "desc":"The Spark component of DLI is a fully managed service. You can only use the DLI Spark through its APIs. .The Spark component of MRS is built on the VM in an MRS cluster. ", + "product_code":"dli", + "title":"What Are the Differences Between MRS Spark and DLI Spark?", + "uri":"dli_03_0115.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"187" + }, + { + "desc":"DLI data can be stored in either of the following:OBS: Data used by SQL jobs, Spark jobs, and Flink jobs can be stored in OBS, reducing storage costs.DLI: The column-base", + "product_code":"dli", + "title":"Where Can DLI Data Be Stored?", + "uri":"dli_03_0029.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"188" + }, + { + "desc":"DLI tables store data within the DLI service, and you do not need to know the data storage path.OBS tables store data in your OBS buckets, and you need to manage the sour", + "product_code":"dli", + "title":"What Are the Differences Between DLI Tables and OBS Tables?", + "uri":"dli_03_0117.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"189" + }, + { + "desc":"Currently, DLI supports analysis only on the data uploaded to the cloud. In scenarios where regular (for example, on a per day basis) one-off analysis on incremental data", + "product_code":"dli", + "title":"How Can I Use DLI If Data Is Not Uploaded to OBS?", + "uri":"dli_03_0010.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"190" + }, + { + "desc":"Data in the OBS bucket shared by IAM users under the same account can be imported. You cannot import data in the OBS bucket shared with other IAM account.", + "product_code":"dli", + "title":"Can I Import OBS Bucket Data Shared by Other Tenants into DLI?", + "uri":"dli_03_0129.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"191" + }, + { + "desc":"Log in to the management console.Click in the upper left corner and select Region and Project.Click (the My Quotas icon) in the upper right corner.The Service Quota pag", + "product_code":"dli", + "title":"What Should I do If the System Failed to Create a Database and {\"error_code\":\"DLI.1028\";\"error_msg\":\"Already reached the maximum quota of databases:XXX\" Is Displayed Indicating that the Quota Is Insufficient?", + "uri":"dli_03_0264.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"192" + }, + { + "desc":"No, a global variable can only be used by the user who created it. Global variables can be used to simplify complex parameters. For example, long and difficult variables ", + "product_code":"dli", + "title":"Can a Member Account Use Global Variables Created by Other Member Accounts?", + "uri":"dli_03_0263.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"193" + }, + { + "desc":"If you are suggested to perform following operations to run a large number of DLI jobs:Group the DLI jobs by type, and run each group on a queue.Alternatively, create IAM", + "product_code":"dli", + "title":"How Do I Manage Tens of Thousands of Jobs Running on DLI?", + "uri":"dli_03_0126.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"194" + }, + { + "desc":"The field names of tables that have been created cannot be changed.You can create a table, define new table fields, and migrate data from the old table to the new one.", + "product_code":"dli", + "title":"How Do I Change the Name of a Field in a Created Table?", + "uri":"dli_03_0162.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"195" + }, + { + "desc":"No. The spark.acls.enable configuration item is not used in DLI. The Apache Spark command injection vulnerability (CVE-2022-33891) does not exist in DLI.", + "product_code":"dli", + "title":"Does DLI Have the Apache Spark Command Injection Vulnerability (CVE-2022-33891)?", + "uri":"dli_03_0260.html", + "doc_type":"usermanual", + "p_code":"184", + "code":"196" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Quota", + "uri":"dli_03_0053.html", + "doc_type":"usermanual", + "p_code":"85", + "code":"197" + }, + { + "desc":"Log in to the management console.Click in the upper left corner and select Region and Project.Click (the My Quotas icon) in the upper right corner.The Service Quota pag", + "product_code":"dli", + "title":"How Do I View My Quotas?", + "uri":"dli_03_0031.html", + "doc_type":"usermanual", + "p_code":"197", + "code":"198" + }, + { + "desc":"The system does not support online quota adjustment. To increase a resource quota, dial the hotline or send an email to the customer service. We will process your applica", + "product_code":"dli", + "title":"How Do I Increase a Quota?", + "uri":"dli_03_0032.html", + "doc_type":"usermanual", + "p_code":"197", + "code":"199" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Permission", + "uri":"dli_03_0054.html", + "doc_type":"usermanual", + "p_code":"85", + "code":"200" + }, + { + "desc":"DLI has a comprehensive permission control mechanism and supports fine-grained authentication through Identity and Access Management (IAM). You can create policies in IAM", + "product_code":"dli", + "title":"How Do I Manage Fine-Grained DLI Permissions?", + "uri":"dli_03_0100.html", + "doc_type":"usermanual", + "p_code":"200", + "code":"201" + }, + { + "desc":"You cannot perform permission-related operations on the partition column of a partition table. However, when you grant the permission of any non-partition column in a par", + "product_code":"dli", + "title":"What Is Column Permission Granting of a DLI Partition Table?", + "uri":"dli_03_0008.html", + "doc_type":"usermanual", + "p_code":"200", + "code":"202" + }, + { + "desc":"You can set actions and resources of different levels for various scenarios.Define an action.The format is Service name:Resource type:Action. You can use wildcard *. The ", + "product_code":"dli", + "title":"How Do I Create a Custom Policy?", + "uri":"dli_03_0101.html", + "doc_type":"usermanual", + "p_code":"200", + "code":"203" + }, + { + "desc":"You can isolate queues allocated to different users by setting permissions to ensure data query performance.", + "product_code":"dli", + "title":"How Do I Manage Queue Permissions?", + "uri":"dli_03_0225.html", + "doc_type":"usermanual", + "p_code":"200", + "code":"204" + }, + { + "desc":"When you submit a job, a message is displayed indicating that the job fails to be submitted due to insufficient permission caused by arrears. In this case, you need to ch", + "product_code":"dli", + "title":"What Should I Do When My Account Does Not Have Permission Due To Arrears?", + "uri":"dli_03_0140.html", + "doc_type":"usermanual", + "p_code":"200", + "code":"205" + }, + { + "desc":"When the user update an existing program package, the following error information is displayed:\"error_code\"*CLI.0003\",\"error_msg\":\"Permission denied for resource 'resourc", + "product_code":"dli", + "title":"What Should I Do If the Permission Is Required to Update a Program Package?", + "uri":"dli_03_0195.html", + "doc_type":"usermanual", + "p_code":"200", + "code":"206" + }, + { + "desc":"When the SQL query statement is executed, the system displays a message indicating that the user does not have the permission to query resources.Error information: DLI.00", + "product_code":"dli", + "title":"What Should I Do If \"DLI.0003: Permission denied for resource...\" Is Reported When I Run a SQL Statement?", + "uri":"dli_03_0227.html", + "doc_type":"usermanual", + "p_code":"200", + "code":"207" + }, + { + "desc":"The table permission has been granted and verified. However, after a period of time, an error is reported indicating that the table query fails.There are two possible rea", + "product_code":"dli", + "title":"What Should I Do If the Table Permission Has Been Granted But the Table Still Cannot Be Queried?", + "uri":"dli_03_0228.html", + "doc_type":"usermanual", + "p_code":"200", + "code":"208" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Queue", + "uri":"dli_03_0049.html", + "doc_type":"usermanual", + "p_code":"85", + "code":"209" + }, + { + "desc":"Currently, you are not allowed to modify the description of a created queue. You can add the description when purchasing the queue.", + "product_code":"dli", + "title":"Does the Description of a DLI Queue Can Be Modified?", + "uri":"dli_03_0109.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"210" + }, + { + "desc":"Deleting a queue does not cause table data loss in your database.", + "product_code":"dli", + "title":"Will Table Data in My Database Be Lost If I Delete a Queue?", + "uri":"dli_03_0166.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"211" + }, + { + "desc":"You need to develop a mechanism to retry failed jobs. When a faulty queue is recovered, your application tries to submit the failed jobs to the queue again.", + "product_code":"dli", + "title":"How Does DLI Ensure the Reliability of Spark Jobs When a Queue Is Abnormal?", + "uri":"dli_03_0170.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"212" + }, + { + "desc":"DLI allows you to subscribe to an SMN topic for failed jobs.Log in to the DLI console.In the navigation pane on the left, choose Queue Management.On the Queue Management ", + "product_code":"dli", + "title":"How Do I Monitor Queue Exceptions?", + "uri":"dli_03_0098.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"213" + }, + { + "desc":"To check the running status of the DLI queue and determine whether to run more jobs on that queue, you need to check the queue load.Search for Cloud Eye on the console.In", + "product_code":"dli", + "title":"How Do I View DLI Queue Load?", + "uri":"dli_03_0095.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"214" + }, + { + "desc":"You need to check the large number of jobs in the Submitting and Running states on the queue.Use Cloud Eye to view jobs in different states on the queue. The procedure is", + "product_code":"dli", + "title":"How Do I Determine Whether There Are Too Many Jobs in the Current Queue?", + "uri":"dli_03_0183.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"215" + }, + { + "desc":"Currently, DLI provides two types of queues, For SQL and For general use. SQL queues are used to run SQL jobs. General-use queues are compatible with Spark queues of earl", + "product_code":"dli", + "title":"How Do I Switch an Earlier-Version Spark Queue to a General-Purpose Queue?", + "uri":"dli_03_0065.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"216" + }, + { + "desc":"DLI queues do not use resources or bandwidth when no job is running. In this case, the running status of DLI queues is not displayed on CES.", + "product_code":"dli", + "title":"Why Cannot I View the Resource Running Status of DLI Queues on Cloud Eye?", + "uri":"dli_03_0193.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"217" + }, + { + "desc":"In DLI, 64 CU = 64 cores and 256 GB memory.In a Spark job, if the driver occupies 4 cores and 16 GB memory, the executor can occupy 60 cores and 240 GB memory.", + "product_code":"dli", + "title":"How Do I Allocate Queue Resources for Running Spark Jobs If I Have Purchased 64 CUs?", + "uri":"dli_03_0088.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"218" + }, + { + "desc":"Queue plans create failed. The plan xxx target cu is out of quota is displayed when you create a scheduled scaling task.The CU quota of the current account is insufficien", + "product_code":"dli", + "title":"What Should I Do If \"Queue plans create failed. The plan xxx target cu is out of quota\" Is Displayed When I Schedule CU Changes?", + "uri":"dli_03_0159.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"219" + }, + { + "desc":"After a SQL job was submitted to the default queue, the job runs abnormally. The job log reported that the execution timed out. The exception logs are as follows:[ERROR] ", + "product_code":"dli", + "title":"What Should I Do If SQL Statements Fails to be Executed on the Default Queue, and a Timeout Exception is Reported?", + "uri":"dli_03_0171.html", + "doc_type":"usermanual", + "p_code":"209", + "code":"220" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Datasource Connections", + "uri":"dli_03_0022.html", + "doc_type":"usermanual", + "p_code":"85", + "code":"221" + }, + { + "desc":"You need to create a VPC peering connection to enable network connectivity. Take MRS as an example. If DLI and MRS clusters are in the same VPC, and the security group is", + "product_code":"dli", + "title":"Why Do I Need to Create a VPC Peering Connection for an Enhanced Datasource Connection?", + "uri":"dli_03_0128.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"222" + }, + { + "desc":"An enhanced datasource connection failed to pass the network connectivity test. Datasource connection cannot be bound to a queue. The following error information is displ", + "product_code":"dli", + "title":"Failed to Bind a Queue to an Enhanced Datasource Connection", + "uri":"dli_03_0237.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"223" + }, + { + "desc":"The outbound rule had been configured for the security group of the queue associated with the enhanced datasource connection. The datasource authentication used a passwor", + "product_code":"dli", + "title":"DLI Failed to Connect to GaussDB(DWS) Through an Enhanced Datasource Connection", + "uri":"dli_03_0238.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"224" + }, + { + "desc":"A datasource connection is created and bound to a queue. The connectivity test fails and the following error information is displayed:failed to connect to specified addre", + "product_code":"dli", + "title":"What Can I Do If the Datasource Connection is Created But the Network Connectivity Test Fails?", + "uri":"dli_03_0179.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"225" + }, + { + "desc":"Configuring the Connection Between a DLI Queue and a Data Source in a Private NetworkIf your DLI job needs to connect to a data source, for example, MRS, RDS, CSS, Kafka,", + "product_code":"dli", + "title":"How Do I Configure the Network Between a DLI Queue and a Data Source?", + "uri":"dli_03_0186.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"226" + }, + { + "desc":"The possible causes and solutions are as follows:If you have created a queue, do not bind it to a datasource connection immediately. Wait for 5 to 10 minutes. After the c", + "product_code":"dli", + "title":"What Can I Do If a Datasource Connection Is Stuck in Creating State When I Try to Bind a Queue to It?", + "uri":"dli_03_0257.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"227" + }, + { + "desc":"Enhanced datasource connections support only yearly/monthly and pay-per-use queues.You can bind a datasource connection only when you select Dedicated Resource Mode when ", + "product_code":"dli", + "title":"How Do I Bind a Datasource Connection to a Pay-per-Use Queue?", + "uri":"dli_03_0258.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"228" + }, + { + "desc":"DLI enhanced datasource connection uses VPC peering to directly connect the VPC networks of the desired data sources for point-to-point data exchanges.", + "product_code":"dli", + "title":"How Do I Connect DLI to Data Sources?", + "uri":"dli_03_0259.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"229" + }, + { + "desc":"To perform query on data stored on services rather than DLI, perform the following steps:Assume that the data to be queried is stored on multiple services (for example, O", + "product_code":"dli", + "title":"How Can I Perform Query on Data Stored on Services Rather Than DLI?", + "uri":"dli_03_0011.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"230" + }, + { + "desc":"Connect VPCs in different regions.Create an enhanced datasource connection on DLI and bind it to a queue.Add a DLI route.", + "product_code":"dli", + "title":"How Can I Access Data Across Regions?", + "uri":"dli_03_0085.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"231" + }, + { + "desc":"When data is inserted into DLI, set the ID field to NULL.", + "product_code":"dli", + "title":"How Do I Set the Auto-increment Primary Key or Other Fields That Are Automatically Filled in the RDS Table When Creating a DLI and Associating It with the RDS Table?", + "uri":"dli_03_0028.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"232" + }, + { + "desc":"Possible CausesThe network connectivity is abnormal. Check whether the security group is correctly selected and whether the VPC is correctly configured.The network connec", + "product_code":"dli", + "title":"Why Is the Error Message \"communication link failure\" Displayed When I Use a Newly Activated Datasource Connection?", + "uri":"dli_03_0047.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"233" + }, + { + "desc":"The cluster host information is not added to the datasource connection. As a result, the KRB authentication fails, the connection times out, and no error is recorded in l", + "product_code":"dli", + "title":"Connection Times Out During MRS HBase Datasource Connection, and No Error Is Recorded in Logs", + "uri":"dli_03_0080.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"234" + }, + { + "desc":"When you create a VPC peering connection for the datasource connection, the following error information is displayed:Before you create a datasource connection, check whet", + "product_code":"dli", + "title":"What Should I Do If the Subnet Cannot Be Found When I Create a DLI Datasource Connection?", + "uri":"dli_03_0111.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"235" + }, + { + "desc":"A cross-source RDS table was created in the DataArts Studio, and the insert overwrite statement was executed to write data into RDS. DLI.0999: BatchUpdateException: Incor", + "product_code":"dli", + "title":"Error Message \"Incorrect string value\" Is Displayed When insert overwrite Is Executed on a Cross-Source RDS Table", + "uri":"dli_03_0239.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"236" + }, + { + "desc":"The system failed to create a cross-source RDS table, and null pointer error was reported.The following table creation statement was used:The RDS database is in a PostGre", + "product_code":"dli", + "title":"Null Pointer Error Is Displayed When the System Creates a Cross-Source RDS Table", + "uri":"dli_03_0250.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"237" + }, + { + "desc":"The system failed to execute insert overwrite on the cross-source GaussDB(DWS) table, and org.postgresql.util.PSQLException: ERROR: tuple concurrently updated was display", + "product_code":"dli", + "title":"Error Message \"org.postgresql.util.PSQLException: ERROR: tuple concurrently updated\" Is Displayed When the System Executes insert overwrite on a Cross-Source GaussDB(DWS) Table", + "uri":"dli_03_0251.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"238" + }, + { + "desc":"A cross-source table was used to import data to a CloudTable HBase table. This HBase table contains a column family and a rowkey for 100 million simulating data records. ", + "product_code":"dli", + "title":"RegionTooBusyException Is Reported When Data Is Imported to a CloudTable HBase Table Through a Cross-Source Table", + "uri":"dli_03_0252.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"239" + }, + { + "desc":"A table was created on GaussDB(DWS) and then a datasource connection was created on DLI to read and write data. An error message was displayed during data writing, indica", + "product_code":"dli", + "title":"A Null Value Is Written Into a Non-Null Field When a DLI Datasource Connection Is Used to Connect to a GaussDB(DWS) Table", + "uri":"dli_03_0253.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"240" + }, + { + "desc":"A cross-source GaussDB(DWS) table and the datasource connection were created in DLI, and the schema of the source table in GaussDB(DWS) were updated. During the job execu", + "product_code":"dli", + "title":"An Insert Operation Failed After the Schema of the GaussDB(DWS) Source Table Is Updated", + "uri":"dli_03_0254.html", + "doc_type":"usermanual", + "p_code":"221", + "code":"241" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dli", + "title":"Change History", + "uri":"dli_01_00006.html", + "doc_type":"usermanual", + "p_code":"", + "code":"242" + } +] \ No newline at end of file diff --git a/docs/dli/umn/PARAMETERS.txt b/docs/dli/umn/PARAMETERS.txt new file mode 100644 index 00000000..6da8d5f0 --- /dev/null +++ b/docs/dli/umn/PARAMETERS.txt @@ -0,0 +1,3 @@ +version="" +language="en-us" +type="" \ No newline at end of file diff --git a/docs/dli/umn/dli_01_00006.html b/docs/dli/umn/dli_01_00006.html new file mode 100644 index 00000000..936c0e4c --- /dev/null +++ b/docs/dli/umn/dli_01_00006.html @@ -0,0 +1,20 @@ + + +

Change History

+
+
+ + + + + + + +

Released On

+

What's New

+

2023-01-30

+

This issue is the first official release.

+
+
+
+ diff --git a/docs/dli/umn/dli_01_0001.html b/docs/dli/umn/dli_01_0001.html new file mode 100644 index 00000000..f1620ca5 --- /dev/null +++ b/docs/dli/umn/dli_01_0001.html @@ -0,0 +1,15 @@ + + +

Job Management

+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0002.html b/docs/dli/umn/dli_01_0002.html new file mode 100644 index 00000000..c2e2316d --- /dev/null +++ b/docs/dli/umn/dli_01_0002.html @@ -0,0 +1,61 @@ + + +

Creating and Submitting a Spark SQL Job

+

You can use DLI to submit a Spark SQL job to query data. The general procedure is as follows:

+

Step 1: Logging in to the Cloud Platform

+

Step 2: Uploading Data to OBS

+

Step 3: Logging In to the DLI Management Console

+

Step 4: Creating a Queue

+

Step 5: Creating a Database

+

Step 6: Creating a Table

+

Step 7: Querying Data

+

The following illustrates how to query OBS data using DLI. Operations to query DLI data are similar.

+

Step 1: Logging in to the Cloud Platform

  1. Open the DLI homepage.
  2. On the login page, enter the username and password, and click Log In.
+
+

Step 2: Uploading Data to OBS

DLI allows you to query data stored on OBS. Before querying the data, you need to upload data to OBS.

+
  1. In the services displayed, click Object Storage Service (OBS) in Storage.
  2. The OBS console page is displayed.
  3. Create a bucket. The bucket name must be globally unique. In this example, assume that the bucket name is obs1.
    1. Click Create Bucket in the upper right corner.
    2. On the displayed Create Bucket page, enter the Bucket Name. Retain the default values for other parameters or set them as required.
    3. Click Create Now.
    +
  4. Click obs1 to switch to the Overview page.
  5. In the left navigation pane, click Objects. Click Upload Object. In the displayed dialog box, drag files or folders to upload or add file, for example, sampledata.csv to the file upload box. Then, click Upload.
    You can create a sampledata.txt file, copy the following content separated by commas (,), and save the file as sampledata.csv.
    12,test
    +
    +

    After the file is uploaded successfully, the file path is obs://obs1/sampledata.csv.

    +

    For more information about OBS operations, see the Object Storage Service Console Operation Guide.

    +

    For more information about the tool, see the OBS Tool Guide.

    +

    You are advised to use an OBS tool, such as OBS Browser+, to upload large files because OBS Console has restrictions on the file size and quantity.

    +
    • OBS Browser+ is a graphical tool that provides complete functions for managing your buckets and objects in OBS.
    +
    +
+
+

Step 3: Logging In to the DLI Management Console

  1. .
  2. The DLI management console page is displayed. If you log in to the DLI management console for the first time, you need to be authorized to access OBS.

    Note: For this guide, you need at least the Tenant Administrator (Global service) permission.

    +
+
+

Step 4: Creating a Queue

A queue is the basis for using DLI. Before executing an SQL job, you need to create a queue.

+
  • An available queue default is preset in DLI.
  • You can also create queues as needed.
    1. On the DLI management console, click SQL Editor in the navigation pane on the left. The SQL Editor page is displayed.
    2. On the left pane, select the Queues tab, and click next to Queues.

      For details, see Creating a Queue.

      +

      +
    +
+
+

Step 5: Creating a Database

Before querying data, create a database, for example, db1.

+

The default database is a built-in database. You cannot create the database named default.

+
+
  1. On the DLI management console, click SQL Editor in the navigation pane on the left. The SQL Editor page is displayed.
  2. In the editing window on the right of the SQL Editor page, enter the following SQL statement and click Execute. Read and agree to the privacy agreement, and click OK.
    create database db1;
    +

    After database db1 is successfully created, db1 will be displayed in the Database list.

    +

    When you execute a query on the DLI management console for the first time, you need to read the privacy agreement. You can perform operations only after you agree to the agreement. For later queries, you will not need to read the privacy agreement again.

    +
    +
+
+

Step 6: Creating a Table

After database db1 is created, create a table (for example, table1) containing data in the sample file obs://obs1/sampledata.csv stored on OBS in db1.

+
  1. In the SQL editing window of the SQL Editor page, select the default queue and database db1.
  2. Enter the following SQL statement in the job editor window and click Execute:
    create table table1 (id int, name string) using csv options (path 'obs://obs1/sampledata.csv');
    +

    After the table is created, click the Databases tab and then select db1. The created table table1 is displayed in the Table area.

    +
+
+

Step 7: Querying Data

After performing the preceding steps, you can start querying data.

+
  1. In the Table tab on the SQL Editor page, double-click the created table table1. The SQL statement is automatically displayed in the SQL job editing window in the right pane. Run following statement to query 1,000 records in the table1 table:
    select * from db1.table1 limit 1000;
    +
  2. Click Execute. The system starts the query.

    After the SQL statement is executed successfully, you can view the query result in View Result under the SQL job editing window.

    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0003.html b/docs/dli/umn/dli_01_0003.html new file mode 100644 index 00000000..c3df2daa --- /dev/null +++ b/docs/dli/umn/dli_01_0003.html @@ -0,0 +1,59 @@ + + +

Overview

+

The enhanced datasource connection uses VPC peering at the bottom layer to directly connect the VPC network between the DLI cluster and the destination datasource. Data is exchanged in point-to-point mode. The enhanced datasource connection function supports all cross-source services implemented by DLI, including CloudTable HBase, CloudTableOpenTSDB, MRS OpenTSDB, DWS, RDS, CSS, DCS, and DDS. In addition, UDFs, Spark jobs, and Flink jobs can be used to access self-built data sources.

+ +
  • The CIDR block of the DLI queue bound with a datasource connection cannot overlap with that of the data source.
  • Datasource connections cannot be created for the default queue.
  • To access a datasource connection table, you need to use the queue for which a datasource connection has been created.
  • The preview function is not supported for datasource tables.
+
+

The enhanced datasource scenario provides the following functions:

+ +

Enhanced Datasource Connection Page

This page displays all enhanced datasource connections. If there are a large number of connections, they are displayed on multiple pages.

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
Table 1 Datasource connection list parameters

Parameter

+

Description

+

Connection Name

+

Name of the created datasource connection.

+

Connection Status

+

Status of a datasource connection. Currently, the console displays only connections in the Active state.

+

VPC

+

VPC used by the destination data source.

+

Subnet

+

Subnet used by the destination data source.

+

Created

+

Time when a connection is created. The connections in the connection list can be displayed according to the creation time in ascending or descending order.

+

Operation

+
  • Delete Connection: Delete a created enhanced datasource connection.
  • Manage Route: Used to display the custom route information of the enhanced datasource connection.
  • More:
    • Modify Host: Customize the IP address corresponding to the host or domain name.
    • Bind Queue: Bind a queue to an enhanced datasource connection.
    • Unbind Queue: Unbind an enhanced datasource connection from a queue.
    • Add Route: Add a custom route for the enhanced datasource connection.
    • Delete Route: Delete a custom route for an enhanced datasource connection.
    • Manage Permissions: Authorize or reclaim permissions for other projects.
    +
+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0004.html b/docs/dli/umn/dli_01_0004.html new file mode 100644 index 00000000..1d24cba4 --- /dev/null +++ b/docs/dli/umn/dli_01_0004.html @@ -0,0 +1,13 @@ + + +

Data Management

+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0005.html b/docs/dli/umn/dli_01_0005.html new file mode 100644 index 00000000..f6a4f3b3 --- /dev/null +++ b/docs/dli/umn/dli_01_0005.html @@ -0,0 +1,218 @@ + + +

Creating a Database or a Table

+

Definition of Database and Table in DLI

A database, built on the computer storage device, is a data warehouse where data is organized, stored, and managed based on its structure.

+

The table is an important part of the database. It consists of rows and columns. Each column functions as a field. Each value in a field (column) represents a type of data.

+

The database is a framework and the table contains data content. A database has one or more tables.

+

You can create databases and tables on the management console or using SQL statements. This section describes how to create a database and a table on the management console.

+

A view can be created only by using SQL statements. You cannot create a view on the Create Table page.

+
+
+

Precautions

  • If a folder and a file have the same name in the OBS directory, the file path is preferred as the path of the OBS table to be created.
+
+

Creating a Database

  1. You can create a database on either the Data Management page or the SQL Editor page.

    • To create a database on the Data Management page:
      1. On the left of the management console, choose Data Management > Databases and Tables.
      2. In the upper right corner of the Databases and Tables page, click Create Database to create a database.
      +
    • To create a database on the SQL Editor page:
      1. On the left of the management console, click SQL Editor.
      2. In the navigation pane on the left, click beside Databases.
      +
    +

  2. In the displayed Create Database dialog box, specify Name and Description by referring to Table 1.

    +

    + + + + + + + + + + + + + +
    Table 1 Description

    Parameter

    +

    Description

    +

    Example

    +

    Database Name

    +
    • The database name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_).
    • The database name is case insensitive and cannot be left blank.
    • The length of the database name cannot exceed 128 characters.
    +
    NOTE:

    The default database is a built-in database. You cannot create the database named default.

    +
    +

    DB01

    +

    Description

    +

    Description of a database.

    +

    -

    +
    +
    +

  3. Click OK.

    After a database is created, you can view and select the database for use on the Databases and Tables page or SQL Editor page.

    +

+
+

Creating a Table

Before creating a table, ensure that a database has been created.

+
  1. You can create a table on either the Databases and Tables page or the SQL Editor page.

    Datasource connection tables, such as View tables, HBase (MRS) tables, OpenTSDB (MRS) tables, DWS tables, RDS tables, and CSS tables, cannot be created. You can use SQL to create views and datasource connection tables. For details, see sections Creating a View and Creating a Datasource Connection Table in the Data Lake Insight SQL Syntax Reference.

    +
    +
    • To create a table on the Data Management page:
      1. On the left of the management console, choose Data Management > Databases and Tables.
      2. On the Databases and Tables page, select the database for which you want to create a table. In the Operation column, click More > Create Table to create a table in the current database.
      +
    • To create a table on the SQL Editor page:
      1. On the left of the management console, click SQL Editor.
      2. In the navigation pane of the displayed SQL Editor page, click Databases. You can create a table in either of the following ways:
        • Click a database name. In the Tables area, click on the right to create a table in the current database.
        • Click on the right of the database and choose Create Table from the shortcut menu to create a table in the current database.
        +
      +
    +

  2. In the displayed Create Table dialog box, set parameters as required.

    • If you set Data Location to DLI, set related parameters by referring to Table 2.
    • If you set Data Location to OBS, set related parameters by referring to Table 2 and Table 3. +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Table 2 Common parameters

      Parameter

      +

      Description

      +

      Example

      +

      Table Name

      +
      • The table name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_).
      • The table name is case insensitive and cannot be left unspecified.
      • The table name can contain the dollar sign ($). An example value is $test.
      • The length of the table name cannot exceed 128 characters.
      +

      table01

      +

      Data Location

      +

      Data storage location. Currently, DLI and OBS are supported.

      +

      OBS

      +

      Description

      +

      Description of the table.

      +

      -

      +

      Column Type

      +

      Available values: Normal or Partition

      +

      Normal

      +

      Column

      +

      Name of a column in a table. The column name must contain at least one letter and can contain underscores (_). It cannot contain only digits.

      +

      You can select Normal or Partition. Partition columns are dedicated to partition tables. User data is partitioned to improve query efficiency.

      +
      NOTE:

      The column name is case-insensitive and must be unique.

      +
      +

      name

      +

      Type

      +

      Data type of a column. This parameter corresponds to Column Name.

      +
      • string: The data is of the string type.
      • int: Each integer is stored on four bytes.
      • date: The value ranges from 0000-01-01 to 9999-12-31.
      • double: Each number is stored on eight bytes.
      • boolean: Each value is stored on one byte.
      • decimal: The valid bits are positive integers between 1 to 38, including 1 and 38. The decimal digits are integers less than 10.
      • smallint/short: The number is stored on two bytes.
      • bigint/long: The number is stored on eight bytes.
      • timestamp: The data indicates a date and time. The value can be accurate to six decimal points.
      • float: Each number is stored on four bytes.
      • tinyint: Each number is stored on one byte. Only OBS tables support this data type.
      +

      string

      +

      Column Description

      +

      Description of a column.

      +

      -

      +

      Operation

      +
      • Add Column
      • Delete
        NOTE:

        If the table to be created includes a great number of columns, you are advised to use SQL statements to create the table or import column information from the local EXCEL file.

        +
        +
      +

      -

      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Table 3 Parameter description when Data Location is set to OBS

      Parameter

      +

      Description

      +

      Example

      +

      Data Format

      +

      DLI supports the following data formats:

      +
      • Parquet: DLI can read non-compressed data or data that is compressed using Snappy and gzip.
      • CSV: DLI can read non-compressed data or data that is compressed using gzip.
      • ORC: DLI can read non-compressed data or data that is compressed using Snappy.
      • JSON: DLI can read non-compressed data or data that is compressed using gzip.
      • Avro: DLI can read uncompressed Avro data.
      +

      CSV

      +

      Storage Path

      +

      Enter or select an OBS path. The path can be a folder or a path.

      +
      NOTE:

      If you need to import data stored in OBS to the OBS table, set this parameter to the path of a folder. If the table creation path is a file, data fails to be imported.

      +
      +

      obs://obs1/sampledata.csv

      +

      Table Header: No/Yes

      +

      This parameter is valid only when Data Format is set to CSV. Whether the data source to be imported contains the table header.

      +

      Click Advanced Settings and select the check box next to Table Header: No. If the check box is selected, the table header is displayed. If the check box is deselected, no table header is displayed.

      +

      -

      +

      User-defined Delimiter

      +

      This parameter is valid only when Data Format is set to CSV and you select User-defined Delimiter.

      +

      The following delimiters are supported:

      +
      • Comma (,)
      • Vertical bar (|)
      • Tab character (\t)
      • Others: Enter a user-defined delimiter.
      +

      Comma (,)

      +

      User-defined Quotation Character

      +

      This parameter is valid only when Data Format is set to CSV and you select User-defined Quotation Character.

      +

      The following quotation characters are supported:

      +
      • Single quotation mark (')
      • Double quotation marks (")
      • Others: Enter a user-defined quotation character.
      +

      Single quotation mark (')

      +

      User-defined Escape Character

      +

      This parameter is valid only when Data Format is set to CSV and you select User-defined Escape Character.

      +

      The following escape characters are supported:

      +
      • Backslash (\)
      • Others: Enter a user-defined escape character.
      +

      Backslash (\)

      +

      Date Format

      +

      This parameter is valid only when Data Format is set to CSV or JSON.

      +

      This parameter specifies the format of the date in the table and is valid only Advanced Settings is selected. The default value is yyyy-MM-dd. For definition of characters involved in the date pattern, see Table 3 in the

      +

      2000-01-01

      +

      Timestamp Format

      +

      This parameter is valid only when Data Format is set to CSV or JSON.

      +

      This parameter specifies the format of the timestamp in the table and is valid only Advanced Settings is selected. The default value is yyyy-MM-dd HH:mm:ss. For definition of characters involved in the time pattern, see Table 3 in the

      +

      2000-01-01 09:00:00

      +
      +
      +
    +

  3. Click OK.

    After a table is created, you can view and select the table for use on the Data Management page or SQL Editor page.

    +

  4. (Optional) After a DLI table is created, you can decide whether to directly import data to the table.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0006.html b/docs/dli/umn/dli_01_0006.html new file mode 100644 index 00000000..dfcf005e --- /dev/null +++ b/docs/dli/umn/dli_01_0006.html @@ -0,0 +1,70 @@ + + +

Creating, Querying, and Deleting an Enhanced Datasource Connection

+

Creating an Enhanced Datasource Connection

The following describes how to create a datasource HBase connection for MRS.

+

Only enhanced datasource connection to MRS HBase is supported.

+
+
  1. Apply for a cluster in MRS.

    If a cluster is available, you do not need to apply for one.

    +
  2. In the navigation pane of the DLI management console, choose Datasource Connections.
  3. Click the Enhanced tab and click Create in the upper left corner.

    Enter the Connection Name, select the Bind Queue (optional), VPC, and Subnet, and enter the Host Information (optional). For details about the parameters, see Table 1.

    +

    + +
    + + + + + + + + + + + + + + + + + + + +
    Table 1 Parameter description

    Parameter

    +

    Description

    +

    Connection Name

    +

    Name of the created datasource connection.

    +
    • The name can contain only letters, digits, and underscores (_). The parameter must be specified.
    • A maximum of 64 characters are allowed.
    +

    Bound Queue

    +

    (Optional) Bind a queue that requires datasource connections.

    +
    NOTE:

    Before using an enhanced datasource connection, you must bind a queue and ensure that the VPC peering connection is in the Active state.

    +
    +

    VPC

    +

    VPC used by the destination data source.

    +

    Subnet

    +

    Subnet used by the destination data source.

    +

    Host Information

    +

    (Optional) When connecting to the HBase cluster of MRS, enter the host name and IP address of the ZooKeeper instance. Enter one record in each line. The format is as follows: IP address Host name/Domain name.

    +

    To obtain the host name and IP address of the MRS cluster, perform the following steps (with MRS3.x as an example):

    +
    1. Log in to the MRS management console.
    2. In the navigation pane, choose Clusters > Active Clusters. Click the target cluster name to access the cluster details page.
    3. Click Component Management.
    4. Click Zookeeper.
    5. Click the Instance tab to view the corresponding service IP address. You can select any service IP address.
    +
    NOTE:

    If the MRS cluster has multiple IP addresses, enter any service IP address when creating a datasource connection.

    +
    +
    +
    +
  4. Click OK.
  5. To connect to Kafka, DWS, and RDS instances, add security group rules for the DLI network segment to the security group where the instances belong. The following uses RDS as an example:
    1. Choose Resources > Queue Management in the navigation pane. Select the target queue, and click to expand the row containing the target queue to view its CIDR block.
    2. On the Instance Management page of the RDS console, click the instance name. In the Connection Information area, view the port number of the RDS database instance.
    3. In the Connection Information area locate the Security Group and click the group name to switch to the security group management page. Select the Inbound Rules tab and click Add Rule. Set the priority to 1, protocol to TCP, port to the database port number, and source to the CIDR block of the DLI queue. Click OK.
    +
  6. Test the connectivity between the DLI queue and the connection instance. The following example describes how to test the connectivity between DLI and an RDS DB instance.
    1. On the Instance Management page, click the target DB instance. On the displayed page, locate the Connection Information pane and view the floating IP address. In the Connection Information pane, locate the Database Port to view the port number of the RDS DB instance.
    2. Go back to the DLI console. On the Resources > Queue Management page, locate the target queue. In the Operation column, click More > Test Address Connectivity.
    3. Enter the connection address of the RDS DB instance and port number in the format of IP address:port to test the network connectivity.
    +
+
+

Querying an Enhanced Datasource Connection

On the Enhanced tab page, you can enter the keyword of a connection name in the search box to search for the matching connection.

+
+

Viewing Details

On the Enhanced tab page, select a connection and click to view its details. The connection ID and host information are displayed.

+
+

Deleting an Enhanced Datasource Connection

On the Enhanced tab page, click Delete Connection in the Operation column to delete an unnecessary connection.

+

A connection with Connection Status of Creating cannot be deleted.

+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0007.html b/docs/dli/umn/dli_01_0007.html new file mode 100644 index 00000000..414e1795 --- /dev/null +++ b/docs/dli/umn/dli_01_0007.html @@ -0,0 +1,16 @@ + + +

Previewing Data

+

The Preview page displays the first 10 records in the table.

+

Procedure

You can preview data on either the Data Management page or the SQL Editor page.
  • To preview data on the Data Management page:
    1. On the left of the management console, choose Data Management > Databases and Tables.
    2. On the displayed Data Management page, click the name of the database where the target table whose data you want to export resides to switch to the Manage Tables page.
    3. Click More in the Operation column of the target table and select View Properties.
    4. Click the Preview tab to preview the table data.
    +
  • To preview data on the SQL Editor page:
    1. On the left of the management console, click SQL Editor.
    2. In the navigation pane of the displayed SQL Editor page, click Databases.
    3. Click the corresponding database name to view the tables in the database.
    4. Click on the right of the corresponding table, choose View Properties from the list menu, and click the Preview tab to preview the data of the table.
    +
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0008.html b/docs/dli/umn/dli_01_0008.html new file mode 100644 index 00000000..846fa36c --- /dev/null +++ b/docs/dli/umn/dli_01_0008.html @@ -0,0 +1,17 @@ + + +

Viewing Metadata

+

Metadata Description

  • Metadata is used to define data types. It describes information about the data, including the source, size, format, and other data features. In database fields, metadata interprets data content in the data warehouse.
  • When you create a table, metadata is defined, consisting of the column name, type, and description.
  • The Metadata page displays information about the target table, including Column Name, Column Type, Data Type, and Description.
+
+

Procedure

You can view metadata on either the Data Management page or the SQL Editor page.
  • To view metadata on the Data Management page:
    1. On the left of the management console, choose Data Management > Databases and Tables.
    2. On the displayed Data Management page, click the name of the database where the target table whose data you want to export resides to switch to the Manage Tables page.
    3. Click More in the Operation column of the target table and select View Properties. In the Metadata tab, view the metadata of the table.
    +
  • To view metadata on the SQL Editor page:
    1. On the left of the management console, click SQL Editor.
    2. In the navigation pane of the displayed SQL Editor page, click Databases.
    3. Click the corresponding database name to view the tables in the database.
    4. Click on the right of the table and choose View Properties from the shortcut menu. On the Metadata tab page, view the metadata of the table.
    +
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0009.html b/docs/dli/umn/dli_01_0009.html new file mode 100644 index 00000000..7cef7491 --- /dev/null +++ b/docs/dli/umn/dli_01_0009.html @@ -0,0 +1,68 @@ + + +

Binding and Unbinding a Queue

+

Constraints

  • The CIDR block of the DLI queue that is bound with a datasource connection cannot overlap with that of the data source.
  • The default queue cannot be bound with a connection.
+
+

Binding a Queue

Before using an enhanced datasource connection, you must bind a queue and ensure that the VPC peering connection is in the Active state.

+
  • Method 1

    In the Enhanced tab, select a connection and click Bind Queue in the Operation column. In the dialog box that is displayed, select the queues to be bound and click OK.

    +
+
  • Method 2

    Click the name of the selected connection. The Details page is displayed. Click Create in the upper left corner. In the dialog box that is displayed, select the queues to be bound and click OK.

    +

    +
+
+

Viewing Details about a Bound Queue

On the Enhanced tab page, select a connection and click the connection name to view the information about the bound queue. +
+ + + + + + + + + + + + + + + + + + + +
Table 1 Parameters in the details list of datasource connection queues

Parameter

+

Description

+

VPC Peering ID

+

ID of the VPC peering connection created in the cluster to which the queue belongs.

+
NOTE:

A VPC peering connection is created for each queue bound to an enhanced datasource connection. The VPC peering connection is used for cross-VPC communication. Ensure that the security group used by the data source allows access from the DLI queue CIDR block, and do not delete the VPC peering connection during the datasource connection.

+
+

Name

+

Name of a bound queue.

+

Connection Status

+

Datasource connection status. The following three statuses are available:

+
  • Creating
  • Active
  • Failed
+
NOTE:

If the connection status is Failed, click on the left to view the detailed error information.

+
+

Updated

+

Time when a connection is updated. The connections in the connection list can be displayed according to the update time in ascending or descending order.

+

Operation

+

Unbind Queue: This operation is used to unbind a datasource connection from a queue.

+
+
+
+
+

Unbinding a Queue

If you do not need to use an enhanced datasource connection, you can unbind the queue from it to release resources.

+
  • Method 1

    On the Enhanced tab page, select a connection and click More > Unbind Queue in the Operation column. In the dialog box that is displayed, select the queues to be unbound and click OK.

    +
+
  • Method 2

    Click the name of the target connection. The Details page is displayed. Select the queue to be unbound and click Unbind Queue in the Operation column. In the displayed dialog box, confirm the queue to be unbound and click Yes.

    +

    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0010.html b/docs/dli/umn/dli_01_0010.html new file mode 100644 index 00000000..5d31126e --- /dev/null +++ b/docs/dli/umn/dli_01_0010.html @@ -0,0 +1,72 @@ + + +

Exporting Data from DLI to OBS

+

You can export data from a DLI table to OBS. During the export, a folder is created in OBS or the content in the existing folder is overwritten.

+

Precautions

  • The exported file can be in JSON format, and the text format can only be UTF-8.
  • Only the data in the DLI table (the table type is Managed) can be exported to the OBS bucket, and the export path must be specified to the folder level.
  • Data can be exported across accounts. That is, after account B authorizes account A, account A can export data to the OBS path of account B if account A has the permission to read the metadata and permission information about the OBS bucket of account B and read and write the path.
+
+

Procedure

  1. You can export data on either the Data Management page or the SQL Editor page.

    • To export data on the Data Management page:
      1. On the left of the management console, choose Data Management > Databases and Tables.
      2. Click the name of the database corresponding to the table where data is to be exported to switch to the Manage Tables page.
      3. Select the corresponding table (DLI table) and choose More > Export in the Operation column. The Export Data page is displayed.
      +
    • To export data on the SQL Editor page:
      1. On the left of the management console, click SQL Editor.
      2. In the navigation tree on the left, click Databases to see all databases. Click the database name corresponding to the table to which data is to be exported. The tables are displayed.
      3. Click on the right of the managed table (DLI table) whose data is to be exported, and choose Export from the shortcut menu.

        +
      +
    +

  2. In the displayed Export Data dialog box, specify parameters by referring to Table 1.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 Parameter description

    Parameter

    +

    Description

    +

    Databases

    +

    Database where the current table is located.

    +

    Table Name

    +

    Name of the current table.

    +

    Data Format

    +

    Format of the file storing data to be exported. Formats other than JSON will be supported in later versions.

    +

    Queue

    +

    Select a queue.

    +

    Compression Format

    +

    Compression format of the data to be exported. The following compression formats are supported:

    +
    • none
    • bzip2
    • deflate
    • gzip
    +

    Storage Path

    +
    • Enter or select an OBS path.
    • The export path must be a folder that does not exist in the OBS bucket. Specifically, you need to create a folder in the target OBS directory.
    • The folder name cannot contain the special characters of \/:*? "<>|, and cannot start or end with a dot (.).
    +

    Export Mode

    +

    Storage mode of the data to be exported.

    +
    • New OBS directory: If the specified export directory exists, an error is reported and the export operation cannot be performed.
    • Existing OBS directory (Overwritten): If you create a file in the specified directory, the existing file will be overwritten.
    +

    Table Header: No/Yes

    +

    Whether the data to be exported contains the table header.

    +
    +
    +

  3. Click OK.
  4. (Optional) You can view the job status (indicated by Status), statements (indicated by Statement), and other information about exporting jobs on the SQL Jobs page.

    1. Select EXPORT from the Job Type drop-down list box and specify the time range for exporting data. The jobs meeting the requirements are displayed in the job list.
    2. Click to view details about an exporting job.
    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0011.html b/docs/dli/umn/dli_01_0011.html new file mode 100644 index 00000000..82363e7a --- /dev/null +++ b/docs/dli/umn/dli_01_0011.html @@ -0,0 +1,24 @@ + + +

Deleting a Database or a Table

+

You can delete unnecessary databases and tables based on actual conditions.

+

Precautions

  • You are not allowed to delete databases or tables that are being used for running jobs.
  • The administrator, database owner, and users with the database deletion permission can delete the database. The administrator, database owner, and users with the table deletion permission can delete the table.

    If a database or table is deleted, it cannot be recovered. Exercise caution when performing this operation.

    +
    +
+
+

Deleting a Table

You can delete a table on either the Data Management page or the SQL Editor page.
  • Delete the table on the Data Management page.
    1. On the left of the management console, choose Data Management > Databases and Tables.
    2. Locate the row where the database whose tables you want to delete, click the database name to switch to the Table Management page.
    3. Locate the row where the target table locates and click More > Delete in the Operation column.
    4. In the displayed dialog box, click Yes.
    +
  • Delete a table on the SQL Editor page.
    1. On the top menu bar of the DLI management console, click SQL Editor.
    2. In the navigation tree on the left, click Databases. Click the name of a database where the table you want belongs. The tables of the selected database are displayed.
    3. Click on the right of the table and choose Delete from the shortcut menu.
    4. In the dialog box that is displayed, click OK.
    +
+
+
+

Deleting a Database

  1. On the left of the management console, choose Data Management > Databases and Tables.
  2. Locate the row where the target database locates and click More > Drop Database in the Operation column.

    You cannot delete databases that contain tables. To delete a database containing tables, delete the tables first.

    +
    +
  3. In the displayed dialog box, click Yes.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0012.html b/docs/dli/umn/dli_01_0012.html new file mode 100644 index 00000000..b61c0969 --- /dev/null +++ b/docs/dli/umn/dli_01_0012.html @@ -0,0 +1,27 @@ + + +

Queue Management

+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0013.html b/docs/dli/umn/dli_01_0013.html new file mode 100644 index 00000000..d9d4f426 --- /dev/null +++ b/docs/dli/umn/dli_01_0013.html @@ -0,0 +1,23 @@ + + +

Modifying Host Information

+

Modifying Hosts Information

Method 1: Copy hosts information in /etc/hosts of an MRS node.

+
  1. Log in to any MRS node as the root user.
  2. Run the following command to obtain MRS hosts information. Copy and save the information.

    cat /etc/hosts

    +
    Figure 1 Obtaining hosts information
    +

  3. Log in to the DLI console, choose Datasource Connections > Enhanced. On the Enhanced tab page, select a connection and click Modify Host. In the displayed dialog box, paste the host information copied in 2. Click OK.
+

Method 2: Log in to FusionInsight Manager to obtain MRS hosts information.

+
  1. Log in to FusionInsight Manager.
  2. On FusionInsight Manager, click Hosts. On the Hosts page, obtain the host names and service IP addresses of the MRS hosts.
  3. Log in to the DLI console, choose Datasource Connections > Enhanced. On the Enhanced tab page, select a connection and click Modify Host. In the displayed dialog box, enter the host information. Click OK.

    The host information is in the format of Service IP address Host name. Specify the IP addresses and host names obtained in 2, and separate multiple records by line breaks.

    +

    For example:

    +

    192.168.0.22 node-masterxxx1.com

    +

    192.168.0.23 node-masterxxx2.com

    +

+
  • After this configuration, all hosts information is overwritten.
  • A host name or domain name can contain a maximum of 128 characters, including digits, letters, underscores (_), hyphens (-), and periods (.). It must start with a letter.
  • The host information is IP address Host name/Domain name format. Separate multiple records by line breaks.
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0014.html b/docs/dli/umn/dli_01_0014.html new file mode 100644 index 00000000..c65aac77 --- /dev/null +++ b/docs/dli/umn/dli_01_0014.html @@ -0,0 +1,38 @@ + + +

Custom Route Information

+

Customizing Route Information

After an enhanced datasource connection is created and bound to a queue, the system automatically configures route information. You can also add a custom route for the queue to which the enhanced connection is bound.

+
  • Viewing route information

    On the Enhanced tab page, select a connection and click Manage Route in the Operation column to view the route information of the datasource connection.

    +
+
  • Adding a route

    On the Enhanced tab page, select a connection and choose More > Add Route in the Operation column, or click Add Route on the Details page of the connection to add a custom route. In the displayed dialog box, enter the route name and route CIDR block. For details about the parameters, see Table 1.

    + +
    + + + + + + + + + + +
    Table 1 Parameters for adding a custom route

    Parameter

    +

    Description

    +

    Route Name

    +

    Name of a custom route, which is unique in the same enhanced datasource scenario. The name contains 1 to 64 characters, including digits, letters, underscores (_), and hyphens (-).

    +

    IP Address

    +

    Custom route CIDR block. The CIDR block of different routes can overlap but cannot be the same.

    +
    +
    +
+
  • Deleting a route

    On the Enhanced page, select a connection and choose More > Delete Route in the Operation column, or click Delete Route on the Details page of the connection to delete a custom route.

    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0015.html b/docs/dli/umn/dli_01_0015.html new file mode 100644 index 00000000..115e2f5d --- /dev/null +++ b/docs/dli/umn/dli_01_0015.html @@ -0,0 +1,44 @@ + + +

Queue Permission Management

+

Scenarios

  • You can isolate queues allocated to different users by setting permissions to ensure data query performance.
  • The administrator and queue owner have all permissions, which cannot be set or modified by other users.
+
+

Operations

  1. On the top menu bar of the DLI management console, click Resources > Queue Management.
  2. Select the queue to be configured and choose Manage Permissions in the Operation column. The User Permission Info area displays the list of users who have permissions on the queue.

    You can assign queue permissions to new users, modify permissions for users who have some permissions of a queue, and revoke all permissions of a user on a queue.

    +
    • Assign permissions to a new user.
      A new user does not have permissions on the queue.
      1. Click Set Permission on the right of User Permissions page. The Set Permission dialog box is displayed.
      2. Specify Username and select corresponding permissions.
      3. Click OK.

        Table 1 describes the related parameters.

        + +
        + + + + + + + + + + +
        Table 1 Parameter description

        Parameter

        +

        Description

        +

        Username

        +

        Name of the authorized user.

        +
        NOTE:

        The username is an existing IAM user name and has logged in to the DLI management console.

        +
        +

        Permission Settings

        +
        • Delete Queues: This permission allows you to delete the queue.
        • Submit Jobs: This permission allows you to submit jobs using this queue.
        • Terminate Jobs: This permission allows you to terminate jobs submitted using this queue.
        • Grant Permission: This permission allows you to grant queue permissions to other users.
        • Revoke Permission: This permission allows you to revoke the queue permissions that other users have but cannot revoke the queue owner's permissions.
        • View Other User's Permissions: This permission allows you to view the queue permissions of other users.
        • Restart Queues: This permission allows you to restart queues.
        • Modify Queue Specifications: This permission allows you to modify queue specifications.
        +
        +
        +
      +
      +
    • To assign or revoke permissions of a user who has some permissions on the queue, perform the following steps:
      1. In the list under User Permission Info for a queue, select the user whose permissions need to be modified and click Set Permission in the Operation column.
      2. In the displayed Set Permission dialog box, modify the permissions of the current user. Table 1 lists the detailed permission descriptions.

        If all options under Set Permission are gray, you are not allowed to change permissions on this queue. You can apply to the administrator, queue owner, or other authorized users for queue permission granting and revoking.

        +
      3. Click OK.
      +
    • To revoke all permission of a user on the queue, perform the following steps:

      In the user list under Permission Info, select the user whose permission needs to be revoked and click Revoke Permission under Operation. In the Revoke Permission dialog box, click OK. All permissions on this queue are revoked.

      +
    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0016.html b/docs/dli/umn/dli_01_0016.html new file mode 100644 index 00000000..f99b73a5 --- /dev/null +++ b/docs/dli/umn/dli_01_0016.html @@ -0,0 +1,17 @@ + + +

Deleting a Queue

+

You can delete a queue based on actual conditions.

+
  • This operation will fail if there are jobs in the Submitting or Running state on this queue.
  • Deleting a queue does not cause table data loss in your database.
+
+

Procedure

  1. On the left of the DLI management console, click Resources >Queue Management.
  2. Locate the row where the target queue locates and click Delete in the Operation column.

    If Delete in the Operation column is gray, the current user does not have the permission of deleting the queue. You can apply to the administrator for the permission.

    +
    +

  3. In the displayed dialog box, click OK.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0017.html b/docs/dli/umn/dli_01_0017.html new file mode 100644 index 00000000..d4587d4b --- /dev/null +++ b/docs/dli/umn/dli_01_0017.html @@ -0,0 +1,142 @@ + + +

SQL Job Management

+

SQL jobs allow you to execute SQL statements entered in the SQL job editing window, import data, and export data.

+

SQL job management provides the following functions:

+ +

SQL Jobs page

On the Overview page of the DLI console, click SQL Jobs to go to the SQL job management page. Alternatively, you can click Job Management > SQL Jobs. The job list displays all SQL jobs. If there are a large number of jobs, they will be displayed on multiple pages. You can switch to the specified page as needed. DLI allows you to view jobs in all statuses. By default, jobs in the job list are displayed in descending order of the job creation time.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 SQL Job management parameters

Parameter

+

Description

+

Queues

+

Name of the queue to which a job belongs

+

Username

+

Name of the user who executed the job.

+

Type

+

Job type. The following types are supported:

+
  • IMPORT: A job that imports data to DLI
  • EXPORT: A job that exports data from DLI
  • DCL: Conventional DCLs and operations related to queue permissions
  • DDL:Conventional DDLs, including creating and deleting databases and tables
  • QUERY: A job that querys data by running SQL statements
  • INSERT: A job that inserts data by running SQL statements
  • UPDATE: A job that updates data.
  • DELETE: A job that deletes a SQL job.
  • DATA_MIGRATION: A job that migrates data.
  • RESTART_QUEUE: A job that restarts a queue.
  • SCALE_QUEUE: A job that changes queue specifications, including sale-out and scale-in.
+

Status

+

Job status. Possible values are as follows:

+
  • Submitting
  • Running
  • Finished
  • Canceled
  • Failed
  • Scaling
+

Query

+

SQL statements for operations such as exporting and creating tables

+

You can click to copy the query statement.

+

Duration

+

Running duration of a job

+

Created

+

Time when a job is created. Jobs can be displayed in ascending or descending order of the job creation time.

+

Operation

+
  • Edit: Edit the job.
  • Cancel
    • You can terminate a job only when the job is in Submitting or Running status.
    • A job whose status is Finished, Failed, or Canceled cannot be terminated.
    • If the Cancel button is gray, you are not allowed to perform this operation.
    +
  • Re-execute: Execute the job again.
  • SparkUI: Display the Spark job execution page.
    NOTE:
    • When you execute a job on a created queue, the cluster is restarted. It takes about 10 minutes. If you click SparkUI before the cluster is created, an empty projectID will be cached. The SparkUI page cannot be displayed. You are advised to use a dedicated queue so that the cluster will not be released. Alternatively, wait for a while after the job is submitted (the cluster is created), and then check SparkUI.
    • Currently, only the latest 100 job information records are displayed on the SparkUI of DLI.
    +
    +
+
  • In addition to the preceding operations, the following operations are available for QUERY jobs and asynchronous DDL jobs.
    • View Result: View the job running result.
    • Export Result: Export the job running result to the created OBS bucket. For details, see section Exporting Query Results.
    +
  • In addition to the preceding operations, the EXPORT job also includes the following operations:
    • Download
    +
  • View Log: Save job logs to the temporary OBS bucket created by DLI.
  • Export Log: Export logs to the created OBS bucket. If the job is in the Running state, logs cannot be exported.
+
NOTE:

To export the logs, you need to obtain the permission to create an OBS bucket.

+

Log archiving and export are not available for synchronization jobs and jobs running on the default queue.

+
+
+
+
+

Searching for a Job

On the SQL Jobs page, you can search jobs with any of the following operations.

+
  • Select a queue name.
  • Set the date range.
  • Enter a username, statement, or job ID.
  • Select the creation time in ascending or descending order.
  • Select a job type.
  • Select a job status.
  • Select the job execution duration in ascending or descending order.
+
+

Viewing Job Details

On the SQL Jobs page, you can click in front of a job record to view details about the job.

+

The following describes how to load data, create a table, and select a job. The job details vary depending on the job types, status, and configuration options.

+
  • Load data (job type: IMPORT) include the following information: queue, job ID, username, type, status, execution statement, running duration, creation time, end time, parameter settings, label, number of results, scanned data, number of scanned data, number of error records, storage path, data format, database, table, table header, separator, reference character, escape character, date format, and timestamp format.
  • Create table (job type: DDL) include the following information: queue, job ID, username, type, status, execution statement, running duration, creation time, end time, parameter settings, tags, number of results, scanned data, and database.
  • Select (job type: QUERY) include the following information: queue, job ID, username, type, status, execution statement, running duration, creation time, end time, parameter setting, label, number of results (results of successful executions can be exported), and scanned data, username, result status (results of successful tasks can be viewed. Failure causes of failed tasks are displayed), and database.
+
+

Terminating a Job

On the SQL Jobs page, you can click Terminate in the Operation column to stop a submitting or running job.

+
+

Exporting Query Results

A maximum of 1000 records can be displayed in the query result on the console. To view more or all data, you can export the data to OBS. The procedure is as follows:

+

You can export results on the SQL Jobs page or the SQL Editor page.

+
  • On the Job Management > SQL Jobs page, you can click More > Export Result in the Operation column to export the query result.
  • After the query statements are successfully executed on the SQL Editor page, click on the right of the View Result tab page to export the query result.
+

If no column of the numeric type is displayed in the query result, the result cannot be exported.

+
+

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Exporting parameters

Parameter

+

Description

+

Data Format

+

Format of the exported query result file. Formats other than JSON will be supported in later versions.

+

Queues

+

The queue where the jobs are executed. SQL jobs can be executed only in SQL queues. For details about how to create a queue, see Creating a Queue.

+

Compression Format

+

Compression format of the data to be exported. The following options are supported:

+
  • none
  • bzip2
  • deflate
  • gzip
+

Storage Path

+

OBS path to store the result.

+
NOTE:
  • After selecting an OBS bucket, enter a name for the folder. If the folder does not exist, it will be created in OBS.
  • The folder name cannot contain the special characters of \ / : * ? "< > |, and cannot start or end with a dot (.).
+
+

Export Mode

+

Mode for saving the exported query result data.

+
  • New OBS directory: If the specified export directory exists, an error is reported and the export operation cannot be performed.
  • Existing OBS directory (Overwritten): If you create a file in the specified directory, the existing file will be overwritten.
+

Number of Results

+

Number of exported query results. If no value is entered or the value is 0, all results are exported.

+

Table Header

+

Whether the data to be exported contains table headers.

+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0018.html b/docs/dli/umn/dli_01_0018.html new file mode 100644 index 00000000..f84ac7e1 --- /dev/null +++ b/docs/dli/umn/dli_01_0018.html @@ -0,0 +1,22 @@ + + +

Enhanced Datasource Connection Permission Management

+

Permission Management

You can grant or revoke permissions for enhanced datasource connections of other projects.

+
  • Authorization
    1. Log in to the DLI management console, choose Datasource Connections and select the Enhanced tab, select a datasource connection, and choose More > Manage Permission in the Operation column. In the displayed Permissions dialog box, select Grant Permission, enter the project ID, and click OK.
    2. After a project is authorized, you can log in to the system as a user of the authorized project or switch to the corresponding project. In the Enhanced tab, you can view the authorized datasource connection and bind the created queue to the datasource connection. Cross-project datasource connections and routes can be created.
    +
    • If the authorized projects belong to different users in the same region, you can use the user account of the authorized projects to log in.
    • If the authorized projects belong to the same user in the same region, you can use the current account to switch to the corresponding project.
    +
    +

    For example, if project B needs to access the data source of project A, perform the following operations:

    +
    • For Project A:
      1. Log in to DLI using the account of project A.
      2. Create an enhanced datasource connection ds in DLI based on the VPC information of the corresponding data source.
      3. Grant project B the permission to access the enhanced datasource connection ds.
      +
    +
    • For Project B:
      1. Log in to DLI using the account of project B.
      2. Bind the enhanced datasource connection ds to a queue.
      3. (Optional) Set host information and create a route.
      +
    +

    After creating a VPC peering connection and route between the enhanced datasource connection of project A and the queue of project B, you can create a job in the queue of project B to access the data source of project A.

    +
  • Revoke: In the Manage Permissions dialog box, select Revoke Permission and select the ID of the project whose permissions need to be revoked.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0021.html b/docs/dli/umn/dli_01_0021.html new file mode 100644 index 00000000..21a1da0b --- /dev/null +++ b/docs/dli/umn/dli_01_0021.html @@ -0,0 +1,140 @@ + + +

SQL Template Management

+

To facilitate SQL operation execution, DLI allows you to customize query templates or save the SQL statements in use as templates. After templates are saved, you do not need to compile SQL statements. Instead, you can directly perform the SQL operations using the templates.

+

SQL templates include sample templates and custom templates. The default sample template contains 22 standard TPC-H query statements, which can meet most TPC-H test requirements. For details, see TPC-H Sample Data in the SQL Template.

+

SQL template management provides the following functions:

+ +

Table Settings

In the upper right corner of the SQL Template page, click Set Property to determine whether to display templates by group.

+

+

If you select Display by Group, the following display modes are available:

+
  • Expand the first group
  • Expand all
  • Collapse All
+
+

Sample Templates

The current sample template contains 22 standard TPC-H query statements. You can view the template name, description, and statements. For details about TPC-H examples, see TPC-H Sample Data in the SQL Template.

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Template management parameters

Parameter

+

Description

+

Name

+

Indicates the template name.

+
  • A template name can contain only digits, letters, and underscores (_), but cannot start with an underscore (_) or contain only digits. It cannot be left empty.
  • The template name can contain a maximum of 50 characters.
+

Description

+

Description of the template you create.

+

Statement

+

SQL statement created as the template.

+

Operation

+

Execute: After you click this button, the system switches to the SQL Editor page, where you can modify or directly perform the statement as required. For details, see Executing the Template.

+
+
+

The existing sample templates apply to the following scenarios:

+
  • Price summary report query
  • Minimum cost supplier analysis
  • Shipping priority analysis
  • Analysis of order priority check
  • Analysis of the number of local suppliers
  • Analysis of forecasted income changes
  • Freight volume analysis
  • National market share analysis
  • Profit estimation analysis by product type
  • Analysis of returned parts
  • Analysis of key inventory indicators
  • Freight mode and command priority analysis
  • Consumer allocation analysis
  • Promotion effect analysis
  • Analysis of the supplier with the largest contribution
  • Analysis of the relationship between parts and suppliers
  • Revenue analysis of small-lot orders
  • Customer analysis for large orders
  • Discounted revenue analysis
  • Analysis of potential component improvements
  • Analysis of suppliers who fail to deliver goods on time
  • Global sales opportunity analysis
+
+

Custom Templates

The custom template list displays all templates you have created. You can view the template name, description, statements, and more.

+ +
+ + + + + + + + + + + + + + + + +
Table 2 Template management parameters

Parameter

+

Description

+

Name

+

Indicates the template name.

+
  • A template name can contain only digits, letters, and underscores (_), but cannot start with an underscore (_) or contain only digits. It cannot be left empty.
  • The template name can contain a maximum of 50 characters.
+

Description

+

Description of the template you create.

+

Statement

+

SQL statement created as the template.

+

Operation

+
  • Execute: After you click this button, the system switches to the SQL Editor page, where you can modify or directly perform the statement as required. For details, see Executing the Template.
  • Modify: Click Modify. In the displayed Modify Template dialog box, modify the template information as required. For details, see Modifying a Template.
+
+
+
+

Creating a Template

You can create a template on either the Job Templates or the SQL Editor page.

+
  • To create a template on the Job Templates page:
    1. On the left of the management console, choose Job Templates > SQL Templates.
    2. On the SQL Templates page, click Create Template to create a template.

      Enter the template name, SQL statement, and description information. For details, see Table 3.

      + +
      + + + + + + + + + + + + + + + + + + + +
      Table 3 Parameter description

      Parameter

      +

      Description

      +

      Name

      +

      Indicates the template name.

      +
      • A template name can contain only digits, letters, and underscores (_), but cannot start with an underscore (_) or contain only digits. It cannot be left empty.
      • The template name can contain a maximum of 50 characters.
      +

      Statement

      +

      SQL statement to be saved as a template.

      +

      Description

      +

      Description of the template you create.

      +

      Group

      +
      • Use existing
      • Use new
      • Do not use
      +

      Group Name

      +

      If you select Use existing or Use new, you need to enter the group name.

      +
      +
      +
    3. Click OK.
    +
  • To create a template on the SQL Editor page:
    1. On the left of the management console, click SQL Editor.
    2. In the SQL job editing area of the displayed SQL Editor page, click More in the upper right corner and choose Save as Template.

      Enter the template name, SQL statement, and description information. For details, see Table 3.

      +
    3. Click OK.
    +
+
+

Executing the Template

Perform the template operation as follows:
  1. On the left of the management console, choose Job Templates > SQL Templates.
  2. On the SQL Templates page, select a template and click Execute in the Operation column. The SQL Editor page is displayed, and the corresponding SQL statement is automatically entered in the SQL job editing window.
  3. In the upper right corner of the SQL job editing window, Click Execute to run the SQL statement. After the execution is complete, you can view the execution result below the current SQL job editing window.
+
+
+

Searching for a Template

On the SQL Templates page, you can enter the template name keyword in the search box on the upper right corner to search for the desired template.

+
+

Modifying a Template

Only custom templates can be modified. To modify a template, perform the following steps:

+
  1. On the SQL Templates page, locate the target template and click Modify in the Operation column.
  2. In the displayed Modify Template dialog box, modify the template name, statement, and description as required.
  3. Click OK.
+
+

Deleting a Template

On the SQL Templates page, select one or more templates to be deleted and click Delete to delete the selected templates.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0220.html b/docs/dli/umn/dli_01_0220.html new file mode 100644 index 00000000..3ffaab0d --- /dev/null +++ b/docs/dli/umn/dli_01_0220.html @@ -0,0 +1,17 @@ + + +

Getting Started

+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0228.html b/docs/dli/umn/dli_01_0228.html new file mode 100644 index 00000000..3652407c --- /dev/null +++ b/docs/dli/umn/dli_01_0228.html @@ -0,0 +1,119 @@ + + +

Overview

+

DLI database and table management provide the following functions:

+ +

Difference Between DLI Tables and OBS Tables

  • Data stored in DLI tables is applicable to delay-sensitive services, such as interactive queries.
  • Data stored in OBS tables is applicable to delay-insensitive services, such as historical data statistics and analysis.
+
+

Databases and Tables Page

The Databases and Tables page displays all created databases. You can view the database information, such as the owner and the number of tables.

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
Table 1 Database and table management parameters

Parameter

+

Description

+

Database Name

+
  • The database name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_).
  • The database name is case insensitive and cannot be left unspecified.
  • It cannot exceed 128 characters.
+

Username

+

Database owner.

+

Tables

+

Number of tables in the database.

+

Description

+

Description of the database specified during database creation. If no description is provided, -- is displayed.

+

Enterprise Project

+

Enterprise project to which the database belongs. An enterprise project facilitates project-level management and grouping of cloud resources and users.

+

For details about how to set enterprise projects, see .

+

Operation

+
  • Permissions: View the permission information and perform user authorization, permission settings, and user permission revocation.
  • Tables: View the tables in the corresponding database. For details, see Table Management Page.
  • Create Table: This permission allows you to create a table in the corresponding database.
  • Drop Database: This permission allows you to delete the selected database.
  • Modify Database. This permission allows you to change the owner of the database. The username must exist under the same account.
+
+
+
+

Table Management Page

From the Data Management page, click the database name or Tables in the Operation column to switch to the Table Management page.

+

The displayed page lists all tables created in the current database. You can view the table type, data storage location, and other information. Tables are listed in chronological order by default, with the most recently created tables displayed at the top.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Table management parameters

Parameter

+

Description

+

Table Name

+
  • The table name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_).
  • The table name is case insensitive and cannot be left unspecified.
  • The table name can contain the dollar sign ($). An example value is $test.
  • It cannot exceed 128 characters.
+

Table Type

+

Table type. Available options are as follows:

+
  • Managed: Indicates that data is stored in a DLI table.
  • External: Indicates that data is stored in an OBS table.
  • View: Indicates the view type. You can only create views using SQL statements.
    NOTE:

    The table or view information contained in the view cannot be modified. If the table or view information is modified, the query may fail.

    +
    +
+

Owner

+

User who creates the table.

+

Storage Location

+

DLI, OBS, View, CloudTable, and CSS data location

+

Size

+

Size of the data in the table. The value is displayed only for tables of the Managed type. For tables of other types, -- is displayed.

+

Data Source Path

+
  • If Data Location is OBS, the corresponding OBS path is displayed.
  • If Data Location is DLI and View, -- is displayed.
  • When the data storage location is a datasource connection service such as CloudTable and CSS, the corresponding URL is displayed.
+

Created

+

Time when the table is created.

+

Last Accessed

+

Last time when an operation was performed on the table.

+

Operation

+
  • Manage Permissions: This operation allows you to view the permission information and perform user authorization, permission settings, and user permission revocation.
  • More:
    • Delete: Delete a table from the corresponding database.
    • Modify Owner: Change the owner of a table The username must exist under the same account.
    • Import: Import data stored in an OBS bucket to a DLI or OBS table.
    • Export: Export data from a DLI table to an OBS bucket.
    • Properties: View data in Metadata and Preview tabs.
    +
+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0253.html b/docs/dli/umn/dli_01_0253.html new file mode 100644 index 00000000..22dbcbce --- /dev/null +++ b/docs/dli/umn/dli_01_0253.html @@ -0,0 +1,134 @@ + + +

Importing Data to the Table

+

You can import data from OBS to a table created in DLI.

+

Precautions

  • Only one path can be specified during data import. The path cannot contain commas (,).
  • To import data in CSV format to a partitioned table, place the column to be partitioned in the last column of the data source.
  • You are advised not to concurrently import data in to a table. If you concurrently import data into a table, there is a possibility that conflicts occur, leading to failed data import.
  • The imported file can be in CSV, Parquet, ORC, JSON, and Avro format. The encoding format must be UTF-8.
+
+

Prerequisites

The data to be imported has been stored on OBS.

+
+

Procedure

  1. You can import data on either the Data Management page or the SQL Editor page.

    • To import data on the Data Management page:
      1. On the left of the management console, choose Data Management > Databases and Tables.
      2. Click the name of the database corresponding to the table where data is to be imported to switch to the table management page.
      3. Locate the row where the target table resides and choose More > Import in the Operation column. The Import dialog box is displayed.

        +
      +
    • To import data on the SQL Editor page:
      1. On the left of the management console, click SQL Editor.
      2. In the navigation tree on the left of SQL Editor, click Databases to see all databases. Click the database where the target table belongs. The table list is displayed.
      3. Click on the right of the table and choose Import from the shortcut menu. The Import page is displayed.

        +
      +
    +

  2. In the Import dialog box, set the parameters based on Table 1.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 Description

    Parameter

    +

    Description

    +

    Example

    +

    Databases

    +

    Database where the current table is located.

    +

    -

    +

    Table Name

    +

    Name of the current table.

    +

    -

    +

    Queues

    +

    Queue where the imported data will be used

    +

    -

    +

    File Format

    +

    Format of the data source file to be imported. The CSV, Parquet, ORC, JSON, and Avro formats are supported. Encoding format. Only UTF-8 is supported.

    +

    CSV

    +

    Path

    +

    You can directly enter a path or click and select an OBS path. If no bucket is available, you can directly switch to the OBS management console and create an OBS bucket.

    +
    • When creating an OBS table, you must specify a folder as the directory. If a file is specified, data import may be failed.
    • If a folder and a file have the same name in the OBS directory, the file path is preferred as the path of the data to be imported.
    +
    NOTE:

    The path can be a file or folder.

    +
    +

    obs://DLI/sampledata.csv

    +

    Table Header: No/Yes

    +

    This parameter is valid only when File Format is set to CSV. Whether the data source to be imported contains the table header.

    +

    Click Advanced Settings and select the check box next to Table Header: No. If the check box is selected, the table header is displayed. If the check box is deselected, no table header is displayed.

    +

    -

    +

    User-defined Delimiter

    +

    This parameter is valid only when File Format is set to CSV and you select User-defined Delimiter.

    +

    The following delimiters are supported:

    +
    • Comma (,)
    • Vertical bar (|)
    • Tab character (\t)
    • Others: Enter a user-defined delimiter.
    +

    Default value: comma (,)

    +

    User-defined Quotation Character

    +

    This parameter is valid only when File Format is set to CSV and User-defined Quotation Character is selected.

    +

    The following quotation characters are supported:

    +
    • Single quotation mark (')
    • Double quotation marks (")
    • Others: Enter a user-defined quotation character.
    +

    Default value: double quotation marks (")

    +

    User-defined Escape Character

    +

    This parameter is valid only when File Format is set to CSV and you select User-defined Escape Character.

    +

    The following escape characters are supported:

    +
    • Backslash (\)
    • Others: Enter a user-defined escape character.
    +

    Default value: backslash (\)

    +

    Date Format

    +

    This parameter is valid only when File Format is set to CSV or JSON.

    +

    This parameter specifies the format of the date in the table and is valid only Advanced Settings is selected. The default value is yyyy-MM-dd.

    +

    2000-01-01

    +

    Timestamp Format

    +

    This parameter is valid only when File Format is set to CSV or JSON.

    +

    This parameter specifies the format of the timestamp in the table and is valid only Advanced Settings is selected. The default value is yyyy-MM-dd HH:mm:ss. For definition of characters involved in the time pattern, see Table 3 in the

    +

    2000-01-01 09:00:00

    +

    Error Records Path

    +

    This parameter is valid only when File Format is set to CSV or JSON.

    +

    The parameter specifies the error data is stored in the corresponding OBS path and is valid only Advanced Settings is selected.

    +

    obs://DLI/

    +
    +
    +

  3. Click OK.
  4. You can view the imported data in either of the following ways:

    Currently, only the first 10 records are displayed.

    +
    +
    • Choose Data Management > Databases and Tables in the navigation pane of the console. Locate the row that contains the database where the target table belongs and click More > View Properties in the Operation column. In the displayed dialog box, click the Preview tab to view the imported data.
    • In the Databases tab of the SQL Editor, click the database name to go to the table list. Click on the right of a table name and choose View Properties from the shortcut menu. In the displayed dialog box, click Preview to view the imported data.
    +

  5. (Optional) View the status and execution result of the importing job on the Job Management > SQL Jobs page.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0320.html b/docs/dli/umn/dli_01_0320.html new file mode 100644 index 00000000..06da4b31 --- /dev/null +++ b/docs/dli/umn/dli_01_0320.html @@ -0,0 +1,296 @@ + + +

SQL Editor

+

You can use SQL statements in the SQL job editor to execute data query. DLI supports SQL 2003 and complies with Spark SQL.

+

On the Overview page, click SQL Editor in the navigation pane on the left or Create Job in the upper right corner of the SQL Jobs pane. The SQL Editor page is displayed.

+

A message is displayed, indicating that a temporary DLI data bucket will be created. The created bucket is used to store temporary data generated by DLI, such as job logs. You cannot view job logs if you choose not to create it. You can to periodically delete objects in a bucket or transit objects between different storage classes. The bucket name is set by default.

+

If you do not need to create a DLI temporary data bucket and do not want to view this message, select Do not show again and click Cancel.

+

The SQL Editor page is composed of the following parts:

+

Navigation pane

The navigation pane on the left consists of Databases, Queues, and Templates tabs. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Navigation pane buttons

No.

+

Tab/Button

+

Name

+

Description

+

1

+

+

Databases

+

Displays all the existing databases and tables in these databases.

+
  • Click a database name to view the tables in the database.
  • Click a table name to view the metadata in the table. A maximum of 20 metadata records can be displayed.
  • After you double-click a table name, a SQL query statement is automatically entered in the editing window.
+

2

+

+

Queues

+

Displays existing queues.

+

3

+

+

Templates

+

Click the drop-down button to view 22 built-in standard TPC-H query templates and custom templates.

+

4

+

+

Create

+

Click the button on the related page to create a queue, database, or table. For details, see Creating a Queue and Creating a Database or a Table.

+

5

+

+

Refresh

+

Click the button to refresh the existing queue, database, and table lists.

+

6

+

+

Search

+

Enter a keyword to search for a database and table.

+
+
+
+
+

SQL Editing Window

The SQL job editing window is displayed in the upper right corner. The following describes the components of the window. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Components of the SQL job editing window

No.

+

Button

+

Description

+

2

+

Queues

+

Select a queue from the drop-down list box. If no queue is available, the default queue is displayed. Refer to Creating a Queue and create a queue.

+

SQL jobs can be executed only on SQL queues.

+

3

+

Database

+

Select a database from the drop-down list box. If no database is available, the default database is displayed. For details about how to create a database, see section Creating a Database or a Table.

+
NOTE:

If you specify the database in the SQL statements, the database you choose from the drop-down list will not be used.

+
+

4

+

Execute

+

Click this button to run the SQL statements in the job editing window.

+

5

+

Format

+

Click this button to format the SQL statements.

+

6

+

Syntax Reference

+

Click this button to view the Data Lake Insight SQL Syntax Reference.

+

7

+

Settings

+

Add parameters and tags.

+

Parameter Settings: Set parameters in key/value format for SQL jobs.

+

Tags: Set tags in key/value format for SQL jobs.

+

8

+

More

+

The drop-down list includes the following options:

+
  • Click Verify Syntax to check whether the SQL statements are correct.
  • Click Set as Template to set SQL statements as a template. For details, see SQL Template Management.
  • Click Change Theme to switch between dark and light modes.
+

9

+

SQL statement editing area

+

Area for you to write and edit SQL statements.

+

10

+

Cursor position

+

The line and column where the cursor is in the job editing area.

+

11

+

Shortcuts

+

For details, see Table 3.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
Table 3 Keyboard shortcut description

Shortcut

+

Description

+

Ctrl+Enter

+

Execute SQL statements. You can run SQL statements by pressing Ctrl+R or Ctrl + Enter on the keyboard.

+

Ctrl+F

+

Search for SQL statements. You can press Ctrl+F to search for a required SQL statement.

+

Shift+Alt+F

+

Format SQL statements. You can press Shift + Alt + F to format a SQL statement.

+

Ctrl+Q

+

Syntax verification. You can press Ctrl + Q to verify the syntax of SQL statements.

+

F11

+

Full screen. You can press F11 to display the SQL Job Editor window in full screen. Press F11 again to leave the full screen.

+
+
+
+
+

Execution Queries and View Result

The Executed Queries (Last Day) and View Result tab pages are displayed in the lower part of the page.

+
  • Executed Queries +
    + + + + + + + +
    Table 4 Area description

    Area

    +

    Description

    +

    Executed Queries (Last Day)

    +
    Displays the latest daily information about the submitted jobs.
    • Queues: Queue name
    • Username: User who executes the SQL statements
    • Type: Type of the SQL job
    • Status: Execution status of the SQL job
    • Query
    • Created
    • Operation
      • Edit: Edit the SQL statement.
      • SparkUI: Switch to the SparkUI page to view the SQL statement execution process.
        NOTE:

        When you execute a job on a created queue, the cluster is restarted. It takes about 10 minutes. If you click SparkUI before the cluster is created, an empty projectID will be cached. The SparkUI page cannot be displayed. You are advised to use a dedicated queue so that the cluster will not be released. Alternatively, wait for a while after the job is submitted (the cluster is created), and then check SparkUI.

        +

        Currently, only the latest 100 job information records are displayed on the SparkUI of DLI.

        +

        This function is not supported for synchronization jobs and jobs running on the default queue.

        +
        +
      • More: The following operations vary depending on the SQL job types and running status.

        Cancel: Cancel a SQL job that is running or being submitted.

        +

        Re-execute: Execute the SQL statement again.

        +

        View Result: View the execution result of a QUERY job.

        +

        Export Result: Export the execution results of a QUERY job to a specified OBS path.

        +

        View Log: View the OBS path for storing SQL statement execution logs.

        +

        Export Log: Export SQL statement execution logs.

        +
        NOTE:

        To export the logs, you need to obtain the permission to create an OBS bucket.

        +

        View Log and Export Log buttons are not available for synchronization jobs and jobs running on the default queue.

        +
        +
      +
    +
    +
    +
    +

    You can filter the execution history in the following ways:

    +
    • In the search box in the upper right corner of the Executed Queries (Last Day) pane, select a queue name or enter an execution statement in the search box.
    • In the list, click the icon next to Created and choose Ascending or Descending.
    • Select a job status from the Status list.
    +
+
+
  • View Result +
    + + + + + + + + + + + + + + + + + +
    Table 5 Function description

    No.

    +

    Button

    +

    Description

    +

    1

    +

    Clear All

    +

    Clear the displayed SQL statement query results.

    +

    2

    +

    +

    Display the query result in a graph or table.

    +

    3

    +

    +

    Exports the query result to OBS. For details, see Exporting Query Results.

    +

    A maximum of 1000 records can be displayed in the query result on the console. To view more or all data, you can click Export Result to export the data to OBS.

    +
    +
    +
+

SQL Query Procedure

  1. Log in to the Data Lake Insight management console, choose Job Management > SQL Jobs. In the displayed page, click Create Job to go to the SQL Editor page.
  2. After you enter the SQL Editor page, the system prompts you to create a temporary OBS bucket to store temporary data generated by DLI, such as job logs. You cannot view job logs if you choose not to create it. Click OK. The system displays a message indicating that the temporary bucket is created successfully.
  3. Select a queue from the queue list in the upper left corner of the SQL job editing window. For details about how to create a queue, see Creating a Queue.
  4. In the upper right corner of the SQL job editing window, select a database, for example, qw, from the Databases drop-down list.
  5. Create a table, for example, qw. For details about how to create a database and table, see Creating a Database or a Table.
  6. In the SQL job editing window, enter the following SQL statement:
    1
    SELECT * FROM qw.qw LIMIT 10;
    +
    + +
    +

    Alternatively, you can double-click the table name qw. The query statement is automatically entered in the SQL job editing window.

    +
  7. On top of the editing window, click More > Verify Syntax to check whether the SQL statement is correct.
    1. If the verification fails, check the SQL statement syntax by referring to Data Lake Insight SQL Syntax Reference.
    2. If the syntax verification is successful, click Execute. Read and agree to the privacy agreement. Click OK to execute the SQL statement.
    3. After the execution is complete, you can view the execution result in the area under the SQL job editing window.
    +
  8. (Optional) A maximum of 1000 records can be displayed in the query result on the current console. To view more or all data, click to export the data to OBS.

    +
  9. (Optional) In the View Result tab page, click in the upper right corner to display the result in a graph. Click to display the query result in a table.

    +
    • If no column of the numeric type is displayed in the execution result, the result cannot be represented in charts.
    • You can view the data in a bar chart, line chart, or fan chart.
    • In the bar chart and line chart, the X axis can be any column, while the Y axis can only be columns of the numeric type. The fan chart displays the corresponding legends and indicators.
    +
    +
+
+

Operation Skills in the Job Editing Window

  • A simple method for importing SQL statements in the SQL job editing window:
    • Double-click a table name in the navigation pane on the left to import the query statement of the selected table into the SQL statement editing window, and then click Execute to query.
    • You can click More and choose Save as Template to save the SQL statement as a template for future use.

      To use the SQL statement template, click Templates from the left pane of the SQL editor page. Double-click the required template in the template list, and click Execute or modify it as required before executing the SQL statements.

      +

      +
    • SQL statements can be executed in batches.
    +
  • Features of the job editing window
    The job editing window has the following three features:
    • Highlighting: Statement keywords are highlighted.
    • Comment support: You can write comments in a single line or multiple lines. In each line, the comments follow two consecutive hyphens (--).
    • Cursor location display: After you click in a line in the job editing window, the location of your cursor in the job editing window, including the column number and line number, will be automatically displayed in the lower left corner of the window.
    +
    +
+
+
+
+ diff --git a/docs/dli/umn/dli_01_0363.html b/docs/dli/umn/dli_01_0363.html new file mode 100644 index 00000000..58e280bc --- /dev/null +++ b/docs/dli/umn/dli_01_0363.html @@ -0,0 +1,66 @@ + + +

Creating a Queue

+

Before executing a job, you need to create a queue.

+
  • If you use a sub-account to create a queue for the first time, log in to the DLI management console using the main account and keep records in the DLI database before creating a queue.
  • It takes 6 to 10 minutes for a job running on a new queue for the first time.
  • After a queue is created, if no job is run within one hour, the system releases the queue.
+
+

Procedure

  1. You can create a queue on the Overview, SQL Editor, or Queue Management page.
    • In the upper right corner of the Overview page, click Create Queue.
    • To create a queue on the Queue Management page:
      1. In the navigation pane of the DLI management console, choose Resources >Queue Management.
      2. In the upper right corner of the Queue Management page, click Create Queue to create a queue.
      +
    • To create a queue on the SQL Editor page:
      1. In the navigation pane of the DLI management console, click SQL Editor.
      2. On the left pane of the displayed SQL Editor page, click to the right of Queues.
      +
    +
  2. In the displayed Create Queue dialog box, set related parameters by referring to Table 1.
    +
    + + + + + + + + + + + + + + + + + + + +
    Table 1 Parameters

    Parameter

    +

    Description

    +

    Name

    +

    Name of a queue.

    +
    • The queue name can contain only digits, letters, and underscores (_), but cannot contain only digits, start with an underscore (_), or be left unspecified.
    • The length of the name cannot exceed 128 characters.
    +
    NOTE:

    The queue name is case-insensitive. Uppercase letters will be automatically converted to lowercase letters.

    +
    +

    Type

    +
    • For SQL: compute resources used for SQL jobs.
    • For general purpose: compute resources used for Spark and Flink jobs.
      NOTE:

      In Dedicated Resource Mode, you can create enhanced datasource connections.

      +
      +
    +

    Specifications

    +

    Select queue specifications as required. A CU includes one core and 4 GB memory. You can set the total number of CUs on all compute nodes of a queue. DLI automatically allocates the memory and vCPUs for each node.

    +
    • Fixed specifications include 16 CUs, 64 CUs, 256 CUs, and 512 CUs.
    • Custom: Set the specifications as required.
    +

    Description

    +

    Description of the queue to be created. The length of the queue name cannot exceed 256 characters.

    +

    Advanced Settings

    +
    In the Queue Type area, select Dedicated Resource Mode and then click Advanced Settings.
    • Default: The system automatically configures the parameter.
    • Custom

      CIDR Block: You can specify the CIDR block. For details, see Modifying the Queue CIDR Block. If DLI enhanced datasource connection is used, the CIDR block of the DLI queue cannot overlap with that of the data source.

      +

      Queue Type: When running an AI-related SQL job, select AI-enhanced. When running other jobs, select Basic.

      +
    +
    +
    +
    +
    +
  3. Click Create Now to create a queue.

    After a queue is created, you can view and select the queue for use on the Queue Management page.

    +

    It takes 6 to 10 minutes for a job running on a new queue for the first time.

    +
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0366.html b/docs/dli/umn/dli_01_0366.html new file mode 100644 index 00000000..1352042b --- /dev/null +++ b/docs/dli/umn/dli_01_0366.html @@ -0,0 +1,25 @@ + + +

Package Management

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_01_0367.html b/docs/dli/umn/dli_01_0367.html new file mode 100644 index 00000000..ba124d42 --- /dev/null +++ b/docs/dli/umn/dli_01_0367.html @@ -0,0 +1,54 @@ + + +

Creating a Package

+

DLI allows you to submit program packages in batches to the general-use queue for running.

+

If you need to update a package, you can use the same package or file to upload it to the same location (in the same group) on DLI to overwrite the original package or file.

+
+

Prerequisites

All software packages must be uploaded to OBS for storage in advance.

+
+

Procedure

  1. On the left of the management console, choose Data Management > Package Management.
  2. On the Package Management page, click Create in the upper right corner to create a package.
  3. In the displayed Create Package dialog box, set related parameters by referring to Table 1. +
    + + + + + + + + + + + + + + + + +
    Table 1 Parameter description

    Parameter

    +

    Description

    +

    Package Type

    +

    The following package types are supported:

    +
    • JAR: JAR file
    • PyFile: User Python file
    • File: User file
    +

    Package File Path

    +

    Select the OBS path of the corresponding packages.

    +
    NOTE:
    • The packages must be uploaded to OBS for storage in advance.
    • Only files can be selected.
    +
    +

    Group Policy

    +

    You can select Use existing group, Use new group, or No grouping.

    +

    Group Name

    +
    • Use existing group: Select an existing group.
    • Use new group: Enter a custom group name.
    • No grouping: No need to select or enter a group name.
    +
    NOTE:
    • If you select a group, the permission management refers to the permissions of the corresponding package group.
    • If no group is selected, the permission management refers to the permissions of the corresponding package.
    +

    For details about how to manage permissions on package groups and packages, see Managing Permissions on Packages and Package Groups.

    +
    +
    +
    +
  4. Click OK.

    After a package is created, you can view and select the package for use on the Package Management page.

    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0369.html b/docs/dli/umn/dli_01_0369.html new file mode 100644 index 00000000..3c5dbe60 --- /dev/null +++ b/docs/dli/umn/dli_01_0369.html @@ -0,0 +1,13 @@ + + +

Deleting a Package

+

You can delete a package based on actual conditions.

+

Procedure

  1. On the left of the management console, choose Data Management > Package Management.
  2. Click Delete in the Operation column of the package to be deleted.
  3. In the dialog box that is displayed, click Yes.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0375.html b/docs/dli/umn/dli_01_0375.html new file mode 100644 index 00000000..07f02728 --- /dev/null +++ b/docs/dli/umn/dli_01_0375.html @@ -0,0 +1,52 @@ + + +

Creating and Submitting a Spark Jar Job

+

You can use DLI to submit Spark jobs for real-time computing. The general procedure is as follows:

+

Step 1: Logging in to the Cloud

+

Step 2: Uploading Data to OBS

+

Step 3: Logging In to the DLI Management Console

+

Step 4: Creating a Queue

+

Step 5: Creating a Package

+

Step 6: Submitting a Spark Job

+

Step 1: Logging in to the Cloud

To use DLI, you need to log in to the cloud.

+
+
  1. Open the DLI home page.
  2. On the login page, enter the username and password, and click Log In.
+

Step 2: Uploading Data to OBS

Write a Spark Jar job program , and compile and package it as spark-examples.jar. Perform the following steps to submit the job:

+

Before submitting Spark Jar jobs, upload data files to OBS.

+
  1. In the services displayed, click Object Storage Service (OBS) in Storage.
  2. The OBS console page is displayed.
  3. Create a bucket. The bucket name must be globally unique. In this example, assume that the bucket name is dli-test-obs01.
    1. Click Create Bucket.
    2. On the displayed Create Bucket page, enter the Bucket Name. Retain the default values for other parameters or set them as required.
    3. Click Create Now.
    +
  4. Click dli-test-obs01 to switch to the Overview page.
  5. From the left navigation tree, click Objects. Click Upload Object. In the displayed dialog box, drag files or folders to upload or add file to the file upload box, for example, spark-examples.jar. Then, click Upload.

    After the file is uploaded successfully, the file path is obs://dli-test-obs01/spark-examples.jar.

    +

    For more information about OBS operations, see the Object Storage Service Console Operation Guide.

    +

    For more information about the tool, see the OBS Tool Guide.

    +

    You are advised to use an OBS tool, such as OBS Browser+, to upload large files because OBS Console has restrictions on the file size and quantity.

    +
    • OBS Browser+ is a graphical tool that provides complete functions for managing your buckets and objects in OBS. You are advised to use this tool to create buckets or upload objects.
    +
    +
+
+

Step 3: Logging In to the DLI Management Console

To submit Spark jobs, you need to enter the Spark job creation page first.

+
  1. In the list, choose .
  2. The DLI management console page is displayed.

    If you log in to the DLI management console for the first time, you need to be authorized to access OBS. For details, see "Service Authorization".

    +
    +
+
+

Step 4: Creating a Queue

If you submit a Spark job for the first time, you need to create a queue first. For example, create a queue named sparktest and set Queue Type to General Queue.

+
  1. In the navigation pane of the DLI management console, choose Queue Management.
  2. In the upper right corner of the Queue Management page, click Create Queue to create a queue.
  3. Create a queue, name it sparktest, and set the queue usage to for general purpose. For details, see Creating a Queue.

    +
  4. Click Create Now to create a queue.
+
+

Step 5: Creating a Package

Before submitting a Spark job, you need to create a package, for example, spark-examples.jar.

+
  1. In the navigation pane on the left of the DLI console, choose Data Management > Package Management.
  2. On the Package Management page, click Create in the upper right corner to create a package.
  3. In the Create Package dialog box, set Type to JAR, OBS Path to the path of the spark-examples.jar package in Step 2: Uploading Data to OBS, and Group to Do not use.

    +
  4. Click OK.

    You can view and select the package on the Package Management page.

    +
+

For details about how to create a package, see "Creating a Package".

+
+

Step 6: Submitting a Spark Job

  1. On the DLI management console, choose Job Management > Spark Jobs in the navigation pane on the left. On the displayed page, click Create Job.
  2. On the Spark job editing page, set Queues to the queue created in Step 4: Creating a Queue and Application to the package created in Step 5: Creating a Package.

    For details about other parameters, see the description of the Spark job editing page in "Creating a Spark Job".

    +
  3. Click Execute in the upper right corner of the Spark job editing window, read and agree to the privacy agreement, and click OK. Submit the job. A message is displayed, indicating that the job is submitted.

    +
  4. (Optional) Switch to the Job Management > Spark Jobs page to view the status and logs of the submitted Spark job.

    When you click Execute on the DLI management console for the first time, you need to read the privacy agreement. Once agreed to the agreement, you will not receive any privacy agreement messages for subsequent operations.

    +
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0376.html b/docs/dli/umn/dli_01_0376.html new file mode 100644 index 00000000..1632ded9 --- /dev/null +++ b/docs/dli/umn/dli_01_0376.html @@ -0,0 +1,18 @@ + + +

Modifying the Owners of Databases and Tables

+

During actual use, developers create databases and tables and submit them to test personnel for testing. After the test is complete, the databases and tables are transferred to O&M personnel for user experience. In this case, you can change the owner of the databases and tables to transfer data to other owners.

+

Modifying the Database Owner

You can change the owner of a database on either the Data Management page or the SQL Editor page.
  • On the Data Management page, change the database owner.
    1. On the left of the management console, choose Data Management > Databases and Tables.
    2. On the Databases and Tables page, locate the database you want and click More > Modify Database in the Operation column.
    3. In the displayed dialog box, enter a new owner name (an existing username) and click OK.
    +
  • Change the database owner on the SQL Editor page.
    1. On the left of the management console, click SQL Editor.
    2. In the navigation tree on the left, click Databases, click on the right of the database you want to modify, and choose Modify Database from the shortcut menu.
    3. In the displayed dialog box, enter a new owner name (an existing username) and click OK.
    +
+
+
+

Modifying the Table Owner

  1. On the left of the management console, choose Data Management > Databases and Tables.
  2. Click the name of the database corresponding to the table to be modified. The Manage Tables page of the database is displayed.
  3. In the Operation column of the target table, choose More > Modify Owner.
  4. In the displayed dialog box, enter a new owner name (an existing username) and click OK.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0377.html b/docs/dli/umn/dli_01_0377.html new file mode 100644 index 00000000..b92ff84b --- /dev/null +++ b/docs/dli/umn/dli_01_0377.html @@ -0,0 +1,91 @@ + + +

DLI Console Overview

+

Overview

Log in to DLI and go to the Overview page.

+

The following table describes the functional areas of the Overview page.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Areas

No.

+

Area

+

Description

+

1

+

Navigation pane

+

The navigation bar on the DLI management console, including Overview, SQL Editor, Job Management, Queue Management, Data Management, Job Templates, Datasource Connections, and Global Configuration.

+

2

+

DLI introduction

+

Data Lake Insight (DLI) is a fully hosted big data processing and analysis service. It frees you from managing any server. DLI supports standard SQL and is compatible with Spark and Flink SQL. It also supports multiple access modes, and is compatible with mainstream data formats.

+

3

+

Upper right corner

+

Click Create Queue to create a queue.

+

4

+

SQL job introduction

+

Click Create Job in this area to access the SQL Editor page. For details about how to create a package, see SQL Editor.

+

5

+

Flink job introduction

+

Click Create Job in this area to go to the Flink Jobs page. For details about how to create a package, see Flink Job Management.

+

6

+

Spark job introduction

+

Click Create Job in this area to access the Spark Jobs page. For details about how to create a Spark job, see Creating a Spark Job.

+

8

+

Queue usage (hours)

+

This area displays the usage of all queues of the last day, week, or month.

+

9

+

Selected queue usage (hours)

+

This area displays the usage of a queue in the last week or month.

+

10

+

Common links

+

Including:

+
  • User Guide
  • API Reference
  • SDK Download
+

11

+

Get started in four simple steps

+
  1. Create a queue
  2. Preparing data
  3. Editing and submitting a job
  4. Viewing job status
+
+
+
+
+ diff --git a/docs/dli/umn/dli_01_0378.html b/docs/dli/umn/dli_01_0378.html new file mode 100644 index 00000000..5b2a5346 --- /dev/null +++ b/docs/dli/umn/dli_01_0378.html @@ -0,0 +1,35 @@ + + +

DLI Introduction

+

What Is Data Lake Insight?

Data Lake Insight (DLI) is a serverless data processing and analysis service fully compatible with Apache Spark and Apache Flink ecosystems. It frees you from managing any server.

+

DLI supports standard SQL and is compatible with Spark SQL and Flink SQL. It also supports multiple access modes, and is compatible with mainstream data formats. DLI supports SQL statements and Spark applications for heterogeneous data sources, including CloudTable, RDS, GaussDB(DWS), CSS, OBS, custom databases on ECSs, and offline databases.

+
+

Function Description

You can query and analyze heterogeneous data sources such as RDS, and DWS on the cloud using access methods, such as visualized interface, RESTful API, JDBC, ODBC, and Beeline. The data format is compatible with five mainstream data formats: CSV, JSON, Parquet, and ORC.

+
  • Basic functions
    • You can use standard SQL statements to query in SQL jobs.
    • Flink jobs support Flink SQL online analysis. Aggregation functions such as Window and Join, geographic functions, and CEP functions are supported. SQL is used to express service logic, facilitating service implementation. For details, see .
    • For spark jobs, fully-managed Spark computing can be performed. You can submit computing tasks through interactive sessions or in batch to analyze data in the fully managed Spark queues. For details, see .
    +
  • Federated analysis of heterogeneous data sources
    • Spark datasource connection: Data sources such as DWS, RDS, and CSS can be accessed through DLI. For details, see .
    • Interconnection with multiple cloud services is supported in Flink jobs to form a rich stream ecosystem. The DLI stream ecosystem consists of cloud service ecosystems and open source ecosystems.
      • Cloud service ecosystem: DLI can interconnect with other services in Flink SQL. You can directly use SQL to read and write data from cloud services.
      • Open-source ecosystems: After connections to other VPCs are established through datasource connections, you can access all data sources and output targets (such as Kafka, HBase, and Elasticsearch) supported by Flink and Spark in your exclusive DLI queue.
      +

      For details, see .

      +
    +
  • Storage-compute decoupling

    DLI is interconnected with OBS for data analysis. In this architecture where storage and compute are decoupled, resources of these two types are charged separately, helping you reduce costs and improving resource utilization.

    +

    You can choose single-AZ or multi-AZ storage when you create an OBS bucket for storing redundant data on the DLI console. The differences between the two storage policies are as follows:

    +
    • Multi-AZ storage means data is stored in multiple AZs, improving data reliability. If the multi-AZ storage is enabled for a bucket, data is stored in multiple AZs in the same region. If one AZ becomes unavailable, data can still be properly accessed from the other AZs. The multi-AZ storage is ideal for scenarios that demand high reliability. You are advised to use this policy.
    • Single-AZ storage means that data is stored in a single AZ, with lower costs.
    +
+
+

DLI Core Engine: Spark+Flink

  • Spark is a unified analysis engine that is ideal for large-scale data processing. It focuses on query, compute, and analysis. DLI optimizes performance and reconstructs services based on open-source Spark. It is compatible with the Apache Spark ecosystem and interfaces, and improves performance by 2.5x when compared with open-source Spark. In this way, DLI enables you to perform query and analysis of EB's of data within hours.
  • Flink is a distributed compute engine that is ideal for batch processing, that is, for processing static data sets and historical data sets. You can also use it for stream processing, that is, processing real-time data streams and generating data results in real time. DLI enhances features and security based on the open-source Flink and provides the Stream SQL feature required for data processing.
+
+

Serverless Architecture

DLI is a serverless big data query and analysis service. It has the following advantages:

+
  • Auto scaling: DLI ensures you always have enough capacity on hand to deal with any traffic spikes.
+
+

Accessing DLI

A web-based service management platform is provided. You can access DLI using the management console or HTTPS-based APIs, or connect to the DLI server through a client such as JDBC or ODBC.

+
  • Using the management console

    You can submit SQL, Spark, or Flink jobs on the DLI management console. Log in to the management console. Choose EI Enterprise Intelligence > Data Lake Insight.

    +
+
  • Using APIs

    If you need to integrate DLI into a third-party system for secondary development, you can call DLI APIs to use the service.

    +

    For details, see Data Lake Insight API Reference.

    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0379.html b/docs/dli/umn/dli_01_0379.html new file mode 100644 index 00000000..ab673752 --- /dev/null +++ b/docs/dli/umn/dli_01_0379.html @@ -0,0 +1,15 @@ + + +

Job Templates

+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0384.html b/docs/dli/umn/dli_01_0384.html new file mode 100644 index 00000000..20181d7d --- /dev/null +++ b/docs/dli/umn/dli_01_0384.html @@ -0,0 +1,261 @@ + + +

Creating a Spark Job

+

DLI provides fully-managed Spark computing services by allowing you to execute Spark jobs.

+

On the Overview page, click Create Job in the upper right corner of the Spark Jobs tab or click Create Job in the upper right corner of the Spark Jobs page. The Spark job editing page is displayed.

+

On the Spark job editing page, a message is displayed, indicating that a temporary DLI data bucket will be created. The created bucket is used to store temporary data generated by DLI, such as job logs and job results. You cannot view job logs if you choose not to create it. The bucket will be created and the default bucket name is used.

+

If you do not need to create a DLI temporary data bucket and do not want to receive this message, select Do not show again and click Cancel.

+

Prerequisites

  • You have uploaded the dependencies to the corresponding OBS bucket on the Data Management > Package Management page. For details, see Creating a Package.
  • Before creating a Spark job to access other external data sources, such as OpenTSDB, HBase, Kafka, DWS, RDS, CSS, CloudTable, DCS Redis, and DDS Mongos, you need to create a cross-source connection to enable the network between the job running queue and external data sources. +
+
+

GUI Description

  • Navigation bar on the left

    On the Spark job creation page, the navigation tree on the left contains the Queues and Packages tab pages.

    +

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 Description of buttons in the left navigation pane

    No.

    +

    Tab/Button

    +

    Tab/Button Name

    +

    Description

    +

    1

    +

    +

    Queues

    +

    Display existing queues.

    +

    2

    +

    +

    Packages

    +

    Display existing packages.

    +

    3

    +

    Templates

    +

    Templates

    +

    Display job templates.

    +

    4

    +

    +

    Create

    +

    Create a queue or a package.

    +

    5

    +

    +

    Refresh

    +

    Refresh the lists of existing queues and packages.

    +

    6

    +

    +

    Search for packages by name.

    +

    On the Packages tab page, enter a package name for search.

    +
    +
    +
+
  • Job editing window

    In the job editing window, you can set parameters in Fill Form mode or Write API mode.

    +

    The following uses the Fill Form as an example. In Write API mode, refer to the Data Lake Insight API Reference for parameter settings.

    +
    • Select a Queue: For details about the parameters, see Table 2. +
      + + + + + + + +
      Table 2 Queue parameters

      Parameter

      +

      Description

      +

      Queues

      +

      Select the target queue from the drop-down list box.

      +
      +
      +
    • Job Configurations: Refer to Table 3 for details. +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Table 3 Job configuration parameters

      Parameter

      +

      Description

      +

      Job Name

      +

      Set a job name.

      +

      Application

      +

      Select the package to be executed. The value can be .jar or .py.

      +

      Main Class

      +

      Enter the name of the main class. When the application type is .jar, the main class name cannot be empty.

      +

      Application Parameters

      +

      User-defined parameters. Separate multiple parameters by Enter.

      +

      These parameters can be replaced by global variables. For example, if you create a global variable batch_num on the Global Configuration > Global Variables page, you can use {{batch_num}} to replace a parameter with this variable after the job is submitted.

      +

      Spark Arguments

      +

      Enter a parameter in the format of key=value. Press Enter to separate multiple key-value pairs.

      +

      These parameters can be replaced by global variables. For example, if you create a global variable custom_class on the Global Configuration > Global Variables page, you can use "spark.sql.catalog"={{custom_class}} to replace a parameter with this variable after the job is submitted.

      +
      NOTE:

      The JVM garbage collection algorithm cannot be customized for Spark jobs.

      +
      +

      Job Type

      +

      Type of the Spark image used by a job. This parameter is mandatory when you select a CCE queue. The values are as follows:

      +
      • Basic: Basic images provided by DLI. Select this option for non-AI jobs.
      • AI-enhanced: AI images provided by DLI. Select this option for AI jobs.
      • Image: Custom Spark images. Select an existing image name and version on SWR.
      +

      JAR Package Dependencies

      +

      JAR file on which the Spark job depends. You can enter the JAR package name or the corresponding OBS path. The format is as follows: obs://Bucket name/Folder name/Package name.

      +

      Python File Dependencies

      +

      py-files on which the Spark job depends. You can enter the Python file name or the corresponding OBS path of the Python file. The format is as follows: obs://Bucket name/Folder name/File name.

      +

      Other Dependencies

      +

      Other files on which the Spark job depends. You can enter the name of the dependency file or the corresponding OBS path of the dependency file. The format is as follows: obs://Bucket name/Folder name/File name.

      +

      Group Name

      +

      If you select a group when creating a package, you can select all the packages and files in the group. For details about how to create a package, see Creating a Package.

      +

      Access Metadata

      +

      Whether to access metadata through Spark jobs. .

      +

      Retry upon Failure

      +

      Indicates whether to retry a failed job.

      +

      If you select Yes, you need to set the following parameters:

      +

      Maximum Retries: Maximum number of retry times. The maximum value is 100.

      +

      Advanced Settings

      +
      • Skip
      • Configure
        • Select Dependency Resources: For details about the parameters, see Table 4.
        • Configure Resources: For details about the parameters, see Table 5.
        +
      +
      +
      + +
      + + + + + + + + + + +
      Table 4 Parameters for selecting dependency resources

      Parameter

      +

      Description

      +

      Module Name

      +
      Dependency modules provided by DLI for executing datasource connection jobs. To access different services, you need to select different modules.
      • MRS HBase: sys.datasource.hbase
      • DDS: sys.datasource.mongo
      • MRS OpenTSDB: sys.datasource.opentsdb
      • DWS: sys.datasource.dws
      • RDS MySQL: sys.datasource.rds
      • RDS PostGre: sys.datasource.rds
      • DCS: sys.datasource.redis
      • CSS: sys.datasource.css
      +
      +

      Resource Package

      +

      JAR package on which the Spark job depends.

      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + + + + +
      Table 5 Resource specification parameters

      Parameter

      +

      Description

      +

      Resource Specifications

      +

      Select a resource specification from the drop-down list box. The system provides three resource specifications for you to select. The following configuration items in the resource specifications can be modified:

      +
      • Executor Memory
      • Executor Cores
      • Executors
      • Driver Cores
      • Driver Memory
      +

      If modified, your modified settings of the items are used.

      +

      Executor Memory

      +

      Customize the configuration item based on the selected resource specifications.

      +

      Executor Cores

      +

      Customize the configuration item based on the selected resource specifications.

      +

      Executors

      +

      Customize the configuration item based on the selected resource specifications.

      +

      Driver Cores

      +

      Customize the configuration item based on the selected resource specifications.

      +

      Driver Memory

      +

      Customize the configuration item based on the selected resource specifications.

      +
      +
      +

      Spark job parameter calculation:

      +
      • Number of CUs = Number of driver CPU cores + Number of executors x Number of executor CPU cores

        The cluster management plane and driver use some CU resources. Number of Executors * Number of Executor Cores must be smaller than the number of computing CUs of the queue.

        +
      • Memory = Driver memory + (Number of Executors x Executor memory)
      +
      +
    +
+
+

Creating a Spark Job

  1. In the Spark job editing window, set related parameters. For details, see the description of the Spark job editing window.
  2. Click Execute in the upper right corner of the Spark job editing window to submit the job. The message "The batch job is submitted." is displayed.
  3. (Optional) Go to the Spark Jobs page to view the status and logs of the submitted Spark job.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0385.html b/docs/dli/umn/dli_01_0385.html new file mode 100644 index 00000000..265cabc1 --- /dev/null +++ b/docs/dli/umn/dli_01_0385.html @@ -0,0 +1,80 @@ + + +

Spark Job Management

+

Based on the open-source Spark, DLI optimizes performance and reconstructs services to be compatible with the Apache Spark ecosystem and interfaces, and executes batch processing tasks.

+

DLI also allows you to use Spark jobs to access DLI metadata.

+

Spark job management provides the following functions:

+ +

In addition, you can click Quick Links to switch to the details on User Guide.

+

Spark Jobs Page

On the Overview page, click Spark Jobs to go to the SQL job management page. Alternatively, you can click Job Management > Spark Jobs. The page displays all Spark jobs. If there are a large number of jobs, they will be displayed on multiple pages. DLI allows you to view jobs in all statuses.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Job management parameters

Parameter

+

Description

+

Job ID

+

ID of a submitted Spark job, which is generated by the system by default.

+

Name

+

Name of a submitted Spark job.

+

Queues

+

Queue where the submitted Spark job runs

+

Username

+

Name of the user who executed the Spark job

+

Status

+

Job status. The following values are available:

+
  • Starting: The job is being started.
  • Running: The job is being executed.
  • Failed: The session has exited.
  • Finished: The session is successfully executed.
  • Restoring: The job is being restored.
+

Created

+

Time when a job is created. Jobs can be displayed in ascending or descending order of the job creation time.

+

Last Modified

+

Time when a job is completed.

+

Operation

+
  • Edit: You can modify the current job configuration and re-execute the job.
  • SparkUI: After you click this button, the Spark job execution page is displayed.
    NOTE:
    • The SparkUI page cannot be viewed for jobs in the Starting state.
    • Currently, only the latest 100 job information records are displayed on the SparkUI of DLI.
    +
    +
  • Terminate Job: Cancel a job that is being started or running.
  • Re-execute: Run the job again.
  • Archive Log: Save job logs to the temporary bucket created by DLI.
  • Export Log: Export logs to the created OBS bucket.
    NOTE:
    • You have the permission to create OBS buckets.
    • If the job is in the Running state, logs cannot be exported.
    +
    +
  • Commit Log: View the logs of submitted jobs.
  • Driver Log: View the logs of running jobs.
+
+
+
+

Re-executing a Job

On the Spark Jobs page, click Edit in the Operation column of the job. On the Spark job creation page that is displayed, modify parameters as required and execute the job.

+
+

Searching for a Job

On the Spark Jobs page, select Status or Queues. The system displays the jobs that meet the filter condition in the job list.

+
+

Terminating a Job

On the Spark Jobs page, choose More > Terminate Job in the Operation column of the job that you want to stop.

+
+

Exporting Logs

On the Spark Jobs page, choose More > Export Log in the Operation column of the corresponding job. In the dialog box that is displayed, enter the path of the created OBS bucket and click OK.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0389.html b/docs/dli/umn/dli_01_0389.html new file mode 100644 index 00000000..07866ad6 --- /dev/null +++ b/docs/dli/umn/dli_01_0389.html @@ -0,0 +1,31 @@ + + +

Flink Job Management

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_01_0390.html b/docs/dli/umn/dli_01_0390.html new file mode 100644 index 00000000..81f94a67 --- /dev/null +++ b/docs/dli/umn/dli_01_0390.html @@ -0,0 +1,33 @@ + + +

Databases and Tables

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_01_0397.html b/docs/dli/umn/dli_01_0397.html new file mode 100644 index 00000000..1f66abb2 --- /dev/null +++ b/docs/dli/umn/dli_01_0397.html @@ -0,0 +1,18 @@ + + +

Built-in Dependencies

+

DLI built-in dependencies are provided by the platform by default. In case of conflicts, you do not need to upload them when packaging JAR packages of Spark or Flink Jar jobs.

+

Spark 2.3.2 Dependencies

  • accessors-smart-1.2.jar
  • activation-1.1.1.jar
  • aircompressor-0.8.jar
  • alluxio-2.3.1-luxor-SNAPSHOT-client.jar
  • antlr-2.7.7.jar
  • antlr4-runtime-4.8-1.jar
  • antlr-runtime-3.4.jar
  • aopalliance-1.0.jar
  • aopalliance-repackaged-2.4.0-b34.jar
  • apache-log4j-extras-1.2.17.jar
  • arpack_combined_all-0.1.jar
  • arrow-format-0.8.0.jar
  • arrow-memory-0.8.0.jar
  • arrow-vector-0.8.0.jar
  • asm-5.0.4.jar
  • audience-annotations-0.5.0.jar
  • automaton-1.11-8.jar
  • avro-1.7.7.jar
  • avro-ipc-1.7.7.jar
  • avro-ipc-1.7.7-tests.jar
  • avro-mapred-1.7.7-hadoop2.jar
  • java-sdk-bundle-1.11.271.jar
  • base64-2.3.8.jar
  • bcpkix-jdk15on-1.66.jar
  • bcprov-jdk15on-1.66.jar
  • bonecp-0.8.0.RELEASE.jar
  • breeze_2.11-0.13.2.jar
  • breeze-macros_2.11-0.13.2.jar
  • calcite-avatica-1.2.0-incubating.jar
  • calcite-core-1.2.0-incubating.jar
  • calcite-linq4j-1.2.0-incubating.jar
  • checker-qual-2.11.1.jar
  • chill_2.11-0.8.4.jar
  • chill-java-0.8.4.jar
  • commons-beanutils-1.9.4.jar
  • commons-cli-1.2.jar
  • commons-codec-2.0-20130428.202122-59.jar
  • commons-collections-3.2.2.jar
  • commons-collections4-4.2.jar
  • commons-compiler-3.0.8.jar
  • commons-compress-1.4.1.jar
  • commons-configuration2-2.1.1.jar
  • commons-crypto-1.0.0-20191105.jar
  • commons-daemon-1.0.13.jar
  • commons-dbcp-1.4.jar
  • commons-dbcp2-2.7.0.jar
  • commons-httpclient-3.1.jar
  • commons-io-2.5.jar
  • commons-lang-2.6.jar
  • commons-lang3-3.5.jar
  • commons-logging-1.2.jar
  • commons-math3-3.4.1.jar
  • commons-net-2.2.jar
  • commons-pool-1.5.4.jar
  • commons-pool2-2.8.0.jar
  • commons-text-1.3.jar
  • compress-lzf-1.0.3.jar
  • core-1.1.2.jar
  • curator-client-4.2.0.jar
  • curator-framework-4.2.0.jar
  • curator-recipes-2.7.1.jar
  • datanucleus-api-jdo-3.2.6.jar
  • datanucleus-core-3.2.10.jar
  • datanucleus-rdbms-3.2.9.jar
  • derby-10.12.1.1.jar
  • dnsjava-2.1.7.jar
  • ehcache-3.3.1.jar
  • eigenbase-properties-1.1.5.jar
  • error_prone_annotations-2.3.4.jar
  • failureaccess-1.0.1.jar
  • fastutil-8.2.3.jar
  • ffmpeg-4.3.1-1.5.4.jar
  • ffmpeg-4.3.1-1.5.4-linux-x86_64.jar
  • flatbuffers-1.2.0-3f79e055.jar
  • generex-1.0.2.jar
  • geronimo-jcache_1.0_spec-1.0-alpha-1.jar
  • gson-2.2.4.jar
  • guava-29.0-jre.jar
  • guice-4.0.jar
  • guice-servlet-4.0.jar
  • hadoop-annotations-3.1.1-ei-302002.jar
  • hadoop-auth-3.1.1-ei-302002.jar
  • hadoop-3.1.1-ei-302002.jar
  • hadoop-client-3.1.1-ei-302002.jar
  • hadoop-common-3.1.1-ei-302002.jar
  • hadoop-hdfs-3.1.1-ei-302002.jar
  • hadoop-hdfs-client-3.1.1-ei-302002.jar
  • hadoop-mapreduce-client-common-3.1.1-ei-302002.jar
  • hadoop-mapreduce-client-core-3.1.1-ei-302002.jar
  • hadoop-mapreduce-client-jobclient-3.1.1-ei-302002.jar
  • hadoop-minikdc-3.1.1-hw-ei-302002.jar
  • hadoop-yarn-api-3.1.1-ei-302002.jar
  • hadoop-yarn-client-3.1.1-ei-302002.jar
  • hadoop-yarn-common-3.1.1-ei-302002.jar
  • hadoop-yarn-registry-3.1.1-ei-302002.jar
  • hadoop-yarn-server-common-3.1.1-ei-302002.jar
  • hadoop-yarn-server-web-proxy-3.1.1-ei-302002.jar
  • hamcrest-core-1.3.jar
  • HikariCP-java7-2.4.12.jar
  • hive-common-1.2.1-2.1.0.dli-20201111.064115-91.jar
  • hive-exec-1.2.1-2.1.0.dli-20201111.064444-91.jar
  • hive-metastore-1.2.1-2.1.0.dli-20201111.064230-91.jar
  • hk2-api-2.4.0-b34.jar
  • hk2-locator-2.4.0-b34.jar
  • hk2-utils-2.4.0-b34.jar
  • hppc-0.7.2.jar
  • htrace-core4-4.2.0-incubating-hw-1.0.0.jar
  • httpclient-4.5.4.jar
  • httpcore-4.4.7.jar
  • ivy-2.4.0.jar
  • j2objc-annotations-1.3.jar
  • jackson-annotations-2.10.0.jar
  • jackson-core-2.10.0.jar
  • jackson-core-asl-1.9.13-atlassian-4.jar
  • jackson-databind-2.10.0.jar
  • jackson-dataformat-yaml-2.10.0.jar
  • jackson-datatype-jsr310-2.10.3.jar
  • jackson-jaxrs-base-2.10.3.jar
  • jackson-jaxrs-json-provider-2.10.3.jar
  • jackson-mapper-asl-1.9.13-atlassian-4.jar
  • jackson-module-jaxb-annotations-2.10.3.jar
  • jackson-module-paranamer-2.10.0.jar
  • jackson-module-scala_2.11-2.10.0.jar
  • jakarta.activation-api-1.2.1.jar
  • jakarta.xml.bind-api-2.3.2.jar
  • janino-3.0.8.jar
  • javacpp-1.5.4.jar
  • javacpp-1.5.4-linux-x86_64.jar
  • javacv-1.5.4.jar
  • JavaEWAH-1.1.7.jar
  • javassist-3.18.1-GA.jar
  • javax.annotation-api-1.2.jar
  • javax.inject-1.jar
  • javax.inject-2.4.0-b34.jar
  • javax.servlet-api-3.1.0.jar
  • javax.ws.rs-api-2.0.1.jar
  • java-xmlbuilder-1.1.jar
  • javolution-5.3.1.jar
  • jaxb-api-2.2.11.jar
  • jcip-annotations-1.0-1.jar
  • jcl-over-slf4j-1.7.26.jar
  • jdo-api-3.0.1.jar
  • jersey-client-2.23.1.jar
  • jersey-common-2.23.1.jar
  • jersey-container-servlet-2.23.1.jar
  • jersey-container-servlet-core-2.23.1.jar
  • jersey-guava-2.23.1.jar
  • jersey-media-jaxb-2.23.1.jar
  • jersey-server-2.23.1.jar
  • jets3t-0.9.4.jar
  • jetty-http-9.4.31.v20200723.jar
  • jetty-io-9.4.31.v20200723.jar
  • jetty-security-9.4.31.v20200723.jar
  • jetty-server-9.4.31.v20200723.jar
  • jetty-servlet-9.4.31.v20200723.jar
  • jetty-util-9.4.31.v20200723.jar
  • jetty-util-ajax-9.4.31.v20200723.jar
  • jetty-webapp-9.4.31.v20200723.jar
  • jetty-xml-9.4.31.v20200723.jar
  • joda-time-2.9.3.jar
  • jodd-core-4.2.0.jar
  • json-20200518.jar
  • json4s-ast_2.11-3.2.11.jar
  • json4s-core_2.11-3.2.11.jar
  • json4s-jackson_2.11-3.2.11.jar
  • json-sanitizer-1.2.1.jar
  • json-smart-2.3.jar
  • jsp-api-2.1.jar
  • jsr305-3.0.2.jar
  • jta-1.1.jar
  • jtransforms-2.4.0.jar
  • jul-to-slf4j-1.7.26.jar
  • junit-4.11.jar
  • kerb-admin-1.0.1.jar
  • kerb-client-1.0.1.jar
  • kerb-common-1.0.1.jar
  • kerb-core-1.0.1.jar
  • kerb-crypto-1.0.1.jar
  • kerb-identity-1.0.1.jar
  • kerb-server-1.0.1.jar
  • kerb-simplekdc-1.0.1.jar
  • kerb-util-1.0.1.jar
  • kerby-asn1-1.0.1.jar
  • kerby-config-1.0.1.jar
  • kerby-pkix-1.0.1.jar
  • kerby-util-1.0.1.jar
  • kerby-xdr-1.0.1.jar
  • kryo-shaded-3.0.3.jar
  • kubernetes-client-4.9.2-20200804.jar
  • kubernetes-model-4.9.2-20200804.jar
  • kubernetes-model-common-4.9.2-20200804.jar
  • leveldbjni-all-1.8-20191105.jar
  • libfb303-0.9.3.jar
  • libthrift-0.12.0.jar
  • listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
  • log4j-1.2.17-cloudera1.jar
  • log4j-rolling-appender-20131024-2017.jar
  • logging-interceptor-3.14.4.jar
  • luxor-encrypt-2.1.0-20201106.065437-53.jar
  • luxor-fs3-2.1.0-20201106.065612-53.jar
  • luxor-obs-fs3-2.1.0-20201106.065616-53.jar
  • luxor-rpc_2.11-2.1.0-20201106.065541-53.jar
  • luxor-rpc-protobuf2-2.1.0-20201106.065551-53.jar
  • lz4-java-1.7.1.jar
  • machinist_2.11-0.6.1.jar
  • macro-compat_2.11-1.1.1.jar
  • metrics-core-3.1.5.jar
  • metrics-graphite-3.1.5.jar
  • metrics-jmx-4.1.12.1.jar
  • metrics-json-3.1.5.jar
  • metrics-jvm-3.1.5.jar
  • minlog-1.3.0.jar
  • mssql-jdbc-6.2.1.jre7.jar
  • netty-3.10.6.Final.jar
  • netty-all-4.1.51.Final.jar
  • nimbus-jose-jwt-8.19.jar
  • objenesis-2.1.jar
  • okhttp-3.14.4.jar
  • okio-1.17.2.jar
  • opencsv-2.3.jar
  • opencsv-4.6.jar
  • opencv-4.3.0-2.jar
  • orc-core-1.4.4-nohive.jar
  • orc-mapreduce-1.4.4-nohive.jar
  • oro-2.0.8.jar
  • osgi-resource-locator-1.0.1.jar
  • paranamer-2.8.jar
  • parquet-column-1.8.3.jar
  • parquet-common-1.8.3.jar
  • parquet-encoding-1.8.3.jar
  • parquet-format-2.3.1.jar
  • parquet-hadoop-1.8.3.jar
  • parquet-hadoop-bundle-1.6.0.jar
  • parquet-jackson-1.8.3.jar
  • parquet-format-2.3.1.jar
  • parquet-hadoop-1.8.3.jar
  • parquet-hadoop-bundle-1.6.0.jar
  • parquet-jackson-1.8.3.jar
  • postgresql-42.2.14.jar
  • protobuf-java-2.5.0.jar
  • py4j-0.10.7.jar
  • pyrolite-4.13.jar
  • re2j-1.1.jar
  • RoaringBitmap-0.5.11.jar
  • scala-compiler-2.11.12.jar
  • scala-library-2.11.12.jar
  • scalap-2.11.0.jar
  • scala-parser-combinators_2.11-1.1.0.jar
  • scala-reflect-2.11.12.jar
  • scala-xml_2.11-1.0.5.jar
  • secComponentApi-1.0.5c.jar
  • shapeless_2.11-2.3.2.jar
  • slf4j-api-1.7.30.jar
  • slf4j-log4j12-1.7.30.jar
  • snakeyaml-1.24.jar
  • snappy-java-1.1.7.5.jar
  • spark-catalyst_2.11-2.3.2.0101-2.1.0.dli-20201111.073826-143.jar
  • spark-core_2.11-2.3.2.0101-2.1.0.dli-20201111.073836-134.jar
  • spark-graphx_2.11-2.3.2.0101-2.1.0.dli-20201111.073847-129.jar
  • spark-hive_2.11-2.3.2.0101-2.1.0.dli-20201111.073854-132.jar
  • spark-kubernetes_2.11-2.3.2.0101-2.1.0.dli-20201111.073916-85.jar
  • spark-kvstore_2.11-2.3.2.0101-2.1.0.dli-20201111.073933-127.jar
  • spark-launcher_2.11-2.3.2.0101-2.1.0.dli-20201111.073940-127.jar
  • spark-mllib_2.11-2.3.2.0101-2.1.0.dli-20201111.073946-127.jar
  • spark-mllib-local_2.11-2.3.2.0101-2.1.0.dli-20201111.073953-127.jar
  • spark-network-common_2.11-2.3.2.0101-2.1.0.dli-20201111.073959-127.jar
  • spark-network-shuffle_2.11-2.3.2.0101-2.1.0.dli-20201111.074007-127.jar
  • spark-om_2.11-2.3.2.0101-2.1.0.dli-20201111.074019-125.jar
  • spark-repl_2.11-2.3.2.0101-2.1.0.dli-20201111.074028-125.jar
  • spark-sketch_2.11-2.3.2.01012.1.0.dli-20201111.074035-125.jar
  • spark-sql_2.11-2.3.2.0101-2.1.0.dli-20201111.074041-126.jar
  • spark-streaming_2.11-2.3.2.0101-2.1.0.dli-20201111.074100-123.jar
  • spark-tags_2.11-2.3.2.0101-2.1.0.dli-20201111.074136-123.jar
  • spark-tags_2.11-2.3.2.0101-2.1.0.dli-20201111.074141-124-tests.jar
  • spark-unsafe_2.11-2.3.2.0101-2.1.0.dli-20201111.074144-123.jar
  • spark-uquery_2.11-2.3.2.0101-2.1.0.dli-20201111.074906-210.jar
  • spark-yarn_2.11-2.3.2.0101-2.1.0.dli-20201111.074151-123.jar
  • spire_2.11-0.13.0.jar
  • spire-macros_2.11-0.13.0.jar
  • ST4-4.3.1.jar
  • stax2-api-3.1.4.jar
  • stax-api-1.0-2.jar
  • stream-2.7.0.jar
  • stringtemplate-3.2.1.jar
  • token-provider-1.0.1.jar
  • univocity-parsers-2.5.9.jar
  • validation-api-1.1.0.Final.jar
  • woodstox-core-5.0.3.jar
  • xbean-asm5-shaded-4.4.jar
  • xercesImpl-2.12.0.jar
  • xml-apis-1.4.01.jar
  • xz-1.0.jar
  • zjsonpatch-0.3.0.jar
  • zookeeper-3.5.6-ei-302002.jar
  • zookeeper-jute-3.5.6-ei-302002.jar
  • zstd-jni-1.4.4-11.jar
+
+

Flink 1.7.2 Dependencies

  • bcpkix-jdk15on-1.60.jar
  • bcprov-jdk15on-1.60.jar
  • commons-codec-1.9.jar
  • commons-configuration-1.7.jar
  • deeplearning4j-core-0.9.1.jar
  • deeplearning4j-nlp-0.9.1.jar
  • deeplearning4j-nn-0.9.1.jar
  • ejml-cdense-0.33.jar
  • ejml-core-0.33.jar
  • ejml-ddense-0.33.jar
  • ejml-dsparse-0.33.jar
  • ejml-experimental-0.33.jar
  • ejml-fdense-0.33.jar
  • ejml-simple-0.33.jar
  • ejml-zdense-0.33.jar
  • elsa-3.0.0-M7.jar
  • esdk-obs-java-3.1.3.jar
  • flink-cep_2.11-1.7.0.jar
  • flink-cep-scala_2.11-1.7.0.jar
  • flink-dist_2.11-1.7.0.jar
  • flink-gelly_2.11-1.7.0.jar
  • flink-gelly-scala_2.11-1.7.0.jar
  • flink-ml_2.11-1.7.0.jar
  • flink-python_2.11-1.7.0.jar
  • flink-queryable-state-runtime_2.11-1.7.0.jar
  • flink-shaded-curator-1.7.0.jar
  • flink-shaded-hadoop2-uber-1.7.0.jar
  • flink-table_2.11-1.7.0.jar
  • guava-26.0-jre.jar
  • hadoop-cloud-3.1.1-41-20201014.085840-4.jar
  • httpasyncclient-4.1.2.jar
  • httpclient-4.5.12.jar
  • httpcore-4.4.4.jar
  • httpcore-nio-4.4.4.jar
  • java-xmlbuilder-1.1.jar
  • jna-4.1.0.jar
  • libtensorflow-1.12.0.jar
  • log4j-api-2.8.2.jar
  • log4j-core-2.8.2.jar
  • log4j-over-slf4j-1.7.21.jar
  • logback-classic-1.2.3.jar
  • logback-core-1.2.3.jar
  • nd4j-api-0.9.1.jar
  • nd4j-native-0.9.1.jar
  • nd4j-native-api-0.9.1.jar
  • nd4j-native-platform-0.9.1.jar
  • okhttp-3.14.8.jar
  • okio-1.14.0.jar
  • slf4j-api-1.7.21.jar
  • tensorflow-1.12.0.jar
+
+

Flink 1.10 Dependencies

Only queues created after December 2020 can use the Flink 1.10 dependencies.

+
  • bcpkix-jdk15on-1.60.jar
  • bcprov-jdk15on-1.60.jar
  • commons-codec-1.9.jar
  • commons-configuration-1.7.jar
  • deeplearning4j-core-0.9.1.jar
  • deeplearning4j-nlp-0.9.1.jar
  • deeplearning4j-nn-0.9.1.jar
  • ejml-cdense-0.33.jar
  • ejml-core-0.33.jar
  • ejml-ddense-0.33.jar
  • ejml-dsparse-0.33.jar
  • ejml-experimental-0.33.jar
  • ejml-fdense-0.33.jar
  • ejml-simple-0.33.jar
  • ejml-zdense-0.33.jar
  • elsa-3.0.0-M7.jar
  • esdk-obs-java-3.20.6.1.jar
  • flink-cep_2.11-1.10.0.jar
  • flink-cep-scala_2.11-1.10.0.jar
  • flink-dist_2.11-1.10.0.jar
  • flink-python_2.11-1.10.0.jar
  • flink-queryable-state-runtime_2.11-1.10.0.jar
  • flink-sql-client_2.11-1.10.0.jar
  • flink-state-processor-api_2.11-1.10.0.jar
  • flink-table_2.11-1.10.0.jar
  • flink-table-blink_2.11-1.10.0.jar
  • guava-26.0-jre.jar
  • hadoop-3.1.1-41.jar
  • httpasyncclient-4.1.2.jar
  • httpclient-4.5.3.jar
  • httpcore-4.4.4.jar
  • httpcore-nio-4.4.4.jar
  • java-xmlbuilder-1.1.jar
  • jna-4.1.0.jar
  • libtensorflow-1.12.0.jar
  • log4j-over-slf4j-1.7.26.jar
  • logback-classic-1.2.3.jar
  • logback-core-1.2.3.jar
  • nd4j-api-0.9.1.jar
  • nd4j-native-0.9.1.jar
  • nd4j-native-api-0.9.1.jar
  • nd4j-native-platform-0.9.1.jar
  • okhttp-3.14.8.jar
  • okio-1.14.0.jar
  • secComponentApi-1.0.5.jar
  • slf4j-api-1.7.26.jar
  • tensorflow-1.12.0.jar
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0402.html b/docs/dli/umn/dli_01_0402.html new file mode 100644 index 00000000..3ddd71fb --- /dev/null +++ b/docs/dli/umn/dli_01_0402.html @@ -0,0 +1,123 @@ + + +

Overview

+

Queue

Queues in DLI are computing resources, which are the basis for using DLI. All executed jobs require computing resources.

+

Currently, DLI provides two types of queues, For SQL and For general use. SQL queues are used to run SQL jobs. General-use queues are compatible with Spark queues of earlier versions and are used to run Spark and Flink jobs.

+
  • The SQL queue automatically restarts every 12 hours.
  • Queues of different types cannot be directly switched. If you need to change a queue, purchase a new queue.
  • The default queue is preset. Do not delete it.
+
+
+

Difference Between Computing and Storage Resources

+
+ + + + + + + + + + + + + +
Table 1 Difference between computing and storage resources

Resource

+

How to Obtain

+

Function

+

Compute resource

+

Create queue on the DLI management console.

+

Used for executing queries.

+

Storage resource

+

DLI has a 5 GB quota.

+

Used for storing data in the database and DLI tables.

+
+
+
  • Storage resources are internal storage resources of DLI for storing database and DLI tables and represent the amount of data stored in DLI.
  • By default, DLI provides a 5 GB quota for storage resources.
  • A queue named default is preset in DLI. If you are uncertain about the required queue capacity or have no available queue capacity to run queries, you can execute jobs using this queue.
+
  • The default queue is used only for user experience. It may be occupied by multiple users at a time. Therefore, it is possible that you fail to obtain the resource for related operations. You are advised to use a self-built queue to execute jobs.
+
+
+

Dedicated Queue

Resources of a dedicated queue are not released when the queue is idle. That is, resources are reserved regardless of whether the queue is used. Dedicated queues ensure that resources exist when jobs are submitted.

+
+

Elastic Scaling

DLI allows you to flexibly scale in or out queues on demand. After a queue with specified specifications is created, you can scale it in and out as required.

+

To change the queue specifications, see Elastic Scaling.

+

Scaling can be performed for a newly created queue only when jobs are running on this queue.

+
+
+

Scheduled Elastic Scaling

DLI allows you to schedule tasks for periodic queue scaling. After creating a queue, the scheduled scaling tasks can be executed.

+
You can schedule an automatic scale-out/scale-in based on service requirements. The system periodically triggers queue scaling. For details, see Scheduling CU Changes.

Scaling can be performed for a newly created queue only when jobs are running on this queue.

+
+
+
+

Automatic Queue Scaling

Flink jobs use queues. DLI can automatically trigger scaling for jobs based on the job size.

+
+

Scaling can be performed for a newly created queue only when there are jobs running on this queue.

+
+

Queue Management Page

Queue Management provides the following functions:

+ +

To receive notifications when a DLI job fails, SMN Administrator permissions are required.

+
+

The queue list displays all queues created by you and the default queue. Queues are listed in chronological order by default in the queue list, with the most recently created queues displayed at the top.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Description

+

Name

+

Name of a queue.

+

Type

+

Queue type.

+
  • For SQL
  • For general purpose
  • Spark queue (compatible with earlier versions)
+

Specifications

+

Queue size. Unit: CU

+

CU is the pricing unit of queues. A CU consists of 1 vCPU and 4-GB memory. The computing capabilities of queues vary with queue specifications. The higher the specifications, the stronger the computing capability.

+

Actual CUs

+

Actual size of the current queue.

+

Elastic Scaling

+

Target CU value for scheduled scaling, or the maximum and minimum CU values of the current specifications.

+

Username

+

Queue owner

+

Description

+

Description of a queue specified during queue creation. If no description is provided, -- is displayed.

+

Operation

+
  • Delete: Allow you to delete the selected queue. You cannot delete a queue where there are running jobs or jobs are being submitted.
  • Manage Permissions: You can view the user permissions corresponding to the queue and grant permissions to other users.
  • More
    • Restart: Forcibly restart a queue.
      NOTE:

      Only the SQL queue has the Restart operation.

      +
      +
    • Elastic Scaling: You can select Scale-out or Scale-in as required. The number of CUs after modification must be an integer multiple of 16.
    • Schedule CU Changes: You can set different queue sizes at different time or in different periods based on the service period or usage. The system automatically performs scale-out or scale-in as scheduled. The After Modification value must be an integer multiple of 16.
    • Modifying CIDR Block: When DLI enhanced datasource connection is used, the CIDR block of the DLI queue cannot overlap with that of the data source. You can modify the CIDR block as required.

      +
    • Test Address Connectivity: Test whether the queue is reachable to the specified address. The domain name and IP address are supported. The port can be specified.
    +
+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0403.html b/docs/dli/umn/dli_01_0403.html new file mode 100644 index 00000000..e2e1d2c1 --- /dev/null +++ b/docs/dli/umn/dli_01_0403.html @@ -0,0 +1,96 @@ + + +

Overview

+

On the Job Management page of Flink jobs, you can submit a Flink job. Currently, the following job types are supported:

+
  • Flink SQL uses SQL statements to define jobs and can be submitted to any general purpose queue.
  • Flink Jar customizes a JAR package job based on Flink APIs. It runs on dedicated queues.
+

Flink job management provides the following functions:

+ +

Assigning Agency Permissions

Agencies are required for DLI to execute Flink jobs. You can set the agency when logging in to the management console for the first time or go to Global Configurations > Service Authorization to modify the agencies.

+

The permissions are as follows:

+
  • Tenant Administrator (global) permissions are required to access data from OBS to execute Flink jobs on DLI, for example, obtaining OBS/DWS data sources, log dump (including bucket authorization), checkpointing enabling, and job import and export.

    Due to cloud service cache differences, permission setting operations require about 60 minutes to take effect.

    +
    +
  • DIS Administrator permissions are required to use DIS data as the data source of DLI Flink jobs.

    Due to cloud service cache differences, permission setting operations require about 30 minutes to take effect.

    +
    +
  • To use CloudTable data as the data source of DLI Flink jobs, CloudTable Administrator permissions are required.

    Due to cloud service cache differences, permission setting operations require about 3 minutes to take effect.

    +
    +
  • Tenant Administrator (Project-level) permissions are required if you use services that can run only with these permissions.

    Due to cloud service cache differences, permission setting operations require about 3 minutes to take effect.

    +
    +
+
+

Flink Jobs Page

On the Overview page, click Flink Jobs to go to the Flink job management page. Alternatively, you can choose Job Management > Flink Jobs from the navigation pane on the left. The page displays all Flink jobs. If there are a large number of jobs, they will be displayed on multiple pages. DLI allows you to view jobs in all statuses.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Job management parameters

Parameter

+

Description

+

ID

+

ID of a submitted Flink job, which is generated by the system by default.

+

Name

+

Name of the submitted Flink job.

+

Type

+

Type of the submitted Flink job. Including:

+
  • Flink SQL: Flink SQL jobs
  • Flink Jar: Flink Jar jobs
+

Status

+

Job statuses, including:

+
  • Draft
  • Submitting
  • Submission failed
  • Running: After the job is submitted, a normal result is returned.
  • Running exception: The job stops running due to an exception.
  • Downloading
  • Idle
  • Stopping
  • Stopped
  • Stopping failed
  • Creating the savepoint
  • Completed
+

Description

+

Description of the submitted Flink job.

+

Username

+

Name of the user who submits a job.

+

Created

+

Time when a job is created.

+

Started

+

Time when a Flink job starts to run.

+

Duration

+

Time consumed by job running.

+

Operation

+
  • Edit: Edit a created job. For details, see Editing a Job.
  • Start: Start and run a job. For details, see Starting a Job.
  • More
    • FlinkUI: After you click this button, the Flink job execution page is displayed.
      NOTE:

      When you execute a job on a created queue, the cluster is restarted. It takes about 10 minutes. If you click FlinkUI before the cluster is created, an empty projectID will be cached. The FlinkUI page cannot be displayed.

      +

      You are advised to use a dedicated queue so that the cluster will not be released. Alternatively, wait for a while after the job is submitted (the cluster is created), and then check FlinkUI.

      +
      +
    • Stop: Stop a Flink job. If this function is unavailable, jobs in the current status cannot be stopped.
    • Delete: Delete a job.
      NOTE:

      A deleted job cannot be restored.

      +
      +
    • Modify Name and Description: You can modify the name and description of a job. For details, see Modifying Name and Description.
    • Import Savepoint: Import the data exported from the original CS job. For details, see Importing to a Savepoint.
    • Trigger Savepoint: You can click this button for jobs in the Running status to save the job status. For details, see Triggering a Savepoint.
    • Permissions: You can view the user permissions corresponding to the job and grant permissions to other users. For details, see Managing Flink Job Permissions.
    • Runtime Configuration: You can enable Alarm Generation upon Job Exception and Auto Restart upon Exception. For details, see Runtime Configuration.
    +
+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0407.html b/docs/dli/umn/dli_01_0407.html new file mode 100644 index 00000000..09875e40 --- /dev/null +++ b/docs/dli/umn/dli_01_0407.html @@ -0,0 +1,70 @@ + + +

Overview

+

Package management provides the following functions:

+ +

Package Management Page

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Package management parameters

Parameter

+

Description

+

Group Name

+

Name of the group to which the package belongs. If the package is not grouped, -- is displayed.

+

Package Name

+

Name of a package.

+

Owner

+

Name of the user who uploads the package.

+

Type

+

Type of a package. The following package types are supported:

+
  • JAR: JAR file
  • PyFile: User Python file
  • File: User file
+

Status

+

Status of the package to be created.

+
  • Uploading: The file is being uploaded.
  • Finished: The resource package has been uploaded.
  • Failed: The resource package upload failed.
+

Created

+

Time when a package is created.

+

Updated

+

Time when the package is updated.

+

Operation

+

Manage Permissions: Manage user permissions for a package.

+

Delete: Delete the package.

+

More:

+
  • Modify Owner: Modify the owner of the package.
+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0408.html b/docs/dli/umn/dli_01_0408.html new file mode 100644 index 00000000..97078b44 --- /dev/null +++ b/docs/dli/umn/dli_01_0408.html @@ -0,0 +1,21 @@ + + +

Permissions Management

+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0410.html b/docs/dli/umn/dli_01_0410.html new file mode 100644 index 00000000..c97f558e --- /dev/null +++ b/docs/dli/umn/dli_01_0410.html @@ -0,0 +1,31 @@ + + +

Datasource Connection and Cross-Source Analysis

+

DLI supports the datasource capability of the native Spark and extends it. With DLI datasource connection, you can access other data storage services through SQL statements, Spark jobs, and Flink jobs and import, query, analyze, and process data in the services.

+

Datasource Connections

Before using DLI to perform cross source analysis, you need to set up a datasource connection to enable the network between data sources.

+

The enhanced datasource connection uses VPC peering at the bottom layer to directly connect the VPC network between the DLI queue and the destination datasource. Data is exchanged in point-to-point mode.

+
  • Datasource connections cannot be created for the default queue.
  • VPC Administrator permissions are required to use the VPC, subnet, route, VPC peering connection, and port for DLI datasource connections. You can set this parameter in Service Authorization.
+
+
+

Cross-Source Analysis

The enhanced datasource connection supports all cross-source services implemented by DLI and implements access to self-built data sources by using UDFs, Spark jobs, and Flink jobs.

+

Currently, DLI supports datasource connection to the following data sources: CloudTable HBase, CloudTable OpenTSDB, CSS, DCS Redis, DDS Mongo, DIS, DMS, DWS, MRS HBase, MRS Kafka, MRS OpenTSDB, OBS, RDS MySQL, RDS PostGre, and SMN.

+
  • To access a datasource connection table, you need to use the queue for which a datasource connection has been created.
  • The preview function is not supported for datasource tables.
+
+
+

Datasource Connection Analysis Process

To use DLI for cross-source analysis, you need to create datasource connections and then develop different jobs to access data sources. Perform the following steps:

+
  1. Create a datasource connection. You can create a connection in either of the following ways:
    • Create a datasource connection on the management console.
    • Create a datasource connection through an API.
    +
  2. Develop a DLI job to connect to a datasource. You can connect to a datasource in one of the following ways:
    • Develop a SQL job to connect to a datasource.
    • Develop a Spark job to connect to a datasource.
    • Develop a Flink job to connect to a datasource.
    +
+

The following describes the basic processes of developing SQL jobs, Spark jobs, and Flink jobs for datasource connection.

+
  • SQL Job
    Figure 1 Datasource connection analysis process
    +
  • Spark Job
    Figure 2 Datasource connection analysis process
    +
  • Flink Job
    Figure 3 Datasource connection analysis process
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0417.html b/docs/dli/umn/dli_01_0417.html new file mode 100644 index 00000000..f38cac64 --- /dev/null +++ b/docs/dli/umn/dli_01_0417.html @@ -0,0 +1,79 @@ + + +

DLI Resources

+

A resource is an object that exists within a service. You can select DLI resources by specifying their paths.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 DLI resources and their paths

Resource Type

+

Resource Names

+

Path

+

queue

+

DLI queue

+

queues.queuename

+

database

+

DLI database

+

databases.dbname

+

table

+

DLI table

+

databases.dbname.tables.tbname

+

column

+

DLI column

+

databases.dbname.tables.tbname.columns.colname

+

jobs

+

DLI Flink job

+

jobs.flink.jobid

+

resource

+

DLI package

+

resources.resourcename

+

group

+

DLI package group

+

groups.groupname

+

datasourceauth

+

DLI cross-source authentication information

+

datasourceauth.name

+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0418.html b/docs/dli/umn/dli_01_0418.html new file mode 100644 index 00000000..6ee7a0e6 --- /dev/null +++ b/docs/dli/umn/dli_01_0418.html @@ -0,0 +1,25 @@ + + +

Creating an IAM User and Granting Permissions

+

You can use Identity and Access Management (IAM) to implement fine-grained permissions control on DLI resources. For details, see Overview.

+

If your cloud account does not need individual IAM users, then you may skip over this chapter.

+

This section describes how to create an IAM user and grant DLI permissions to the user. Figure 1 shows the procedure.

+

Prerequisites

Before assigning permissions to user groups, you should learn about system policies and select the policies based on service requirements. For details about system permissions supported by DLI, see DLI System Permissions.

+
+

Process Flow

Figure 1 Process for granting DLI permissions
+

+

+
  1. Create a user group and grant the permission to it.

    Create a user group on the IAM console, and assign the DLI ReadOnlyAccess permission to the group.

    +
  2. Create a user and add the user to the user group.

    Create a user on the IAM console and add the user to the group created in 1.

    +
  3. Log in and verify the permission.

    Log in to the management console using the newly created user, and verify that the user's permissions.

    +
    • Choose Service List > Data Lake Insight. The DLI management console is displayed. If you can view the queue list on the Queue Management page but cannot buy DLI queues by clicking Buy Queue in the upper right corner (assume that the current permission contains only DLI ReadOnlyAccess), the DLI ReadOnlyAccess permission has taken effect.
    • Choose any other service in Service List. If a message appears indicating that you have insufficient permissions to access the service, the DLI ReadOnlyAccess permission has already taken effect.
    +
+

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0421.html b/docs/dli/umn/dli_01_0421.html new file mode 100644 index 00000000..7feff532 --- /dev/null +++ b/docs/dli/umn/dli_01_0421.html @@ -0,0 +1,15 @@ + + +

Creating a Message Notification Topic

+

Once you have created a message notification topic, you can Add subscription of the topic on the Topic Management page of the Simple Message Notification service. You can select different ways (such as text messages or emails) to subscribe. After the subscription succeeds, any job failure will automatically be sent to your subscription endpoints. The operation is as follows:

+
  1. On the Queue Management page, click Create SMN Topic on the upper left side. The Create SMN Topic dialog box is displayed.
  2. Select a queue and click OK. The dialog box is displayed.
    • You can select a single queue or all queues. If the subscription endpoints of a single queue are different from those of all queues, when a single queue and all queues are both selected, the SMN of all queues does not include the message of the single queue.
    • After a notification topic is created, you will receive a notification only when a session or a batch job fails to be created.
    +
    +
  3. Click Topic Management to go to the Topic Management page of the SMN service.
  4. In the Operation column of the corresponding topic in , click Add Subscription. Select Protocol to determine the subscription mode.
    • If you select Email, enter the email address for receiving the confirmation email in the Endpoint text box.
    +
  5. After you click the link in the email, you will receive a message indicating that the subscription is successful.
  6. Return to the Topic Management page and click Subscriptions on the left. If the subscription status is Confirmed, the subscription is successful.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0422.html b/docs/dli/umn/dli_01_0422.html new file mode 100644 index 00000000..75ff693d --- /dev/null +++ b/docs/dli/umn/dli_01_0422.html @@ -0,0 +1,17 @@ + + +

Datasource Connections

+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0426.html b/docs/dli/umn/dli_01_0426.html new file mode 100644 index 00000000..6b5043d6 --- /dev/null +++ b/docs/dli/umn/dli_01_0426.html @@ -0,0 +1,25 @@ + + +

Enhanced Datasource Connections

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_01_0427.html b/docs/dli/umn/dli_01_0427.html new file mode 100644 index 00000000..b3f51674 --- /dev/null +++ b/docs/dli/umn/dli_01_0427.html @@ -0,0 +1,184 @@ + + +

Creating and Managing Datasource Authentication

+

Scenarios

Datasource authentication is used to manage authentication information for accessing CSS and MRS security environments and encrypt passwords for accessing DWS, RDS, DDS, and DCS data sources.

+
  • When creating a CSS cluster in the security mode, you need to specify the username and password. A certificate is available for downloading the security CSS cluster. To access the security CSS cluster, the username, password, and certificate need to be stored in DLI. The username, password, and certificate are the datasource authentication information for accessing the CSS cluster.
  • When creating an MRS cluster in the security mode, you need to enable the kerberos authentication. Download the authentication credential, which contains the krb5.conf and user.keytab files. When connecting DLI to an MRS cluster, you can store the two files in DLI. The two files are the datasource authentication information for accessing the MRS cluster.
  • To create a Kafka cluster, you need to enable SSL access. You can configure this function on the Service Configuration page of MRS and Kafka, or set up an open-source Kafka cluster and modify the configuration file to enable this function.
  • Through datasource password authentication, the passwords for accessing DWS, RDS, DDS, and DCS data sources can be encrypted for storage.
+
+

Creating a Datasource Authentication

  1. Create a data source to be accessed.

    If a cluster is available, you do not need to apply for one.

    +
    +
    • Create a CSS cluster in the security mode: Select 6.5.4 or a later version for Cluster Version and enable the Security Mode.
    • Create an MRS cluster in the security mode: On the MRS management console, apply for a cluster, select Custom Config, set Cluster Version to MRS 2.1.0 or later, and enable Kerberos Authentication.
    • Creating a Kafka cluster: You can configure the Kafka cluster on the Service Configuration page of MRS and Kafka. For details about how to configure SSL on MRS, see Security Configuration in the MapReduce Service User Guide.
    • Creating a DWS cluster: Apply for a data warehouse cluster from DWS. For details, see the Data Warehouse Service Management Guide.
    • Creating an RDS data source: Apply for a database instance in the RDS service. For details, see the Relational Database Service Getting Started.
    • Creating a DCS data source: Apply for a DCS instance in DCS. For details, see the Distributed Cache Service User Guide.
    • Creating a DDS data source: Apply for a DDS DB instance. For details, see Document Database Service Getting Started.
    +
  2. Download the authentication credential. Skip this step when you access DWS, RDS, DCS, or DDS data sources.
    • CSS security cluster: On the Cluster Management page, click the cluster name. On the Basic Information page that is displayed, find the Security Mode and download the certificate of the CSS security cluster.
    • MRS security cluster: On the cluster list page, click the cluster name. On the displayed cluster information page, download the authentication credential. After downloading the authentication credential, decompress it to obtain the krb5.conf and user.keytab files.
    +
  3. Upload the authentication credential. Skip this step when you access DWS, RDS, DCS, or DDS data sources.

    Upload the obtained authentication credential file to the user-defined OBS bucket.

    +
  4. On the DLI management console, click Datasource Connections.
  5. On the Datasource Authentication tab page, click Create to create an authentication information.
    • CSS +
      + + + + + + + + + + + + + + + + + + + +
      Table 1 Parameters

      Parameter

      +

      Description

      +

      Type

      +

      Select CSS.

      +

      Authentication Certificate

      +

      Name of the datasource authentication information to be created.

      +
      • The name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_).
      • The length of the database name cannot exceed 128 characters.
      • It is recommended that the name contain the CSS security cluster name to distinguish security authentication information of different clusters.
      +

      Username

      +

      Username for logging in to the security cluster.

      +

      Password

      +

      The password of the security cluster

      +

      Certificate Path

      +

      The OBS path for uploading the security certificate

      +
      +
      +
    • MRS +
      + + + + + + + + + + + + + + + + + + + +
      Table 2 Description

      Parameter

      +

      Description

      +

      Type

      +

      Select Kerberos.

      +

      Authentication Certificate

      +

      Name of the datasource authentication information to be created.

      +
      • The name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_).
      • The length of the database name cannot exceed 128 characters.
      • It is recommended that the name contain the MRS security cluster name to distinguish security authentication information of different clusters.
      +

      Username

      +

      Username for logging in to the security cluster.

      +

      krb5_conf Path

      +

      OBS path to which the krb5.conf file is uploaded

      +
      NOTE:

      The renew_lifetime configuration item under [libdefaults] must be removed from krb5.conf. Otherwise, the Message stream modified (41) problem may occur.

      +
      +

      keytab Path

      +

      OBS path to which the user.keytab file is uploaded

      +
      +
      +
    • Kafka +
      + + + + + + + + + + + + + + + + + + + + + + + + + +
      Table 3 Parameters

      Parameter

      +

      Description

      +

      Type

      +

      Select Kafka_SSL.

      +

      Authentication Certificate

      +

      Name of the datasource authentication information to be created.

      +
      • The name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_).
      • The length of the database name cannot exceed 128 characters.
      +

      Truststore Path

      +

      OBS path to which the SSL truststore file is uploaded.

      +

      Truststore Password

      +

      Truststore password. The default value is dms@kafka.

      +

      Keystore Path

      +

      OBS path to which the SSL keystore file (key and certificate) is uploaded.

      +

      Keystore Password

      +

      Keystore (key and certificate) password.

      +

      Key Password

      +

      Password of the private key in the keystore file.

      +
      +
      +
    • Password (datasource password authentication)

      Create datasource authentication for accessing DWS, RDS, DCS, and DDS data sources.

      +

      Currently, database password authentication supports Spark SQL jobs only.

      +
      +

      + +
      + + + + + + + + + + + + + + + + +
      Table 4 Parameters

      Parameter

      +

      Description

      +

      Type

      +

      Select Password.

      +

      Authentication Certificate

      +

      Name of the datasource authentication information to be created.

      +
      • The name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_).
      • The length of the database name cannot exceed 128 characters.
      +

      Username

      +

      Username for accessing the datasource

      +

      Password

      +

      Password for accessing the datasource

      +
      +
      +
    +
+
+

Searching for a Datasource Authentication

On the Datasource Authentication tab, you can enter the authentication information name in the search box to search for the matching authentication information. To ensure user information security, the password field is not returned.

+
+

Updating Authentication Information

On the Datasource Authentication tab, click Update in the Operation column of the authentication information to be modified. Currently, only the username and password can be updated. If you need to update the certificate, delete the authentication information and create a new one.

+

The username and password are optional. If they are not set, the field is not modified.

+
+
+

Deleting a Datasource Authentication

On the Datasource Authentication tab, click Delete in the Operation column of the authentication information to be deleted.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0440.html b/docs/dli/umn/dli_01_0440.html new file mode 100644 index 00000000..5c0bb8ba --- /dev/null +++ b/docs/dli/umn/dli_01_0440.html @@ -0,0 +1,192 @@ + + +

Overview

+

DLI has a comprehensive permission control mechanism and supports fine-grained authentication through Identity and Access Management (IAM). You can create policies in IAM to manage DLI permissions. You can use both the DLI's permission control mechanism and the IAM service for permission management.

+

Application Scenarios of IAM Authentication

When using DLI on the cloud, enterprise users need to manage DLI resources (queues) used by employees in different departments, including creating, deleting, using, and isolating resources. In addition, data of different departments needs to be managed, including data isolation and sharing.

+

DLI uses IAM for refined enterprise-level multi-tenant management. IAM provides identity authentication, permissions management, and access control, helping you securely access to your cloud resources.

+

With IAM, you can use your cloud account to create IAM users for your employees, and assign permissions to the users to control their access to specific resource types. For example, some software developers in your enterprise need to use DLI resources but must not delete them or perform any high-risk operations. To achieve this result, you can create IAM users for the software developers and grant them only the permissions required for using DLI resources.

+

For a new user, you need to log in for the system to record the metadata before using DLI.

+
+

IAM is free of charge. You pay only for the resources you use.

+

If your cloud account does not need individual IAM users for permissions management, skip this chapter.

+
+

DLI System Permissions

Table 1 lists all the system-defined roles and policies supported by DLI.

+
Type: There are roles and policies.
  • Roles: A type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. Only a limited number of service-level roles are available. When using roles to grant permissions, you also need to assign other roles on which the permissions depend. However, roles are not an ideal choice for fine-grained authorization and secure access control.
  • Policies: A type of fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization, meeting requirements for secure access control. For example, you can grant DLI users only the permissions for managing a certain type of ECSs.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 DLI system permissions

Role/Policy Name

+

Description

+

Category

+

DLI FullAccess

+

Full permissions for DLI.

+

System-defined policy

+

DLI ReadOnlyAccess

+

Read-only permissions for DLI.

+

With read-only permissions, you can use DLI resources and perform operations that do not require fine-grained permissions. For example, create global variables, create packages and package groups, submit jobs to the default queue, create tables in the default database, create datasource connections, and delete datasource connections.

+

System-defined policy

+

Tenant Administrator

+

Tenant administrator

+
  • Administer permissions for managing and accessing all cloud services. After a database or a queue is created, the user can use the ACL to assign rights to other users.
  • Scope: project-level service
+

System-defined role

+

DLI Service Admin

+

DLI administrator

+
  • Administer permissions for managing and accessing the queues and data of DLI. After a database or a queue is created, the user can use the ACL to assign rights to other users.
  • Scope: project-level service
+

System-defined role

+
+
+

For details, see Creating an IAM User and Granting Permissions.

+
+

DLI Permission Types

Table 2 lists the DLI service permissions. For details about the resources that can be controlled by DLI, see Table 4.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 DLI permission types

Permission Type

+

Subtype

+

Console Operations

+

SQL Syntax

+

API Definition

+

Queue Permissions

+

Queue management permissions

+

For details, see Queue Permission Management.

+

None

+

For details, see "Granting Users with the Queue Usage Permission" in the Data Lake Insight API Reference.

+

Queue usage permission

+

Data Permissions

+

Database permissions

+

For details, see Database Permission Management and Table Permission Management.

+

For details, see SQL Syntax of Batch Jobs > Data Permissions Management > Data Permissions List in the Data Lake Insight SQL Syntax Reference.

+

For details, see Permission-related APIs > Granting Users with the Data Usage Permission in the Data Lake Insight API Reference.

+

Table permissions

+

Column permissions

+

Job Permissions

+

Flink job permissions

+

For details, see Managing Flink Job Permissions.

+

None

+

For details, see Permission-related APIs > Granting Users with the Data Usage Permission in the Data Lake Insight API Reference.

+

Package Permissions

+

+

Package group permissions

+

For details, see Managing Permissions on Packages and Package Groups.

+

None

+

For details, see Permission-related APIs > Granting Users with the Data Usage Permission in the Data Lake Insight API Reference.

+

Package permissions

+

Datasource Connection Permissions

+

Datasource connection permissions

+

For details, see Managing Datasource Connection Permissions.

+

None

+

For details, see Permission-related APIs > Granting Users with the Data Usage Permission in the Data Lake Insight API Reference.

+
+
+
+

Examples

An Internet company mainly provides game and music services. DLI is used to analyze user behaviors and assist decision making.

+

As shown in Figure 1, the Leader of the Basic Platform Team has applied for a Tenant Administrator account to manage and use cloud services. Since the Big Data Platform Team needs DLI for data analysis, the Leader of the Basic Platform Team adds a subaccount with the permission of DLI Service Admin to manage and use DLI. The Leader of the Basic Platform Team creates a Queue A and assigns it to Data Engineer A to analyze the gaming data. A Queue B is also assigned to Data Engineer B to analyze the music data. Besides granting the queue usage permission, the Leader of the Basic Platform Team grants data (except the database) management and usage permissions to the two engineers.

+
Figure 1 Granting permissions
+

The Data Engineer A creates a table named gameTable for storing game prop data and a table named userTable for storing game user data. The music service is a new service. To explore potential music users among existing game users, the Data Engineer A assigns the query permission on the userTable to the Data Engineer B. In addition, Data Engineer B creates a table named musicTable for storing music copyrights information.

+

Table 3 describes the queue and data permissions of Data Engineer A and Data Engineer B.

+ +
+ + + + + + + + + + + + + + + + +
Table 3 Permission description

User

+

Data Engineer A (game data analysis)

+

Data Engineer B (music data analysis)

+

Queues

+

Queue A (queue usage permission)

+

Queue B (queue usage permission)

+

Data (Table)

+

gameTable (table management and usage permission)

+

musicTable (table management and usage permission)

+

userTable (table management and usage permission)

+

userTable (table query permission)

+
+
+

The queue usage permission includes job submitting and terminating permissions.

+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0441.html b/docs/dli/umn/dli_01_0441.html new file mode 100644 index 00000000..8f85f55e --- /dev/null +++ b/docs/dli/umn/dli_01_0441.html @@ -0,0 +1,596 @@ + + +

Common Operations Supported by DLI System Policy

+

Table 1 lists the common operations supported by each system policy of DLI. Choose proper system policies according to this table. For details about the SQL statement permission matrix in DLI in terms of permissions on databases, tables, and roles, see SQL Syntax of Batch Jobs > Data Permissions Management > Data Permissions List in the Data Lake Insight SQL Syntax Reference.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Common operations supported by each system policy

Resources

+

Operation

+

Description

+

DLI FullAccess

+

DLI ReadOnlyAccess

+

Tenant Administrator

+

DLI Service Admin

+

Queue

+

DROP_QUEUE

+

Deleting a queue

+

√

+

×

+

√

+

√

+

SUBMIT_JOB

+

Submitting the job

+

√

+

×

+

√

+

√

+

CANCEL_JOB

+

Terminating the job

+

√

+

×

+

√

+

√

+

RESTART

+

Restarting a queue

+

√

+

×

+

√

+

√

+

GRANT_PRIVILEGE

+

Granting permissions to the queue

+

√

+

×

+

√

+

√

+

REVOKE_PRIVILEGE

+

Revoking permissions from the queue

+

√

+

×

+

√

+

√

+

SHOW_PRIVILEGES

+

Viewing the queue permissions of other users

+

√

+

×

+

√

+

√

+

Database

+

DROP_DATABASE

+

Deleting a database

+

√

+

×

+

√

+

√

+

CREATE_TABLE

+

Creating a table

+

√

+

×

+

√

+

√

+

CREATE_VIEW

+

Creating a view

+

√

+

×

+

√

+

√

+

EXPLAIN

+

Explaining the SQL statement as an execution plan

+

√

+

×

+

√

+

√

+

CREATE_ROLE

+

Creating a role

+

√

+

×

+

√

+

√

+

DROP_ROLE

+

Deleting a role

+

√

+

×

+

√

+

√

+

SHOW_ROLES

+

Displaying a role

+

√

+

×

+

√

+

√

+

GRANT_ROLE

+

Binding a role

+

√

+

×

+

√

+

√

+

REVOKE_ROLE

+

Unbinding the role

+

√

+

×

+

√

+

√

+

SHOW_USERS

+

Displaying the binding relationships between all roles and users

+

√

+

×

+

√

+

√

+

GRANT_PRIVILEGE

+

Granting permissions to the database

+

√

+

×

+

√

+

√

+

REVOKE_PRIVILEGE

+

Revoking permissions to the database

+

√

+

×

+

√

+

√

+

SHOW_PRIVILEGES

+

Viewing database permissions of other users

+

√

+

×

+

√

+

√

+

DISPLAY_ALL_TABLES

+

Displaying tables in the database

+

√

+

√

+

√

+

√

+

DISPLAY_DATABASE

+

Displaying databases

+

√

+

√

+

√

+

√

+

CREATE_FUNCTION

+

Creating a function

+

√

+

×

+

√

+

√

+

DROP_FUNCTION

+

Deleting a function

+

√

+

×

+

√

+

√

+

SHOW_FUNCTIONS

+

Displaying all functions

+

√

+

×

+

√

+

√

+

DESCRIBE_FUNCTION

+

Displaying function details

+

√

+

×

+

√

+

√

+

Table

+

DROP_TABLE

+

Deleting a table

+

√

+

×

+

√

+

√

+

SELECT

+

Querying a table

+

√

+

×

+

√

+

√

+

INSERT_INTO_TABLE

+

Inserting

+

√

+

×

+

√

+

√

+

ALTER_TABLE_ADD_COLUMNS

+

Adding a column

+

√

+

×

+

√

+

√

+

INSERT_OVERWRITE_TABLE

+

Rewriting

+

√

+

×

+

√

+

√

+

ALTER_TABLE_RENAME

+

Renaming a table

+

√

+

×

+

√

+

√

+

ALTER_TABLE_ADD_PARTITION

+

Adding partitions to the partition table

+

√

+

×

+

√

+

√

+

ALTER_TABLE_RENAME_PARTITION

+

Renaming a table partition

+

√

+

×

+

√

+

√

+

ALTER_TABLE_DROP_PARTITION

+

Deleting partitions from a partition table

+

√

+

×

+

√

+

√

+

SHOW_PARTITIONS

+

Displaying all partitions

+

√

+

×

+

√

+

√

+

ALTER_TABLE_RECOVER_PARTITION

+

Restoring table partitions

+

√

+

×

+

√

+

√

+

ALTER_TABLE_SET_LOCATION

+

Setting the partition path

+

√

+

×

+

√

+

√

+

GRANT_PRIVILEGE

+

Granting permissions to the table

+

√

+

×

+

√

+

√

+

REVOKE_PRIVILEGE

+

Revoking permissions from the table

+

√

+

×

+

√

+

√

+

SHOW_PRIVILEGES

+

Viewing table permissions of other users

+

√

+

×

+

√

+

√

+

DISPLAY_TABLE

+

Displaying a table

+

√

+

√

+

√

+

√

+

DESCRIBE_TABLE

+

Displaying table information

+

√

+

×

+

√

+

√

+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0443.html b/docs/dli/umn/dli_01_0443.html new file mode 100644 index 00000000..aa7598f1 --- /dev/null +++ b/docs/dli/umn/dli_01_0443.html @@ -0,0 +1,15 @@ + + +

Modifying the CIDR Block

+

If the CIDR block of the DLI queue conflicts with that of the user data source, you can change the CIDR block of the queue.

+

If the queue whose CIDR block is to be modified has jobs that are being submitted or running, or the queue has been bound to enhanced datasource connections, the CIDR block cannot be modified.

+
+

Procedure

  1. On the left of the DLI management console, click Resources >Queue Management.
  2. Select the queue to be modified and click Modify CIDR Block in the Operation column.
  3. Enter the required CIDR block and click OK.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0447.html b/docs/dli/umn/dli_01_0447.html new file mode 100644 index 00000000..0e51dd9d --- /dev/null +++ b/docs/dli/umn/dli_01_0447.html @@ -0,0 +1,81 @@ + + +

Database Permission Management

+

Operation Scenarios

  • You can isolate databases allocated to different users by setting permissions to ensure data query performance.
  • The administrator and database owner have all permissions, which cannot be set or modified by other users.
+
+

Precautions

  • Lower-level objects automatically inherit permissions granted to upper-level objects. The hierarchical relationship is database > table > column.
  • The database owner, table owner, and authorized users can assign permissions on the database and tables.
  • Columns can only inherit the query permission. For details about Inheritable Permissions, see Database Permission Management.
  • The permissions can be revoked only at the initial level to which the permissions are granted. You need to grant and revoke permissions at the same level. You need to grant and revoke permissions at the same level. For example, after you are granted the insertion permission on a database, you can obtain the insertion permission on the tables in the database. Your insertion permission can be revoked only at the database level.
  • If you create a database with the same name as a deleted database, the database permissions will not be inherited. In this case, you need to grant the database permissions to users or projects.

    For example, user A is granted with the permission to delete the testdb database. Delete the database and create another one with the same name. You need to grant user A the deletion permission of the testdb database again.

    +
+
+

Viewing Database Permissions

  1. On the left of the management console, choose Data Management > Databases and Tables.
  2. Locate the row where the target database resides and click Manage Permissions in the Operation column.

    Permissions can be granted to new users or projects, modified for users or projects with existing permissions, or revoked from a user or project.

    +
+
+

Granting Permissions to a New User or Project

Here, the new user or project refers to a user or a project that does not have permissions on the database.
  1. Click a database you need. In the displayed Database Permission Management page, click Grant Permission in the upper right corner.
  2. In the displayed dialog box, select User or Project, enter the username or select the project to be authorized, and select the required permissions. For details about the permissions, see Table 1. +
    + + + + + + + + + + + + + + + + +
    Table 1 Parameters

    Parameter

    +

    Description

    +

    Authorization Object

    +

    Select User or Project.

    +

    Username/Project Name

    +
    • If you select User, enter the IAM username when adding a user to the database.
      NOTE:

      The username is an existing IAM user name and has logged in to the DLI management console.

      +
      +
    • If you select Project, select the project to be authorized in the current region.
      NOTE:

      When Project is selected:

      +
      • If you set Non-inheritable Permissions, you cannot view tables in the corresponding database within the project.
      • If you set Inheritable Permissions, you can view all tables in the database within the project.
      +
      +
    +

    Non-Inherited Permissions

    +

    Select a permission to grant it to the user, or deselect a permission to revoke it.

    +

    Non-inherited permissions apply only to the current database.

    +
    • The following permissions are applicable to both user and project authorization:
      • Drop Database: This permission allows you to delete the current database.
      • Create Table: This permission allows you to create tables in the current database.
      • Create View: This permission allows you to create views in the current database.
      • Execute SQL EXPLAIN: This permission allows you to execute an EXPLAIN statement and view information about how this database executes a query.
      • Create Role: This permission allows you to create roles in the current database.
      • Delete Role: This permission allows you to delete roles of the current database.
      • View Role: This permission allows you to view the role of the current user.
      • Bind Role: This permission allows you to bind roles to the current database.
      • Unbind Role: This permission allows you to bind roles from the current database.
      • View All Binding Relationships: This permission allows you to view the binding relationships between all roles and users.
      • Create Function: This permission allows you to create a function in the current database.
      • Delete Function: This permission allows you to delete functions from the current database.
      • View All Functions: This permission allows you to view all functions in the current database.
      • View Function Details: This permission allows you to view details about the current function.
      +
    • The following permissions can only be granted to users:
      • View All Tables: This permission allows you to view all tables in the current database.
        NOTE:

        If this permission of a specific database is not granted, all tables in the database will not be displayed.

        +
        +
      • View Database: This permission allows you to view the information about the current database.
        NOTE:

        If this permission is not granted, the database will not be displayed.

        +
        +
      +
    +

    Inherited Permissions

    +

    Select a permission to grant it to the user, or deselect a permission to revoke it.

    +

    Inherited permissions are applicable to the current database and all its tables. However, only the query permission is applicable to table columns.

    +

    The following permissions can be granted to both user and project.

    +
    • Drop Table: This permission allows you to delete tables in a database.
    • Select Table: This permission allows you to query data of the current table.
    • View Table Information: This permission allows you to view information about the current table.
    • Insert: This permission allows you to insert data into the current table.
    • Add Column: This permission allows you to add columns to the current table.
    • Overwrite: This permission allows you to insert data to overwrite the data in the current table.
    • Grant Permission: This permission allows you to grant database permissions to other users or projects.
    • Revoke Permission: This permission allows you to revoke the permissions of the database that other users have but cannot revoke the database owner's permissions.
    • Add Partition to Partition Table: This permission allows you to add a partition to a partition table.
    • Delete Partition from Partition Table: This permission allows you to delete existing partitions from a partition table.
    • Configure Path for Partition: This permission allows you to set the path of a partition in a partition table to a specified OBS path.
    • Rename Table Partition: This permission allows you to rename partitions in a partition table.
    • Rename Table: This permission allows you to rename tables.
    • Restore Table Partition: This permission allows you to export partition information from the file system and save the information to metadata.
    • View All Partitions: This permission allows you to view all partitions in a partition table.
    • View Other Users' Permissions: This permission allows you to query other users' permission on the current database.
    +
    +
    +
  3. Click OK.
+
+
+

Modifying Permissions for an Existing User or Project

For a user or project that has some permissions on the database, you can revoke the existing permissions or grant new ones.

+

If the options in Set Permission are gray, the corresponding account does not have the permission to modify the database. You can apply to the administrator, database owner, or other authorized users for granting and revoking permissions of databases.

+
+
  1. In the User Permission Info list, find the user whose permission needs to be set.
    • If the user is a sub-user, you can set permissions for it.
    • If the user is already an administrator, you can only view the permissions information.
    +

    In the Project Permission Info list, locate the project for which you want to set permissions and click Set Permission.

    +
  2. In the Operation column of the sub-user or project, click Set Permission. The Set Permission dialog box is displayed.

    For details about the permissions of database users or projects, see Table 1.

    +
  3. Click OK.
+
+
+

Revoking All Permissions of a User or Project

Revoke all permissions of a user or a project.
  • In the user list under User Permission Info, locate the row where the target sub-user resides and click Revoke Permission in the Operation column. In the displayed dialog box, click OK. In this case, the user has no permissions on the database.

    If a user is an administrator, Revoke Permission is gray, indicating that the user's permission cannot be revoked.

    +
    +
  • In the Project Permission Info area, select the project whose permissions need to be revoked and click Revoke Permission in the Operation column. After you click OK, the project does not have any permissions on the database.
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0448.html b/docs/dli/umn/dli_01_0448.html new file mode 100644 index 00000000..eb88f5c2 --- /dev/null +++ b/docs/dli/umn/dli_01_0448.html @@ -0,0 +1,145 @@ + + +

Table Permission Management

+

Operation Scenario

  • You can isolate databases allocated to different users by setting permissions to ensure data query performance.
  • The administrator and database owner have all permissions, which cannot be set or modified by other users.
  • When setting database permissions for a new user, ensure that the user group to which the user belongs has the Tenant Guest permission.
+
+

Precautions

  • If you create a table with the same name as a deleted table, the table permissions will not be inherited. In this case, you need to grant the table permissions to users or projects.

    For example, user A is granted with the permission to delete the testTable table. Delete the table and create another one with the same name. You need to grant user A the deletion permission of the testTable table again.

    +
+
+

Viewing Table Permissions

  1. On the left of the management console, choose Data Management > Databases and Tables.
  2. Click the database name in the table whose authority is to be set. The Table Management page of the database is displayed.
  3. Locate the row where the target table resides and click Manage Permissions in the Operation column.

    Permissions can be granted to new users or projects, modified for users or projects with existing permissions, or revoked from a user or project.

    +
+
+

Granting Permissions to a New User or a Project

Here, the new user or project refers to a user or a project that does not have permissions on the database.
  1. Click the table you need. In the displayed table permissions page, click Grant Permission in the upper right corner.
  2. In the displayed Grant Permission dialog box, select the required permissions.
    • For details about the DLI table permissions, see Table 1.

      + +
      + + + + + + + + + + + + + +
      Table 1 Parameter description

      Parameter

      +

      Description

      +

      Authorization Object

      +

      Select User or Project.

      +

      Username/Project

      +
      • If you select User, enter the IAM username when granting table permissions to the user.
        NOTE:

        The username is an existing IAM user name and has logged in to the DLI management console.

        +
        +
      • If you select Project, select the project to be authorized in the current region.
        NOTE:

        If you select Project, you can only view information about the authorized tables and their databases.

        +
        +
      +

      Non-inheritable Permissions

      +

      Select a permission to grant it to the user, or deselect a permission to revoke it.

      +
      • The following permissions are applicable to both user and project authorization:
        • Select Table: This permission allows you to query data of the current table.
        • View Table Information: This permission allows you to view information about the current table.
        • View Table Creation Statement: This permission allows you to view the statement for creating the current table.
        • Drop Table: This permission allows you to delete the current table.
        • Rename Table: Rename the current table.
        • Insert: This permission allows you to insert data into the current table.
        • Overwrite: This permission allows you to insert data to overwrite the data in the current table.
        • Add Column: Add columns to the current table.
        • Grant Permission: The current user can grant table permissions to other users.
        • Revoke Permission: The current user can revoke the table's permissions that other users have but cannot revoke the table owner's permissions.
        • View Other Users' Permissions: This permission allows you to query other users' permission on the current table.
        +

        The partition table also has the following permissions:

        +
        • Delete Partition: This permission allows you to delete existing partitions from a partition table.
        • View All Partitions: This permission allows you to view all partitions in a partition table.
        +
      +
      • The following permissions can only be granted to users:
        • View Table: This permission allows you to display the current table.
        +
      +
      +
      +
    • For details about the OBS table permissions, see Table 2.

      + +
      + + + + + + + + + + + + + +
      Table 2 Parameter description

      Parameter

      +

      Description

      +

      Authorization Object

      +

      Select User or Project.

      +

      Username/Project

      +
      • If you select User, enter the IAM username when granting table permissions to the user.
        NOTE:

        The username is an existing IAM user name and has logged in to the DLI management console.

        +
        +
      • If you select Project, select the project to be authorized in the current region.
        NOTE:

        If you select Project, you can only view information about the authorized tables and their databases.

        +
        +
      +

      Non-inheritable Permissions

      +
      Select a permission to grant it to the user, or deselect a permission to revoke it.
      • The following permissions are applicable to both user and project authorization:
        • View Table Creation Statement: This permission allows you to view the statement for creating the current table.
        • View Table Information: This permission allows you to view information about the current table.
        • Select Table: This permission allows you to query data of the current table.
        • Drop Table: This permission allows you to delete the current table.
        • Rename Table: Rename the current table.
        • Insert: This permission allows you to insert data into the current table.
        • Overwrite: This permission allows you to insert data to overwrite the data in the current table.
        • Add Column: This permission allows you to add columns to the current table.
        • Grant Permission: This permission allows you to grant table permissions to other users or projects.
        • Revoke Permission: This permission allows you to revoke the table's permissions that other users or projects have but cannot revoke the table owner's permissions.
        • View Other Users' Permissions: This permission allows you to query other users' permission on the current table.
        +
        The partition table also has the following permissions:
        • Add Partition: This permission allows you to add a partition to a partition table.
        • Delete Partition: This permission allows you to delete existing partitions from a partition table.
        • Configure Path for Partition: This permission allows you to set the path of a partition in a partition table to a specified OBS path.
        • Rename Table Partition: This permission allows you to rename partitions in a partition table.
        • Restore Table Partition: This permission allows you to export partition information from the file system and save the information to metadata.
        • View All Partitions: This permission allows you to view all partitions in a partition table.
        +
        +
      +
      +
      • The following permissions can only be granted to users:
        • View Table: This permission allows you to view the current table.
        +
      +
      +
      +
    • For details about the view permissions, see Table 3.

      A view can be created only by using SQL statements. You cannot create a view on the Create Table page.

      +
      + +
      + + + + + + + + + + + + + +
      Table 3 Parameter description

      Parameter

      +

      Description

      +

      Authorization Object

      +

      Select User or Project.

      +

      Username/Project

      +
      • If you select User, enter the IAM username when adding a user to the database.
        NOTE:

        The username is an existing IAM user name and has logged in to the DLI management console.

        +
        +
      • If you select Project, select the project to be authorized in the current region.
        NOTE:

        If you select Project, you can only view information about the authorized tables and their databases.

        +
        +
      +

      Non-inheritable Permissions

      +
      Select a permission to grant it to the user, or deselect a permission to revoke it.
      • The following permissions are applicable to both user and project authorization:
        • View Table Information: This permission allows you to view information about the current table.
        • View Table Creation Statement: This permission allows you to view the statement for creating the current table.
        • Drop Table: This permission allows you to delete the current table.
        • Select Table: This permission allows you to query data of the current table.
        • Rename Table: Rename the current table.
        • Grant Permission: The current user or project can grant table permissions to other users or projects.
        • Revoke Permission: The current user or project can revoke the table's permissions that other users or projects have but cannot revoke the table owner's permissions.
        • View Other Users' Permissions: This permission allows you to query other users' permission on the current table.
        +
      • Only applicable to
        • View Table: This permission allows you to view the current table.
        +
      +
      +
      +
      +
    +
  3. Click OK.
+
+
+

Modifying Permissions for an Existing User or Project

For a user or project that has some permissions on the database, you can revoke the existing permissions or grant new ones.

+

If all options under Set Permission are gray, you are not allowed to change permissions on this table. You can apply to the administrator, table owner, or other authorized users for granting and revoking table permissions.

+
+
  1. In the User Permission Info list, find the user whose permission needs to be set.
    • If the user is a sub-user and is not the owner of the table, you can set permissions.
    • If the user is an administrator or table owner, you can only view permissions.
    +

    In the Project Permission Info list, locate the project for which you want to set permissions and click Set Permission.

    +
  2. In the Operation column of the sub-user or project, click Set Permission. The Set Permission dialog box is displayed.
    • For details about DLI table user or project permissions, see Table 1.
    • For details about OBS table user or project permissions, see Table 2.
    • For details about View table user or project permissions, see Table 3.
    +
  3. Click OK.
+
+
+

Revoking All Permissions of a User or Project

Revoke all permissions of a user or a project.

+
  • In the user list under User Permission Info, locate the row where the target sub-user resides and click Revoke Permission in the Operation column. In the displayed dialog box, click OK. In this case, the user has no permissions on the table.

    In the following cases, Revoke Permission is gray, indicating that the permission of the user cannot be revoked.

    +
    • The user is an administrator.
    • The sub-user is the owner of the table.
    • The sub-user has only inheritable permissions.
    +
    +
  • In the Project Permission Info area, select the project whose permissions need to be revoked and click Revoke Permission in the Operation column. After you click OK, the project does not have any permissions on the table.

    If a project has only inheritable permissions, Revoke Permission is gray, indicating that the permissions of the project cannot be revoked.

    +
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0451.html b/docs/dli/umn/dli_01_0451.html new file mode 100644 index 00000000..616c8ed3 --- /dev/null +++ b/docs/dli/umn/dli_01_0451.html @@ -0,0 +1,316 @@ + + +

Creating a Custom Policy

+

Custom policies can be created as a supplement to the system policies of DLI. You can add actions to custom policies. For the actions supported for custom policies, see "Permissions Policies and Supported Actions" in the Elastic Volume Service API Reference.

+

You can create custom policies in either of the following two ways:

+
  • Visual editor: Select cloud services, actions, resources, and request conditions without the need to know policy syntax.
  • JSON: Create a policy in the JSON format from scratch or based on an existing policy.
+

. This section describes common DLI custom policies.

+

Policy Field Description

The following example assumes that the authorized user has the permission to create tables in all databases in all regions:

+
{
+    "Version": "1.1",
+    "Statement": [
+        {
+            "Effect": "Allow",
+            "Action": [
+                "dli:database:create_table"
+            ],
+            "Resource": [
+                "dli:*:*:database:*"
+            ]
+        }
+    ]
+}
+
  • Version

    1.1 indicates a fine-grained permission policy that defines permissions required to perform operations on specific cloud resources under certain conditions.

    +
  • Effect

    The value can be Allow and Deny. If both Allow and Deny are found in statements, the Deny overrides the Allow.

    +
  • Action

    Specific operation on a resource. A maximum of 100 actions are allowed.

    +
    • The format is Service name:Resource type:Action, for example, dli:queue:submit_job.
    • Service name: product name, such as dli, evs, and vpc. Only lowercase letters are allowed. Resource types and operations are not case-sensitive. You can use an asterisk (*) to represent all operations.
    • Resource type: For details, see Table 4.
    • Action: action registered in IAM.
    +
    +
  • Condition

    Conditions determine when a policy takes effect. A condition consists of a condition key and operator.

    +

    A condition key is a key in the Condition element of a statement. There are global and service-level condition keys.

    +
    • Global condition keys (prefixed with g:) apply to all actions. For details, see condition key description in Policy Syntax.
    • Service-level condition keys (prefixed with the abbreviation of a service, for example, dli:. Currently, DLI does not provide service-level condition keys.) apply only to the actions of the corresponding service.
    +

    An operator is used together with a condition key to form a complete condition statement. For details, see Table 1.

    +

    IAM provides a set of DLI predefined condition keys. The following table lists the predefined condition keys of DLI.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 DLI request conditions

    Condition Key

    +

    Operator

    +

    Description

    +

    g:CurrentTime

    +

    Date and time

    +

    Time when an authentication request is received

    +
    NOTE:

    The time is expressed in the format defined by ISO 8601, for example, 2012-11-11T23:59:59Z.

    +
    +

    g:MFAPresent

    +

    Boolean

    +

    Whether multi-factor authentication is used during user login

    +

    g:UserId

    +

    String

    +

    ID of the current login user

    +

    g:UserName

    +

    String

    +

    Current login user

    +

    g:ProjectName

    +

    String

    +

    Project that you have logged in to

    +

    g:DomainName

    +

    String

    +

    Domain that you have logged in to

    +
    +
    +
  • Resource

    The format is Service name:Region:Domain ID:Resource type:Resource path. The wildcard (*) indicates all options. For details about the resource types and path, see Table 4.

    +

    Example:

    +

    dli:*:*:queue:* indicates all queues.

    +
+
+

Creating a Custom Policy

You can set actions and resources of different levels based on scenarios.

+
  1. Define an action.

    The format is Service name:Resource type:Action. The wildcard is *. Example:

    + +
    + + + + + + + + + + + + + +
    Table 2 Action

    Action

    +

    Description

    +

    dli:queue:submit_job

    +

    Submission operations on a DLI queue

    +

    dli:queue:*

    +

    All operations on a DLI queue

    +

    dli:*:*

    +

    All operations on all DLI resource types

    +
    +
    +

    For more information about the relationship between operations and system permissions, see Common Operations Supported by DLI System Policy.

    +
  2. Define a resource.

    The format is Service name:Region:Domain ID:Resource type:Resource path. The wildcard (*) indicates all resources. The five fields can be flexibly set. Different levels of permission control can be set for resource paths based on scenario requirements. If you need to set all resources of the service, you do not need to specify this field. For details about the definition of Resource, see Table 3. For details about the resource types and paths in Resource, see Table 4.

    + +
    + + + + + + + + + + + + + + + + +
    Table 3 Resource

    Resource

    +

    Description

    +

    DLI:*:*:table:databases.dbname.tables.*

    +

    DLI, any region, any account ID, all table resources of database dbname

    +

    DLI:*:*:database:databases.dbname

    +

    DLI, any region, any account ID, queue of database dbname

    +

    DLI:*:*:queue:queues.*

    +

    DLI, any region, any account ID, any queue resource

    +

    DLI:*:*:jobs:jobs.flink.1

    +

    DLI, any region, any account ID, Flink job whose ID is 1

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 4 DLI resources and their paths

    Resource Type

    +

    Resource Names

    +

    Path

    +

    queue

    +

    DLI queue

    +

    queues.queuename

    +

    database

    +

    DLI database

    +

    databases.dbname

    +

    table

    +

    DLI table

    +

    databases.dbname.tables.tbname

    +

    column

    +

    DLI column

    +

    databases.dbname.tables.tbname.columns.colname

    +

    jobs

    +

    DLI Flink job

    +

    jobs.flink.jobid

    +

    resource

    +

    DLI package

    +

    resources.resourcename

    +

    group

    +

    DLI package group

    +

    groups.groupname

    +

    datasourceauth

    +

    DLI cross-source authentication information

    +

    datasourceauth.name

    +
    +
    + +
  3. Combine all the preceding fields into a JSON file to form a complete policy. You can set multiple actions and resources. You can also create a policy on the visualized page provided by IAM. For example:

    The authorized user has the permission to create and delete any database, submit jobs for any queue, and delete any table under any account ID in any region of DLI.

    +
    {
    +    "Version": "1.1",
    +    "Statement": [
    +        {
    +            "Effect": " Allow",
    +            "Action": [
    +                  "dli:database:create_database",
    +                "dli:database:drop_database",
    +                  "dli:queue:submit_job",
    +                  "dli:table:drop_table"
    +            ],
    +            "Resource": [
    +                  "dli:*:*:database:*",
    +                "dli:*:*:queue:*",
    +                "dli:*:*:table:*"
    +            ]
    +        }
    +    ]
    +}
    +
+
+

Example Custom Policies

  • Example 1: Allow policies
    • Allow users to create tables in all databases of all regions:
      {
      +    "Version": "1.1",
      +    "Statement": [
      +        {
      +            "Effect": "Allow",
      +            "Action": [
      +                "dli:database:create_table"
      +            ],
      +            "Resource": [
      +                "dli:*:*:database:*"
      +            ]
      +        }
      +    ]
      +}
      +
    • Allow users to query column col in the table tb of the database db:
      {
      +    "Version": "1.1",
      +    "Statement": [
      +        {
      +            "Effect": "Allow",
      +            "Action": [
      +                "dli:column:select"
      +            ],
      +            "Resource": [
      +                "dli:*:*:column:databases.db.tables.tb.columns.col"
      +            ]
      +        }
      +    ]
      +}
      +
    +
  • Example 2: Deny policies

    A deny policy must be used in conjunction with other policies to take effect. If the permissions assigned to a user contain both Allow and Deny actions, the Deny actions take precedence over the Allow actions.

    +
    • Deny users to create or delete databases, submit jobs (except the default queue), or delete tables.
      {
      +    "Version": "1.1",
      +    "Statement": [
      +        {
      +            "Effect": "Deny",
      +            "Action": [
      +                "dli:database:create_database",
      +                "dli:database:drop_database",
      +                "dli:queue:submit_job",
      +                "dli:table:drop_table"
      +            ],
      +            "Resource": [
      +                "dli:*:*:database:*",
      +                "dli:*:*:queue:*",
      +                "dli:*:*:table:*"
      +            ]
      +        }
      +    ]
      +}
      +
    • Deny users to submit jobs in the demo queue.
      {
      +    "Version": "1.1",
      +    "Statement": [
      +        {
      +            "Effect": "Deny",
      +            "Action": [
      +                "dli:queue:submit_job"
      +            ],
      +            "Resource": [
      +                "dli:*:*:queue:queues.demo"
      +            ]
      +        }
      +    ]
      +}
      +
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0454.html b/docs/dli/umn/dli_01_0454.html new file mode 100644 index 00000000..ad3e3c99 --- /dev/null +++ b/docs/dli/umn/dli_01_0454.html @@ -0,0 +1,28 @@ + + +

Preparing Flink Job Data

+

To create a Flink job, you need to enter the data source and data output channel, that is, source and sink. To use another service as the source or sink stream, you need to apply for the service first.

+

Flink jobs support the following data sources and output channels:

+
  • DIS as the data input and output channel

    To use DIS as the data source and output channel, you need to enable DIS first.

    +

    For details about how to create a DIS stream, see Creating a DIS Stream in the Data Ingestion Service User Guide.

    +

    After applying for a DIS stream, you can upload local data to DIS to provide data sources for Flink jobs in real time. For details, see Sending Data to DIS in the Data Ingestion Service User Guide.

    +

    An example is provided as follows:

    +
    1,lilei,bmw320i,28
    +2,hanmeimei,audia4,27
    +
  • OBS as the data source

    To use OBS as the data source, enable OBS first. For details about how to enable OBS, see Enabling OBS in the Object Storage Service Console Operation Guide.

    +

    After you enable OBS, upload local files to OBS using the Internet. For detailed operations, see Uploading a File in the Object Storage Service Console Operation Guide.

    +
  • RDS as the output channel

    To use RDS as the output channel, create an RDS instance. For details, see Creating a DB Instance in the Relational Database Service User Guide.

    +
  • SMN as the output channel

    To use SMN as the output channel, create an SMN topic to obtain the URN resource ID and then add topic subscription. For detailed operations, see Getting Started in the Simple Message Notification User Guide.

    +
  • Kafka as the data input and output channel

    If Kafka serves as both the source and sink streams, create an enhanced datasource connection between Flink jobs and Kafka. For details, see Enhanced Datasource Connections.

    +

    If the port of the Kafka server is listened on by the host name, you need to add the mapping between the host name and IP address of the Kafka Broker node to the datasource connection.

    +
  • CloudTable as the data input and output channel

    To use CloudTable as the data input and output channel, create a cluster in CloudTable and obtain the cluster ID.

    +
  • CSS as the output channel

    To use CSS as the data output channel, create a cluster in CSS and obtain the cluster's private network address. For details, see Getting Started in the Cloud Search Service User Guide.

    +
  • DCS as the output channel

    To use DCS as the output channel, create a Redis cache instance in DCS and obtain the address used for Flink jobs to connect to the Redis instance. For detailed operations, see Getting Started in the Distributed Cache Service User Guide.

    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0455.html b/docs/dli/umn/dli_01_0455.html new file mode 100644 index 00000000..35e9d2cb --- /dev/null +++ b/docs/dli/umn/dli_01_0455.html @@ -0,0 +1,168 @@ + + +

Creating a Flink SQL job

+

This section describes how to create a Flink SQL job. You can use Flink SQLs to develop jobs to meet your service requirements. Using SQL statements simplifies logic implementation. You can edit Flink SQL statements for your job in the DLI SQL editor. This section describes how to use the SQL editor to write Flink SQL statements.

+

DLI Flink OpenSource SQL jobs are fully compatible with the syntax of Flink 1.10 and 1.12 provided by the community. In addition, Redis, DWS(GaussDB), and DIS data source types are added based on the community connector.

+

Prerequisites

  • You have prepared the data input and data output channels. For details, see Preparing Flink Job Data.
  • When you use a Flink SQL job to access other external data sources, such as OpenTSDB, HBase, Kafka, DWS, RDS, CSS, CloudTable, DCS Redis, and DDS Mongos, you need to create a cross-source connection to connect the job running queue to the external data source. +
+
+

Creating a Flink SQL Job

  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. In the upper right corner of the Flink Jobs page, click Create Job.
  3. Specify job parameters.

    +

    + + + + + + + + + + + + + + + + +
    Table 1 Job configuration information

    Parameter

    +

    Description

    +

    Type

    +

    Set Type to Flink SQL. You will need to rewrite SQL statements to start the job.

    +

    Name

    +

    Name of a job. Enter 1 to 57 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.

    +
    NOTE:

    The job name must be globally unique.

    +
    +

    Description

    +

    Description of a job. It can contain up to 512 characters.

    +

    Template Name

    +

    You can select a sample template or a custom job template. For details about templates, see Flink Template Management.

    +
    +
    +

  4. Click OK to enter the Edit page.
  5. Edit a Flink SQL job.

    Enter details SQL statements in the statement editing area. For details about SQL syntax, see the Data Lake Insight SQL Syntax Reference.

    +

  6. Click Check Semantics.

    • You can Debug or Start a job only after the semantic verification is successful.
    • If verification is successful, the message "The SQL semantic verification is complete. No error." will be displayed.
    • If verification fails, a red "X" mark will be displayed in front of each SQL statement that produced an error. You can move the cursor to the "X" mark to view error details and change the SQL statement as prompted.
    +

  7. Set job running parameters.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 Running parameters

    Parameter

    +

    Description

    +

    Queue

    +

    A shared queue is selected by default. You can select a custom queue as needed.

    +
    NOTE:
    • During job creation, a sub-user can only select a queue that has been allocated to the user.
    • If the remaining capacity of the selected queue cannot meet the job requirements, the system automatically scales up the capacity. When a queue is idle, the system automatically scales in the queue.
    +
    +

    UDF Jar

    +

    If you selected custom queues, you need to configure this parameter.

    +

    You can customize a UDF Jar file. Before you select a JAR file, upload the corresponding JAR package to the OBS bucket and choose Data Management > Package Management to create a package. For details, see Creating a Package.

    +

    In SQL, you can call a user-defined function that is inserted into a JAR file.

    +

    CUs

    +

    Sum of the number of compute units and job manager CUs of DLI. One CU equals one vCPU and 4 GB.

    +

    The configured number of CUs is the number of CUs required for job running and cannot exceed the number of CUs in the bound queue.

    +

    Job Manager CUs

    +

    Number of CUs of the management unit.

    +

    Parallelism

    +

    Number of Flink SQL jobs that run at the same time Properly increasing the number of parallel threads improves the overall computing capability of the job. However, the switchover overhead caused by the increase of threads must be considered.

    +
    NOTE:
    • This value cannot be greater than four times the compute units (number of CUs minus the number of job manager CUs).
    • The priority of the number of parallel tasks on this page is lower than that set in the code.
    +
    +

    Task Manager Configuration

    +

    Whether to set Task Manager resource parameters

    +

    If this option is selected, you need to set the following parameters:

    +
    • CU(s) per TM: Number of resources occupied by each Task Manager.
    • Slot(s) per TM: Number of slots contained in each Task Manager.
    +

    OBS Bucket

    +

    OBS bucket to store job logs and checkpoint information. If the selected OBS bucket is not authorized, click Authorize.

    +
    NOTE:

    If both Enable Checkpointing and Save Job Log are selected, you only need to authorize OBS once.

    +
    +

    Save Job Log

    +

    Whether to save the job running logs to OBS The logs are saved in the following path: Bucket name/jobs/logs/Directory starting with the job ID. To go to this path, go to the job list and click the job name. On the Run Log tab page, click the provided OBS link.

    +
    CAUTION:

    You are advised to select this parameter. Otherwise, no run log is generated after the job is executed. If the job is abnormal, the run log cannot be obtained for fault locating.

    +
    +

    If this option is selected, you need to set the following parameters:

    +
    OBS Bucket: Select an OBS bucket to store user job logs. If the selected OBS bucket is not authorized, click Authorize.
    NOTE:

    If both Enable Checkpointing and Save Job Log are selected, you only need to authorize OBS once.

    +
    +
    +

    Alarm Generation upon Job Exception

    +

    Whether to report job exceptions, for example, abnormal job running or exceptions due to an insufficient balance, to users via SMS or email

    +

    If this option is selected, you need to set the following parameters:

    +

    SMN Topic

    +

    Select a user-defined SMN topic. For details about how to customize SMN topics, see Creating a Topic in the Simple Message Notification User Guide.

    +

    Enable Checkpointing

    +

    Whether to enable job snapshots. If this function is enabled, jobs can be restored based on the checkpoints.

    +
    If this option is selected, you need to set the following parameters:
    • Checkpoint Interval indicates the interval for creating checkpoints. The value ranges from 1 to 999999, and the default value is 30.
    • Checkpoint Mode can be set to either of the following values:
      • At least once: Events are processed at least once.
      • Exactly once: Events are processed only once.
      +
    +
    • OBS Bucket: Select an OBS bucket to store your checkpoints. If the selected OBS bucket is not authorized, click Authorize.
      The checkpoint path is Bucket name/jobs/checkpoint/Directory starting with the job ID.
      NOTE:

      You only need to authorize OBS once for both Enable Checkpointing and Save Job Log.

      +
      +
      +
    +
    +

    Auto Restart upon Exception

    +

    Whether to enable automatic restart. If this function is enabled, any job that has become abnormal will be automatically restarted.

    +

    If this option is selected, you need to set the following parameters:

    +
    • Max. Retry Attempts: maximum number of retry times upon an exception. The unit is Times/hour.
      • Unlimited: The number of retries is unlimited.
      • Limited: The number of retries is user-defined.
      +
    • Restore Job from Checkpoint: This parameter is available only when Enable Checkpointing is selected.
    +

    Idle State Retention Time

    +

    Defines for how long the state of a key is retained without being updated before it is removed in GroupBy or Window. The default value is 1 hour.

    +

    Dirty Data Policy

    +

    Select a policy for processing dirty data. The following policies are supported: Ignore, Trigger a job exception, and Save.

    +
    NOTE:

    Save indicates that the dirty data is stored to the OBS bucket selected above.

    +
    +

    Dirty Data Dump Address

    +

    Set this parameter when Dirty Data Policy is set to Save. Click the address box to select the OBS path for storing dirty data.

    +
    +
    +

  8. (Optional) Debug parameters as required. The job debugging function is used only to verify the SQL logic and does not involve data write operations. For details, see Debugging a Flink Job.
  9. (Optional) Set the runtime configuration as required. Set Custom Configuration to User-defined.
  10. Click Save.
  11. Click Start. On the displayed Start Flink Jobs page, confirm the job specifications, and click Start Now to start the job.

    After the job is started, the system automatically switches to the Flink Jobs page, and the created job is displayed in the job list. You can view the job status in the Status column. After a job is successfully submitted, the job status will change from Submitting to Running. After the execution is complete, the message Completed is displayed.

    +

    If the job status is Submission failed or Running exception, the job submission failed or the job did not execute successfully. In this case, you can move the cursor over the status icon in the Status column of the job list to view the error details. You can click to copy error information. After handling the fault based on the provided information, resubmit the job.

    +

    Other available buttons are as follows:

    +
    • Save As: Save the created job as a new job.
    • Debug: Perform job debugging. For details, see Debugging a Flink Job.
    • Format: Format the SQL statements in the editing box.
    • Set as Template: Set the created SQL statements as a job template.
    • Theme Settings: Set the theme related parameters, including Font Size, Wrap, and Page Style.
    +
    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0457.html b/docs/dli/umn/dli_01_0457.html new file mode 100644 index 00000000..5106d75d --- /dev/null +++ b/docs/dli/umn/dli_01_0457.html @@ -0,0 +1,171 @@ + + +

Creating a Flink Jar Job

+

This section describes how to create a Flink Jar job. You can perform secondary development based on Flink APIs, build your own JAR file, and submit the JAR file to DLI queues. DLI is fully compatible with open-source community APIs. To create a custom Flink job, you need to compile and build application JAR files. You must have a certain understanding of Flink secondary development and have high requirements related to stream computing complexity.

+

Prerequisites

  • Ensure that a dedicated queue has been created.
  • When creating a Flink Jar job to access other external data sources, such as OpenTSDB, HBase, Kafka, DWS, RDS, CSS, CloudTable, DCS Redis, and DDS Mongos, you need to create a cross-source connection to connect the job running queue to the external data source. +
  • When running a Flink Jar job, you need to build the secondary development application code into a Jar package and upload the JAR package to the created OBS bucket. Choose Data Management > Package Management to create a package. For details, see Creating a Package.

    DLI does not support the download function. If you need to modify the uploaded data file, please edit the local file and upload it again.

    +
    +
  • Flink dependencies have been built in the DLI server and security hardening has been performed based on the open-source community version. To avoid dependency package compatibility issues or log output and dump issues, be careful to exclude the following files when packaging:
    • Built-in dependencies (or set the package dependency scope to provided in Maven or SBT)
    • Log configuration files (example, log4j.properties/logback.xml)
    • JAR package for log output implementation (example, log4j).
    +
+
+

Creating a Flink Jar Job

  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. In the upper right corner of the Flink Jobs page, click Create Job.
  3. Specify job parameters.

    +

    + + + + + + + + + + + + + +
    Table 1 Job configuration information

    Parameter

    +

    Description

    +

    Type

    +

    Select Flink Jar.

    +

    Name

    +

    Name of a job. Enter 1 to 57 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.

    +
    NOTE:

    The job name must be globally unique.

    +
    +

    Description

    +

    Description of a job. It can be up to 512 characters long.

    +
    +
    +

  4. Click OK to enter the page for job information editing.
  5. Select a queue. Flink Jar jobs can run only on general queues.

    • A Flink Jar job can run only on a pre-created dedicated queue.
    • If no dedicated queue is available in the Queue drop-down list, create a dedicated queue and bind it to the current user.
    +
    +

  6. Configure Flink Jar job parameters.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 Parameter description

    Name

    +

    Description

    +

    Application

    +

    User-defined package. Before selecting a JAR file to be inserted, upload the corresponding JAR file to the OBS bucket and choose Data Management > Package Management to create a package. For details, see Creating a Package. For details about the built-in dependencies, see Flink 1.7.2 Dependencies and Flink 1.10 Dependencies.

    +

    Main Class

    +

    The name of the JAR package to be loaded, for example, KafkaMessageStreaming.

    +
    • Default: Specified based on the Manifest file in the JAR package.
    • Manually assign: You must enter the class name and confirm the class arguments (separate arguments with spaces).
    +
    NOTE:

    When a class belongs to a package, the main class path must contain the complete package path, for example, packagePath.KafkaMessageStreaming.

    +
    +

    Class Arguments

    +

    List of arguments of a specified class. The arguments are separated by spaces.

    +

    Flink parameters support replacement of non-sensitive global variables. For example, if you add the global variable windowsize in Global Configuration > Global Variables, you can add the -windowsSize {{windowsize}} parameter for the Flink Jar job.

    +

    JAR Package Dependencies

    +

    Select a user-defined package dependency. The dependent program packages are stored in the classpath directory of the cluster.

    +

    Before selecting a JAR file to be inserted, upload the corresponding JAR file to the OBS bucket and choose Data Management > Package Management to create a package. Select JAR as the package type. For details, see Creating a Package.

    +

    For details about the built-in dependencies, see Flink 1.7.2 Dependencies and Flink 1.10 Dependencies.

    +

    Other Dependencies

    +

    User-defined dependency files. Other dependency files need to be referenced in the code.

    +

    Before selecting a dependency file, upload the file to the OBS bucket and choose Data Management > Package Management to create a package. The package type is not limited. For details, see Creating a Package.

    +

    You can add the following command to the application to access the corresponding dependency file. In the command, fileName indicates the name of the file to be accessed, and ClassName indicates the name of the class that needs to access the file.

    +
    ClassName.class.getClassLoader().getResource("userData/fileName")
    +

    Flink Version

    +

    Before selecting a Flink version, you need to select the queue to which the Flink version belongs. Currently, the following versions are supported: 1.10.

    +

    Runtime Configuration

    +

    User-defined optimization parameters. The parameter format is key=value.

    +

    Flink optimization parameters support replacement non-sensitive global variable. For example, if you create global variable phase in Global Configuration > Global Variables, optimization parameter table.optimizer.agg-phase.strategy={{phase}} can be added to the Flink Jar job.

    +
    +
    +
    +

  7. Configure job parameters.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3 Parameter description

    Name

    +

    Description

    +

    CUs

    +

    One CU has one vCPU and 4-GB memory. The number of CUs ranges from 2 to 400.

    +

    Job Manager CUs

    +

    Set the number of CUs on a management unit. The value ranges from 1 to 4. The default value is 1.

    +

    Parallelism

    +

    Maximum number of parallel operators in a job.

    +
    NOTE:
    • The value must be less than or equal to four times the number of compute units (CUs minus the number of job manager CUs).
    • You are advised to set this parameter to a value greater than that configured in the code. Otherwise, job submission may fail.
    +
    +

    Task Manager Configuration

    +

    Whether to set Task Manager resource parameters

    +

    If this option is selected, you need to set the following parameters:

    +
    • CU(s) per TM: Number of resources occupied by each Task Manager.
    • Slot(s) per TM: Number of slots contained in each Task Manager.
    +

    Save Job Log

    +

    Whether to save the job running logs to the OBS bucket.

    +
    CAUTION:

    You are advised to select this parameter. Otherwise, no run log is generated after the job is executed. If the job is abnormal, the run log cannot be obtained for fault locating.

    +
    +

    If this option is selected, you need to set the following parameters:

    +

    OBS Bucket: Select an OBS bucket to store job logs. If the selected OBS bucket is not authorized, click Authorize.

    +

    Alarm Generation upon Job Exception

    +

    Whether to report job exceptions, for example, abnormal job running or exceptions due to an insufficient balance, to users via SMS or email

    +

    If this option is selected, you need to set the following parameters:

    +

    SMN Topic

    +

    Select a user-defined SMN topic. For details about how to customize SMN topics, see Creating a Topic in the Simple Message Notification User Guide.

    +

    Auto Restart upon Exception

    +

    Whether to enable automatic restart. If this function is enabled, any job that has become abnormal will be automatically restarted.

    +

    If this option is selected, you need to set the following parameters:

    +
    • Max. Retry Attempts: maximum number of retry times upon an exception. The unit is Times/hour.
      • Unlimited: The number of retries is unlimited.
      • Limited: The number of retries is user-defined.
      +
    • Restore Job from Checkpoint: Restore the job from the saved checkpoint.

      If you select this parameter, you also need to set Checkpoint Path.

      +

      Checkpoint Path: Select the checkpoint saving path. The checkpoint path must be the same as that you set in the application package. Note that the checkpoint path for each job must be unique. Otherwise, the checkpoint cannot be obtained.

      +
    +
    +
    +

  8. Click Save on the upper right of the page.
  9. Click Start on the upper right side of the page. On the displayed Start Flink Job page, confirm the job specifications, and click Start Now to start the job.

    After the job is started, the system automatically switches to the Flink Jobs page, and the created job is displayed in the job list. You can view the job status in the Status column. After a job is successfully submitted, the job status will change from Submitting to Running. After the execution is complete, the message Completed is displayed.

    +

    If the job status is Submission failed or Running exception, the job submission failed or the job did not execute successfully. In this case, you can move the cursor over the status icon in the Status column of the job list to view the error details. You can click to copy these details. After handling the fault based on the provided information, resubmit the job.

    +

    Other available buttons are as follows:

    +

    Save As: Save the created job as a new job.

    +
    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0458.html b/docs/dli/umn/dli_01_0458.html new file mode 100644 index 00000000..3f454911 --- /dev/null +++ b/docs/dli/umn/dli_01_0458.html @@ -0,0 +1,24 @@ + + +

Debugging a Flink Job

+

The job debugging function helps you check the logic correctness of your compiled SQL statements before running a job.

+
  • Currently, only Flink SQL jobs support this function.
  • The job debugging function is used only to verify the SQL logic and does not involve data write operations.
+
+

Procedures

  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. In the Operation column of the created Flink SQL job, click Edit. The page for editing the Flink SQL job is displayed.

    For a job that is being created, you can debug the job on the editing page.

    +

  3. Click Debug above the SQL editing box to parse the edited SQL statements. The Debugging Parameters tab is displayed on the right of the page.

    +
    • Dump Bucket: Select an OBS bucket to save debugging logs. If you select an unauthorized OBS bucket, click Authorize.
    • Data Input Mode: You can select CSV data stored in the OBS bucket or manually enter the data.
      • OBS (CSV)

        If you select this value, prepare OBS data first before using DLI. For details, see Preparing Flink Job Data. OBS data is stored in CSV format, where multiple records are separated by line breaks and different fields in a single record are separated by commas (,). In addition, you need to select a specific object in OBS as the input source data.

        +

        +
      • Manual typing

        If you select this value, compile SQL statements as data sources. In this mode, you need to enter the value of each field in a single record.

        +

        +
      +
    +

  4. Click Start Debugging. Once debugging is complete, the Debugging Result page appears.

    • If the debugging result meets the expectation, the job is running properly.
    • If the debugging result does not meet the expectation, business logic errors may have occurred. In this case, modify SQL statements and conduct debugging again.
    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0461.html b/docs/dli/umn/dli_01_0461.html new file mode 100644 index 00000000..f73d2853 --- /dev/null +++ b/docs/dli/umn/dli_01_0461.html @@ -0,0 +1,107 @@ + + +

Performing Operations on a Flink Job

+

After a job is created, you can perform operations on the job as required.

+ +

Editing a Job

You can edit a created job, for example, by modifying the SQL statement, job name, job description, or job configurations.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. In the row where the job you want to edit locates, click Edit in the Operation column to switch to the Edit page.
  3. Edit the job as required.

    For details about how to edit a Flink SQL job, see Step 5 to Step 7 in Creating a Flink SQL Job.

    +

    For details about how to edit a user-defined Flink job, see Step 5 to Step 7 in Creating a Flink Jar Job.

    +

+
+

Starting a Job

You can start a saved or stopped job.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. Use either of the following methods to start jobs:

    • Starting a single job

      Select a job and click Start in the Operation column.

      +

      Alternatively, you can select the row where the job you want to start locates and click Start in the upper left of the job list.

      +
    • Batch starting jobs

      Select the rows where the jobs you want to start locate and click Start in the upper left of the job list.

      +
    +

    After you click Start, the Start Flink Jobs page is displayed.

    +

  1. On the Start Flink Jobs page, confirm the job information. If they are correct, click Start Now.

    After a job is started, you can view the job execution result in the Status column.

    +

+
+

Stopping a Job

You can stop a job in the Running or Submitting state.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. Stop a job using either of the following methods:

    • Stopping a job

      Locate the row that contains the job to be stopped, click More in the Operation column, and select Stop.

      +

      Alternatively, you can select the row where the job you want to stop locates and click Stop in the upper left of the job list.

      +
    • Batch stopping jobs

      Locate the rows containing the jobs you want to stop and click Stop in the upper left of the job list.

      +
    +

  3. In the displayed Stop Job dialog box, click OK to stop the job.

    • Before stopping a job, you can trigger a savepoint to save the job status information. When you start the job again, you can choose whether to restore the job from the savepoint.
    • If you select Trigger savepoint, a savepoint is created. If Trigger savepoint is not selected, no savepoint is created. By default, the savepoint function is disabled.
    • The lifecycle of a savepoint starts when the savepoint is triggered and stops the job, and ends when the job is restarted. The savepoint is automatically deleted after the job is restarted.
    +
    +
    +
    When a job is being stopped, the job status is displayed in the Status column of the job list. The details are as follows:
    • Stopping: indicates that the job is being stopped.
    • Stopped: indicates that the job is stopped successfully.
    • Stop failed: indicates that the job failed to be stopped.
    +
    +

+
+

Deleting a Job

If you do not need to use a job, perform the following operations to delete it. A deleted job cannot be restored. Therefore, exercise caution when deleting a job.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  1. Perform either of the following methods to delete jobs:

    • Deleting a single job

      Locate the row containing the job you want to delete and click More > Delete in the Operation column.

      +

      Alternatively, you can select the row containing the job you want to delete and click Delete in the upper left of the job list.

      +

      +
    • Deleting jobs in batches

      Select the rows containing the jobs you want to delete and click Delete in the upper left of the job list.

      +
    +

  2. Click Yes.
+
+

Exporting a Job

You can export the created Flink jobs to an OBS bucket.

+

This mode is applicable to the scenario where a large number of jobs need to be created when you switch to another region, project, or user. In this case, you do not need to create a job. You only need to export the original job, log in to the system in a new region or project, or use a new user to import the job.

+

When switching to another project or user, you need to grant permissions to the new project or user. For details, see Managing Flink Job Permissions.

+
+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  1. Click Export Job in the upper right corner. The Export Job dialog box is displayed.

    +

  2. Select the OBS bucket where the job is stored. Click Next.
  3. Select job information you want to export.

    By default, configurations of all jobs are exported. You can enable the Custom Export function to export configurations of the desired jobs.

    +

  4. Click Confirm to export the job.
+
+

Importing a Job

You can import the Flink job configuration file stored in the OBS bucket to the Flink Jobs page of DLI.

+

This mode is applicable to the scenario where a large number of jobs need to be created when you switch to another region, project, or user. In this case, you do not need to create a job. You only need to export the original job, log in to the system in a new region or project, or use a new user to import the job.

+

If you need to import a self-created job, you are advised to use the job creation function. For details, see Creating a Flink SQL job, Creating a Flink Jar Job.

+
  • When switching to another project or user, you need to grant permissions to the new project or user. For details, see Managing Flink Job Permissions.
  • Only jobs whose data format is the same as that of Flink jobs exported from DLI can be imported.
+
+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  1. Click Import Job in the upper right corner. The Import Job dialog box is displayed.

    +

  2. Select the complete OBS path of the job configuration file to be imported. Click Next.
  3. Configure the same-name job policy and click next. Click Next.

    • Select Overwrite job of the same name. If the name of the job to be imported already exists, the existing job configuration will be overwritten and the job status switches to Draft.
    • If Overwrite job of the same name is not selected and the name of the job to be imported already exists, the job will not be imported.
    +

  4. Ensure that Config File and Overwrite Same-Name Job are correctly configured. Click Confirm to export the job.
+
+

Modifying Name and Description

You can change the job name and description as required.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. In the Operation column of the job whose name and description need to be modified, choose More > Modify Name and Description. The Modify Name and Description dialog box is displayed. Change the name or modify the description of a job.
  3. Click OK.
+
+

+

Triggering a Savepoint

You can click Trigger Savepoint for jobs in the Running status to save the job status.

+
+

Importing to a Savepoint

You can import a savepoint to restore the job status. For details about the savepoint, see Checkpointing at the official website of Flink.

+

You need to select the OBS path of the save point.

+
+

Runtime Configuration

You can select Runtime Configuration to configure job exception alarms and restart options.

+

Flink SQL jobs and Flink Jar jobs are supported.

+
+
  1. In the Operation column of the Flink job, choose More > Runtime Configuration.
  2. In the Runtime Configuration dialog box, set the following parameters: +
    + + + + + + + + + + +
    Table 1 Running parameters

    Parameter

    +

    Description

    +

    Alarm Generation upon Job Exception

    +

    Whether to report job exceptions, for example, abnormal job running or exceptions due to an insufficient balance, to users via SMS or email.

    +

    If this option is selected, you need to set the following parameters:

    +

    SMN Topic

    +

    Select a user-defined SMN topic. For details about how to customize SMN topics, see Creating a Topic in the Simple Message Notification User Guide.

    +

    Auto Restart upon Exception

    +

    Whether to enable automatic restart. If this function is enabled, any job that has become abnormal will be automatically restarted.

    +

    If this option is selected, you need to set the following parameters:

    +
    • Max. Retry Attempts: maximum number of retry times upon an exception. The unit is times/hour.
      • Unlimited: The number of retries is unlimited.
      • Limited: The number of retries is user-defined.
      +
    • Restore Job from Checkpoint: Restore the job from the saved checkpoint.
      NOTE:

      For Flink streaming SQL jobs, you need to select Enable Checkpoint on the job editing page before configuring this parameter.

      +
      +

      If this parameter is selected, you need to set Checkpoint Path for Flink Jar jobs.

      +

      Checkpoint Path: Select the checkpoint saving path. The checkpoint path must be the same as that you set in the application package. Note that the checkpoint path for each job must be unique. Otherwise, the checkpoint cannot be obtained.

      +
    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0462.html b/docs/dli/umn/dli_01_0462.html new file mode 100644 index 00000000..dd2063a3 --- /dev/null +++ b/docs/dli/umn/dli_01_0462.html @@ -0,0 +1,358 @@ + + +

Flink Job Details

+

After creating a job, you can view the job details to learn about the following information:

+ +

Viewing Job Details

This section describes how to view job details. After you create and save a job, you can click the job name to view job details, including SQL statements and parameter settings. For a Jar job, you can only view its parameter settings.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. Click the name of the job to be viewed. The Job Detail tab is displayed.

    In the Job Details tab, you can view SQL statements, configured parameters.

    +
    The following uses a Flink SQL job as an example. +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 Description

    Parameter

    +

    Description

    +

    Type

    +

    Job type, for example, Flink SQL

    +

    Name

    +

    Flink job name

    +

    Description

    +

    Description of a Flink job

    +

    Status

    +

    Running status of a job

    +

    Running Mode

    +

    If your job runs on a shared queue, this parameter is Shared.

    +

    If your job runs on a custom queue with dedicated resources, this parameter is Exclusive.

    +

    Queue

    +

    If the queue where the job runs is a shared queue, the shared queue is displayed.

    +

    If the queue where the job runs is a custom queue with dedicated resources, the queue name is displayed.

    +

    UDF Jar

    +

    This parameter is displayed when a non-shared queue is selected for the job and UDF Jar is configured.

    +

    Runtime Configuration

    +

    Displayed when a user-defined parameter is added to a job

    +

    CUs

    +

    Number of CUs configured for a job

    +

    Job Manager CUs

    +

    Number of job manager CUs configured for a job.

    +

    Parallelism

    +

    Number of jobs that can be concurrently executed by a Flink job

    +

    CU(s) per TM

    +

    Number of CUs occupied by each Task Manager configured for a job

    +

    Slot(s) per TM

    +

    Number of Task Manager slots configured for a job

    +

    OBS Bucket

    +

    OBS bucket name. After Enable Checkpointing and Save Job Log are enabled, checkpoints and job logs are saved in this bucket.

    +

    Save Job Log

    +

    Whether the job running logs are saved to OBS

    +

    Alarm Generation upon Job Exception

    +

    Whether job exceptions are reported

    +

    SMN Topic

    +

    Name of the SMN topic. This parameter is displayed when Alarm Generation upon Job Exception is enabled.

    +

    Auto Restart upon Exception

    +

    Whether automatic restart is enabled.

    +

    Max. Retry Attempts

    +

    Maximum number of retry times upon an exception. Unlimited means the number is not limited.

    +

    Restore Job from Checkpoint

    +

    Whether the job can be restored from a checkpoint

    +

    ID

    +

    Job ID

    +

    Savepoint

    +

    OBS path of the savepoint

    +

    Enable Checkpointing

    +

    Whether checkpointing is enabled

    +

    Checkpoint Interval

    +

    Interval between storing intermediate job running results to OBS. The unit is second.

    +

    Checkpoint Mode

    +

    Checkpoint mode. Available values are as follows:

    +
    • At least once: Events are processed at least once.
    • Exactly once: Events are processed only once.
    +

    Idle State Retention Time

    +

    Defines for how long the state of a key is retained without being updated before it is removed in GroupBy or Window.

    +

    Dirty Data Policy

    +

    Policy for processing dirty data. The value is displayed only when there is a dirty data policy. Available values are as follows:

    +

    Ignore

    +

    Trigger a job exception

    +

    Save

    +

    Dirty Data Dump Address

    +

    OBS path for storing dirty data when Dirty Data Policy is set to Save.

    +

    Created

    +

    Time when a job is created

    +

    Updated

    +

    Time when a job was last updated

    +
    +
    +
    +

+
+

Checking the Job Monitoring Information

You can use Cloud Eye to view details about job data input and output.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. Click the name of the job you want. The job details are displayed.

    Click Job Monitoring in the upper right corner of the page to switch to the Cloud Eye console.

    +

    The following table describes monitoring metrics related to Flink jobs.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 Monitoring metrics related to Flink jobs

    Name

    +

    Description

    +

    Flink Job Data Read Rate

    +

    Displays the data input rate of a Flink job for monitoring and debugging. Unit: record/s.

    +

    Flink Job Data Write Rate

    +

    Displays the data output rate of a Flink job for monitoring and debugging. Unit: record/s.

    +

    Flink Job Total Data Read

    +

    Displays the total number of data inputs of a Flink job for monitoring and debugging. Unit: records

    +

    Flink Job Total Data Write

    +

    Displays the total number of output data records of a Flink job for monitoring and debugging. Unit: records

    +

    Flink Job Byte Read Rate

    +

    Displays the number of input bytes per second of a Flink job. Unit: byte/s

    +

    Flink Job Byte Write Rate

    +

    Displays the number of output bytes per second of a Flink job. Unit: byte/s

    +

    Flink Job Total Read Byte

    +

    Displays the total number of input bytes of a Flink job. Unit: byte

    +

    Flink Job Total Write Byte

    +

    Displays the total number of output bytes of a Flink job. Unit: byte

    +

    Flink Job CPU Usage

    +

    Displays the CPU usage of Flink jobs. Unit: %

    +

    Flink Job Memory Usage

    +

    Displays the memory usage of Flink jobs. Unit: %

    +

    Flink Job Max Operator Latency

    +

    Displays the maximum operator delay of a Flink job. The unit is ms.

    +

    Flink Job Maximum Operator Backpressure

    +

    Displays the maximum operator backpressure value of a Flink job. A larger value indicates severer backpressure.

    +

    0: OK

    +

    50: low

    +

    100: high

    +
    +
    +

+
+

Viewing the Task List of a Job

You can view details about each task running on a job, including the task start time, number of received and transmitted bytes, and running duration.

+

If the value is 0, no data is received from the data source.

+
+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. Click the name of the job you want. The job details are displayed.
  3. On Task List and view the node information about the task.

    View the operator task list. The following table describes the task parameters. +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3 Parameter description

    Parameter

    +

    Description

    +

    Name

    +

    Name of an operator.

    +

    Duration

    +

    Running duration of an operator.

    +

    Max Concurrent Jobs

    +

    Number of parallel tasks in an operator.

    +

    Task

    +

    Operator tasks are categorized as follows:

    +
    • The digit in red indicates the number of failed tasks.
    • The digit in light gray indicates the number of canceled tasks.
    • The digit in yellow indicates the number of tasks that are being canceled.
    • The digit in green indicates the number of finished tasks.
    • The digit in blue indicates the number of running tasks.
    • The digit in sky blue indicates the number of tasks that are being deployed.
    • The digit in dark gray indicates the number of tasks in a queue.
    +

    Status

    +

    Status of an operator task.

    +

    Back Pressure Status

    +

    Working load status of an operator. Available options are as follows:

    +
    • OK: indicates that the operator is in normal working load.
    • LOW: indicates that the operator is in slightly high working load. DLI processes data quickly.
    • HIGH: indicates that the operator is in high working load. The data input speed at the source end is slow.
    +

    Delay

    +

    Duration from the time when source data starts being processed to the time when data reaches the current operator. The unit is millisecond.

    +

    Sent Records

    +

    Number of data records sent by an operator.

    +

    Sent Bytes

    +

    Number of bytes sent by an operator.

    +

    Received Bytes

    +

    Number of bytes received by an operator.

    +

    Received Records

    +

    Number of data records received by an operator.

    +

    Started

    +

    Time when an operator starts running.

    +

    Ended

    +

    Time when an operator stops running.

    +
    +
    +
    +

+
+

Viewing the Job Execution Plan

You can view the execution plan to understand the operator stream information about the running job.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. Click the name of the job you want. The job details are displayed.
  3. Click the Execution Plan tab to view the operator flow direction.

    Click a node. The corresponding information is displayed on the right of the page.
    • Scroll the mouse wheel to zoom in or out.
    • The stream diagram displays the operator stream information about the running job in real time.
    +
    +

+
+

Viewing Job Submission Logs

You can view the submission logs to locate the fault.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. Click the name of the job you want. The job details are displayed.
  3. In the Commit Logs tab, view the information about the job submission process.
+
+

Viewing Job Running Logs

You can view the run logs to locate the faults occurring during job running.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. Click the name of the job you want. The job details are displayed.
  3. On the Run Log tab page, you can view the Job Manager and Task Manager information of the running job.

    Information about JobManager and TaskManager is updated every minute. Only run logs of the last minute are displayed by default.

    +

    If you select an OBS bucket for saving job logs during the job configuration, you can switch to the OBS bucket and download log files to view more historical logs.

    +

    If the job is not running, information on the Task Manager page cannot be viewed.

    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0464.html b/docs/dli/umn/dli_01_0464.html new file mode 100644 index 00000000..c02d38dd --- /dev/null +++ b/docs/dli/umn/dli_01_0464.html @@ -0,0 +1,171 @@ + + +

Flink Template Management

+

Flink templates include sample templates and custom templates. You can modify an existing sample template to meet the actual job logic requirements and save time for editing SQL statements. You can also customize a job template based on your habits and methods so that you can directly invoke or modify the template in later jobs.

+

Flink template management provides the following functions:

+ +

Flink SQL Sample Template

The template list displays existing sample templates for Flink SQL jobs. Table 1 describes the parameters in the template list.

+ +
+ + + + + + + + + + + + + +
Table 1 Parameters in the Flink SQL sample template list

Parameter

+

Description

+

Name

+

Name of a template, which has 1 to 64 characters and only contains letters, digits, hyphens (-), and underlines (_).

+

Description

+

Description of a template. It contains 0 to 512 characters.

+

Operation

+

Create Job: Create a job directly by using the template. After a job is created, the system switches to the Edit page under Job Management.

+
+
+

The existing sample templates apply to the following scenarios:

+
  • Real-time ETL of Nginx access logs to the database
  • Fake plate vehicle detection
  • Geo-fencing alarm
  • Vehicle yawing alarm
  • Vehicle speeding alarm
  • Stream-based random forest anomaly detection
  • CloudTable-DLI Flink-CloudTable
  • DIS-DLI Flink-CSS (Elasticsearch)
  • DIS-DLI Flink-CloudTable (OpenTSDB)
  • DIS-DLI Flink-CloudTable
  • DIS-DLI Flink-DCS
  • DIS-DLI Flink-DDS (MongoDB)
  • DIS-DLI Flink-DIS
  • DIS-DLI Flink-OBS-DWS
  • DIS-DLI Flink-SMN
  • Kafka-DLI Flink-Kafka
  • OBS-DLI Flink-RDS
  • Stream-Join-Table (DCS)
  • Stream-Join-Table (RDS)
+
+

Custom Templates

The custom template list displays all Jar job templates. Table 1 describes parameters in the custom template list.

+ +
+ + + + + + + + + + + + + + + + + + + +
Table 2 Parameters in the custom template list

Parameter

+

Description

+

Name

+

Name of a template, which has 1 to 64 characters and only contains letters, digits, hyphens (-), and underlines (_).

+

Description

+

Description of a template. It contains 0 to 512 characters.

+

Created

+

Time when a template is created.

+

Updated

+

Latest time when a template is modified.

+

Operation

+
  • Edit: Modify a template that has been created.
  • Create Job: Create a job directly by using the template. After a job is created, the system switches to the Edit page under Job Management.
  • More:
    • Delete: Delete a created template.
    +
+
+
+
+

Creating a Template

You can create a template using any of the following methods:

+
  • Creating a template on the Template Management page
    1. In the left navigation pane of the DLI management console, choose Job Templates > Flink Templates.
    2. Click Create Template in the upper right corner of the page. The Create Template dialog box is displayed.
    3. Specify Name and Description. +
      + + + + + + + + + + +
      Table 3 Template parameters

      Parameter

      +

      Description

      +

      Name

      +

      Name of a template, which has 1 to 64 characters and only contains letters, digits, hyphens (-), and underlines (_).

      +
      NOTE:

      The template name must be unique.

      +
      +

      Description

      +

      Description of a template. It contains 0 to 512 characters.

      +
      +
      +
    4. Click OK to enter the Edit page.
      Job template parameters +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      Parameter

      +

      Description

      +

      Name

      +

      You can modify the template name.

      +

      Description

      +

      You can modify the template description.

      +

      Saving Mode

      +
      • Save Here: Save the modification to the current template.
      • Save as New: Save the modification as a new template.
      +

      SQL statement editing area

      +

      In the area, you can enter detailed SQL statements to implement business logic. For details about how to compile SQL statements, see the Data Lake Insight SQL Syntax Reference.

      +

      Save

      +

      Save the modifications.

      +

      Create Job

      +

      Use the current template to create a job.

      +

      Format

      +

      Format SQL statements. After SQL statements are formatted, you need to compile SQL statements again.

      +

      Theme Settings

      +

      Change the font size, word wrap, and page style (black or white background).

      +
      +
      +
      +
    5. In the SQL statement editing area, enter SQL statements to implement service logic. For details about how to compile SQL statements, see the Data Lake Insight SQL Syntax Reference.
    6. After the SQL statement is edited, click Save in the upper right corner to complete the template creation.
    7. (Optional) If you do not need to modify the template, click Create Job in the upper right corner to create a job based on the current template. For details about how to create a job, see Creating a Flink SQL Job, and Creating a Flink Jar Job.
    +
  • Creating a template based on an existing job template
    1. In the left navigation pane of the DLI management console, choose Job Templates > Flink Templates. Click the Custom Templates tab.
    2. In the row where the desired template is located in the custom template list, click Edit under Operation to enter the Edit page.
    3. After the modification is complete, set Saving Mode to Save as New.
    4. Click Save in the upper right corner to save the template as a new one.
    +
+
  • Creating a template using a created job
    1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
    2. Click Create Job in the upper right corner. The Create Job page is displayed.
    3. Specify parameters as required.
    4. Click OK to enter the Edit page.
    5. After the SQL statement is compiled, click Set as Template.
    6. In the Set as Template dialog box that is displayed, specify Name and Description and click OK.
    +
  • Creating a template based on the existing job
    1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
    2. In the job list, locate the row where the job that you want to set as a template resides, and click Edit in the Operation column.
    3. After the SQL statement is compiled, click Set as Template.
    4. In the Set as Template dialog box that is displayed, specify Name and Description and click OK.
    +
+
+

Creating a Job Based on a Template

You can create jobs based on sample templates or custom templates.

+
  1. In the left navigation pane of the DLI management console, choose Job Templates > Flink Templates.
  2. In the sample template list, click Create Job in the Operation column of the target template. For details about how to create a job, see Creating a Flink SQL Job and Creating a Flink Jar Job.
+
+

Modifying a Template

After creating a custom template, you can modify it as required. The sample template cannot be modified, but you can view the template details.

+
  1. In the left navigation pane of the DLI management console, choose Job Templates > Flink Templates. Click the Custom Templates tab.
  2. In the row where the template you want to modify is located in the custom template list, click Edit in the Operation column to enter the Edit page.
  3. In the SQL statement editing area, modify the SQL statements as required.
  4. Set Saving Mode to Save Here.
  5. Click Save in the upper right corner to save the modification.
+
+

Deleting a Template

You can delete a custom template as required. The sample templates cannot be deleted. Deleted templates cannot be restored. Exercise caution when performing this operation.

+
  1. In the left navigation pane of the DLI management console, choose Job Templates > Flink Templates. Click the Custom Templates tab.
  2. In the custom template list, select the templates you want to delete and click Delete in the upper left of the custom template list.

    Alternatively, you can delete a template by performing the following operations: In the custom template list, locate the row where the template you want to delete resides, and click More > Delete in the Operation column.

    +
  3. In the displayed dialog box, click Yes.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0465.html b/docs/dli/umn/dli_01_0465.html new file mode 100644 index 00000000..f5d625a1 --- /dev/null +++ b/docs/dli/umn/dli_01_0465.html @@ -0,0 +1,17 @@ + + +

Spark Job Management

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_01_0475.html b/docs/dli/umn/dli_01_0475.html new file mode 100644 index 00000000..30bd8bb2 --- /dev/null +++ b/docs/dli/umn/dli_01_0475.html @@ -0,0 +1,68 @@ + + +

DLI Request Conditions

+

Request conditions are useful in determining when a custom policy takes effect. A request condition consists of a condition key and operator. Condition keys are either global or service-level and are used in the Condition element of a policy statement. Global condition keys (starting with g:) are available for operations of all services, while service-level condition keys (starting with a service name such as dli) are available only for operations of a specific service. An operator is used together with a condition key to form a complete condition statement.

+

IAM provides a set of DLI predefined condition keys. The following table lists the predefined condition keys of DLI.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 DLI request conditions

Condition Key

+

Operator

+

Description

+

g:CurrentTime

+

Date and time

+

Time when an authentication request is received

+
NOTE:

The time is expressed in the format defined by ISO 8601, for example, 2012-11-11T23:59:59Z.

+
+

g:MFAPresent

+

Boolean

+

Whether multi-factor authentication is used during user login

+

g:UserId

+

String

+

ID of the current login user

+

g:UserName

+

String

+

Current login user

+

g:ProjectName

+

String

+

Project that you have logged in to

+

g:DomainName

+

String

+

Domain that you have logged in to

+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0476.html b/docs/dli/umn/dli_01_0476.html new file mode 100644 index 00000000..6965b13d --- /dev/null +++ b/docs/dli/umn/dli_01_0476.html @@ -0,0 +1,51 @@ + + +

Global Variables

+

Scenario

Global variables can be used to simplify complex parameters. For example, long and difficult variables can be replaced to improve the readability of SQL statements.

+
+

Creating Variables

  1. In the navigation pane of the DLI console, choose Global Configuration > Global Variables.
  2. On the Global Variables page, click Create in the upper right corner to create a global variable. +
    + + + + + + + + + + + + + +
    Table 1 Parameters description

    Parameter

    +

    Description

    +

    Variable

    +

    Name of the created global variable.

    +

    Sensitive

    +

    If the value is sensitive information, such as passwords, set this parameter to Yes. Otherwise, set it to No.

    +

    Value

    +

    Global variable value.

    +
    +
    +
  3. After creating a global variable, use {{xxxx}} in the SQL statement to replace the parameter value set as the global variable. xxxx indicates the variable name. For example, if you set global variable abc to represent the table name, replace the actual table name with {{abc}} in the table creation statement.
    create table {{table_name}} (String1 String, int4 int, varchar1 varchar(10))
    +  partitioned by (int1 int,int2 int,int3 int)
    +
    • Only the user who creates a global variable can use the variable.
    • Do not use global variables in OPTIONS of the table creation statements.
    +
    +
+
+

Modifying Variables

On the Global Variables page, click Modify in the Operation column of a variable to modify the variable value.

+

Only the user who creates a global variable can modify the variable.

+
+
+

Deleting Variables

On the Global Variables page, click Delete in the Operation column of a variable to delete the variable value.

+
  • Only the user who creates a global variable can delete the variable.
  • After a variable is deleted, the variable cannot be used in SQL statements.
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0477.html b/docs/dli/umn/dli_01_0477.html new file mode 100644 index 00000000..5e2d31f2 --- /dev/null +++ b/docs/dli/umn/dli_01_0477.html @@ -0,0 +1,72 @@ + + +

Managing Permissions on Packages and Package Groups

+

Scenarios

  • You can isolate package groups or packages allocated to different users by setting permissions to ensure data query performance.
  • The administrator and the owner of a package group or package have all permissions. You do not need to set permissions and the permissions cannot be modified by other users.
  • When you set permissions on a package group or a package to a new user, the user group to which the user belongs must have the Tenant Guest permission. For details about the Tenant Guest permission and how to apply for the permission, see .
+
+

On the Package Management page, click Manage Permissions in the Operation column of the target package. On the displayed User Permission Info page, you can grant permissions for the package group or package, set and revoke user permissions.

+
  • If you select a group when creating a package, you can manage permissions of the corresponding program package group.
  • If you select No grouping when creating a package, you can manage permissions of the corresponding package.
+
+

Granting Permissions on Package Groups/Packages

Click Grant Permission in the upper right corner of the page.

+
  • Granting permissions on package groups +
    + + + + + + + + + + +
    Table 1 Permission parameters

    Parameter

    +

    Description

    +

    Username

    +

    Name of the authorized IAM user.

    +
    NOTE:

    The username is the name of an existing IAM user.

    +
    +

    Select the permissions to be granted to the user

    +
    • Use Group: This permission allows you to use the package of this group.
    • Update Group: This permission allows you to update the packages in the group, including creating a package in the group.
    • Query Group: This permission allows you to query the details of a package in a group.
    • Delete Group: This permission allows you to delete the package of the group.
    • Grant Permission: This permission allows you to grant group permissions to other users.
    • Revoke Permission: This permission allows you to revoke the group permissions that other users have but cannot revoke the group owner's permissions.
    • View Other User's Permissions: This permission allows you to view the group permissions of other users.
    +
    +
    +
  • Granting permissions on packages +
    + + + + + + + + + + +
    Table 2 Permission parameters

    Parameter

    +

    Description

    +

    Username

    +

    Name of the authorized IAM user.

    +
    NOTE:

    The username is the name of an existing IAM user.

    +
    +

    Select the permissions to be granted to the user

    +
    • Use Package: This permission allows you to use the package.
    • Update Package: This permission allows you to update the package.
    • Query Package: This permission allows you to query the package.
    • Delete Package: This permission allows you to delete the package.
    • Grant Permission: This permission allows you to grant package permissions to other users.
    • Revoke Permission: This permission allows you to revoke the package permissions that other users have but cannot revoke the package owner's permissions.
    • View Other User's Permissions: This permission allows you to view the package permissions of other users.
    +
    +
    +
+
+

Setting Permissions on Package Groups and Packages

Click Set Permission in the Operation column of the sub-user to modify the permission of the user. Table 1 and Table 2 list the detailed permission descriptions.

+

If the Set Permission button is gray, you do not have the permission to modify the package group or package. You can apply to the administrator, group owner, or other users who have the permissions on granting and revoking permissions of package groups or packages.

+
+

Revoking Permissions on Package Groups and Packages

Click Revoke Permission in the Operation column of a sub-user to revoke the user's permissions. After the operation, the sub-user does not have any permission on the package group or package.

+
+

Permissions Description

  • Package group permissions

    Querying permissions. A group owner can view the created package group and all packages in the group, and can also view package groups on which he or she has all permissions.

    +

    A package group is a unit. If you select a group when creating a package, you can grant only the permissions of the package group to other users.

    +
  • Package permissions

    Querying permissions. A package owner can view the created packages, and can also view packages on which he or she has all permissions.

    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0478.html b/docs/dli/umn/dli_01_0478.html new file mode 100644 index 00000000..4fa1f05e --- /dev/null +++ b/docs/dli/umn/dli_01_0478.html @@ -0,0 +1,44 @@ + + +

Modifying the Owner

+

To change the owner of a package, click More > Modify Owner in the Operation column of a package on the Package Management page.

+
  • If the package has been grouped, you can modify the owner of the Group or Resource of it.
  • If the package has not been grouped, change its owner directly.
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Description

Parameter

+

Description

+

Group Name

+
  • If you select a group when creating a package, the name of the group is displayed.
  • If no group is selected when creating a package, this parameter is not displayed.
+

Name

+

Name of a package.

+

Select Type

+
  • If you select a group when creating a package, you can change the owner of the group or package.
  • If no group is selected when creating a package, this parameter is not displayed.
+

Username

+

Name of the package owner.

+
NOTE:

The username is the name of an existing IAM user.

+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0479.html b/docs/dli/umn/dli_01_0479.html new file mode 100644 index 00000000..0e381439 --- /dev/null +++ b/docs/dli/umn/dli_01_0479.html @@ -0,0 +1,55 @@ + + +

Managing Flink Job Permissions

+

Scenarios

  • You can isolate Flink jobs allocated to different users by setting permissions to ensure data query performance.
  • The administrator and job creator have all permissions, which cannot be set or modified by other users.
+
+

Flink Job Permission Operations

  1. On the left of the DLI management console, choose Job Management > Flink Jobs.
  2. Select the job to be configured and choose More > Permissions in the Operation column. The User Permissions area displays the list of users who have permissions on the job.

    +

    You can assign queue permissions to new users, modify permissions for users who have some permissions of a queue, and revoke all permissions of a user on a queue.

    +
    • Assign permissions to a new user.
      A new user does not have permissions on the job.
      1. Click Grant Permission on the right of User Permissions page. The Grant Permission dialog box is displayed.
      2. Specify Username and select corresponding permissions.
      3. Click OK.

        Table 1 describes the related parameters.

        + +
        + + + + + + + + + + +
        Table 1 Permission parameters

        Parameter

        +

        Description

        +

        Username

        +

        Name of the user you want to grant permissions to.

        +
        NOTE:

        The username is the name of an existing IAM user. In addition, the user can perform authorization operations only after logging in to the platform.

        +
        +

        Permissions to be granted to the user

        +
        • View Job Details: This permission allows you to view the job details.
        • Modify Job: This permission allows you to modify the job.
        • Delete Job: This permission allows you to delete the job.
        • Start Job: This permission allows you to start the job.
        • Stop Job: This permission allows you to stop the job.
        • Export Job: This permission allows you to export the job.
        • Grant Permission: This permission allows you to grant job permissions to other users.
        • Revoke Permission: This permission allows you to revoke the job permissions that other users have but cannot revoke the job creator's permissions.
        • View Other User's Permissions: This permission allows you to view the job permissions of other users.
        +
        +
        +
      +
      +
    • To assign or revoke permissions of a user who has some permissions on the job, perform the following steps:
      1. In the list under User Permissions for a job, select the user whose permissions need to be modified and click Set Permission in the Operation column.
      2. In the displayed Set Permission dialog box, modify the permissions of the current user. Table 1 lists the detailed permission descriptions.

        If all options under Set Permission are gray, you are not allowed to change permissions on this job. You can apply to the administrator, job creator, or other authorized users for job permission granting and revoking.

        +
      3. Click OK.
      +
    • To revoke all permissions of a user on a job, perform the following steps:

      In the list under User Permissions for a job, locate the user whose permissions need to be revoked, click Revoke Permission in the Operation column, and click Yes. After this operation, the user does not have any permission on the job.

      +
    +
+
+

Flink Job Permissions

  • View Job Details
    • Tenants and the admin user can view and operate all jobs.
    • Subusers and users with the read-only permission can only view their own jobs.

      If another user grants any permission other than the job viewing permission to a subuser, the job is displayed in the job list, but the details cannot be viewed by the subuser.

      +
      +
    +
  • Start Job
    • To use an exclusive queue, you must have the permission to submit and start jobs.
    • To use a shared queue, you only need to have the permission to start jobs.
    +
  • Stop Job
    • To use an exclusive queue, you must have the permission to stop jobs and queues.
    • To use a shared queue, you only need to have the permission to stop jobs.
    +
  • Delete Job
    • If a job can be deleted, you can delete the job if you were granted this permission.
    • If a job cannot be deleted, the system stops the job before you delete it. For details about how to stop a job, see Stop Job. In addition, you must have the permission to delete the job.
    +
  • Create Job
    • By default, sub-users cannot create jobs.
    • To create a job, you must have this permission. Currently, only the admin user has the permission to create jobs. In addition, the user must have the permission of the related package group or package used by the job.
    +
  • Modify Job

    When modifying a job, you need to have the permission to update the job and the permission to the package group or package used by the job belongs.

    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0480.html b/docs/dli/umn/dli_01_0480.html new file mode 100644 index 00000000..e4a57f12 --- /dev/null +++ b/docs/dli/umn/dli_01_0480.html @@ -0,0 +1,42 @@ + + +

Managing Datasource Connection Permissions

+

Scenarios

  • You can isolate datasource connections allocated to different users by setting permissions to ensure data query performance.
  • The administrator and datasource connection owner have all permissions, which cannot be set or modified by other users.
+

On the Datasource Authentication tab page, click Manage Permissions in the Operation column of the row that contains the authentication to be modified. On the User Permission Info page that is displayed, you can grant, set, and revoke permissions of the datasource connection.

+
+

Granting Permissions on Datasource Connections

Log in to the DLI management console, choose Datasource Connections. Click the Datasource Authentication tab, locate the target authentication certificate, click Permission Management in the Operation column. Click Grant Permission in the upper right corner of the page. +
+ + + + + + + + + + +
Table 1 Permission granting parameters

Parameter

+

Description

+

Username

+

Name of the authorized IAM user.

+
NOTE:

The username is the name of an existing IAM user.

+
+

Select the permissions to be granted to the user

+
  • Access: This permission allows you to access the datasource connection.
  • Update: This permission allows you to update the datasource connection.
  • Delete: This permission allows you to delete the datasource connection.
  • Grant Permission: This permission allows you to grant the datasource connection permission to other users.
  • Grant Permission: This permission allows you to revoke the datasource connection permission to other users. However, you cannot revoke the permissions of the datasource connection owner.
  • View Other User's Permissions: This permission allows you to view the datasource connection permissions of other users.
+
+
+
+
+

Setting Permissions

Click Set Permission in the Operation column of the sub-user to modify the permission of the user. Table 1 lists the detailed permission descriptions.

+

If all options under Set Permission are gray, you are not allowed to change permissions on this datasource connection. You can apply for the granting and revoking permissions from administrators, group owners, and other users who have the permission to grant permissions.

+
+

Revoking Permissions

Click Revoke Permission in the Operation column of a sub-user to revoke the user's permissions. After this operation, the sub-user does not have any permission of the datasource connection.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0485.html b/docs/dli/umn/dli_01_0485.html new file mode 100644 index 00000000..82ca4020 --- /dev/null +++ b/docs/dli/umn/dli_01_0485.html @@ -0,0 +1,17 @@ + + + +

Global Configuration

+ +

+
+ +
+ +
+ diff --git a/docs/dli/umn/dli_01_0486.html b/docs/dli/umn/dli_01_0486.html new file mode 100644 index 00000000..14c56b32 --- /dev/null +++ b/docs/dli/umn/dli_01_0486.html @@ -0,0 +1,64 @@ + + +

Service Authorization

+

Prerequisites

Only the tenant account or a subaccount of user group admin can authorize access.

+
+

Procedure

After entering the DLI management console, you are advised to set agency permissions to ensure that DLI can be used properly.

+

If you need to adjust the agency permissions, modify them on the Service Authorization page. For details about the required agency permissions, see Table 1.

+
  1. Select required agency permissions and click Update Authorization. Only the tenant account or a subaccount of user group admin can authorize access. If the message "Agency permissions updated" is displayed, the update is successful.
  2. Once service authorization has succeeded, an agency named dli_admin_agency on IAM will be created. Go to the agency list to view the details. Do not delete dli_admin_agency.

    +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 DLI agency permissions

Permission

+

Details

+

Remarks

+

Tenant Administrator (global service)

+

Tenant Administrator permissions are required to access data from OBS to execute Flink jobs on DLI, for example, obtaining OBS/DWS data sources, log dump (including bucket authorization), checkpointing enabling, and job import and export.

+

Due to cloud service cache differences, permission setting operations require about 60 minutes to take effect.

+

DIS Administrator

+

DIS Administrator permissions are required to use DIS data as the data source of DLI Flink jobs.

+

Due to cloud service cache differences, permission setting operations require about 30 minutes to take effect.

+

VPC Administrator

+

VPC Administrator permissions are required to use the VPC, subnet, route, VPC peering connection, and port for DLI datasource connections.

+

Due to cloud service cache differences, permission setting operations require about 3 minutes to take effect.

+

SMN Administrator

+

To receive notifications when a DLI job fails, SMN Administrator permissions are required.

+

Due to cloud service cache differences, permission setting operations require about 3 minutes to take effect.

+

Tenant Administrator (project-level)

+

Tenant Administrator (Project-level) permission is needed if you use services that can run only with this permission.

+

Due to cloud service cache differences, permission setting operations require about 3 minutes to take effect.

+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0487.html b/docs/dli/umn/dli_01_0487.html new file mode 100644 index 00000000..679943b9 --- /dev/null +++ b/docs/dli/umn/dli_01_0487.html @@ -0,0 +1,26 @@ + + +

Elastic Scaling

+

Prerequisites

Elastic scaling can be performed for a newly created queue only when there were jobs running in this queue.

+
+

Precautions

  • If Status of queue xxx is assigning, which is not available is displayed on the Elastic Scaling page, the queue can be scaled only after the queue resources are allocated.
+
+

Scaling Out

If the current queue specifications do not meet service requirements, you can add the number of CUs to scale out the queue.

+

Scale-out is time-consuming. After you perform scale-out on the Elastic Scaling page of DLI, wait for about 10 minutes. The duration is related to the CU amount to add. After a period of time, refresh the Queue Management page and check whether values of Specifications and Actual CUs are the same to determine whether the scale-out is successful. Alternatively, on the Job Management page, check the status of the SCALE_QUEUE SQL job. If the job status is Scaling, the queue is being scaled out.

+
+

The procedure is as follows:

+
  1. On the left of the DLI management console, click Resources > Queue Management.
  2. Select the queue to be scaled out and choose More > Elastic Scaling in the Operation column.
  3. On the displayed page, select Scale-out for Operation and set the scale-out amount.
  4. Click .
+
+

Scaling In

If the current queue specifications are too much for your computing service, you can reduce the number of CUs to scale in the queue.

+
  • Scale-in is time-consuming. After you perform scale-in on the Elastic Scaling page of DLI, wait for about 10 minutes. The duration is related to the CU amount to reduce. After a period of time, refresh the Queue Management page and check whether values of Specifications and Actual CUs are the same to determine whether the scale-in is successful. Alternatively, on the Job Management page, check the status of the SCALE_QUEUE SQL job. If the job status is Scaling, the queue is being scaled in.
  • The system may not fully scale in the queue to the target size. If the current queue is in use or the service volume of the queue is large, the scale-in may fail or only partial specifications may be reduced.
  • By default, the minimum number of CUs is 16. That is, when the queue specifications are 16 CUs, you cannot scale in the queue.
+
+

The procedure is as follows:

+
  1. On the left of the DLI management console, click Resources > Queue Management.
  2. Select the queue to be scaled out and choose More > Elastic Scaling in the Operation column.
  3. On the displayed page, select Scale-in for Operation and set the scale-in amount.
  4. Click .
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0488.html b/docs/dli/umn/dli_01_0488.html new file mode 100644 index 00000000..b182f088 --- /dev/null +++ b/docs/dli/umn/dli_01_0488.html @@ -0,0 +1,80 @@ + + +

Scheduling CU Changes

+

Scenario

When services are busy, you might need to use more compute resources to process services in a period. After this period, you do not require the same amount of resources. If the purchased queue specifications are small, resources may be insufficient during peak hours. If the queue specifications are large, resources may be wasted.

+

DLI provides scheduled tasks for elastic scale-in and -out in the preceding scenario. You can set different queue sizes (CUs) at different time or in different periods based on your service period or usage and the existing queue specifications to meet your service requirements and reduce costs.

+
+

Precautions

  • Periodic scaling can be performed for a newly created queue only when there were jobs running in this queue.
  • Scheduled scaling tasks are available only for a queue with more than 64 CUs. That is, the minimum specifications of a queue are 64 CUs.
  • A maximum of 12 scheduled tasks can be created for each queue.
  • When each scheduled task starts, the actual start time of the specification change has a deviation of 5 minutes. It is recommended that the task start time be at least 20 minutes earlier than the time when the queue is actually used.
  • The interval between two scheduled tasks must be at least 2 hours.
  • Changing the specifications of a queue is time-consuming. The time required for changing the specifications depends on the difference between the target specifications and the current specifications. You can view the specifications of the current queue on the Queue Management page.
  • If a job is running in the current queue, the queue may fail to be scaled in to the target CU amount value. Instead, it will be scaled in to a value between the current queue specifications and the target specifications. The system will try to scale in again 1 hour later until the next scheduled task starts.
  • If a scheduled task does not scale out or scale in to the target CU amount value, the system triggers the scaling plan again 15 minutes later until the next scheduled task starts.
+
+

Creating Periodic Task

  • If only scale-out or scale-in is required, you need to create only one task for changing specifications. Set the Task Name, Final CU Count, and Executed parameters. For details, see Table 1.
  • To set both scale-out and scale-in parameters, you need to create two periodic tasks, and set the Task Name, Final CU Count, and Executed parameters. For details, see Table 1.
+

The procedure is as follows:

+
  1. On the left of the DLI management console, click Resources > Queue Management.
  2. Locate the queue for which you want to schedule a periodic task for elastic scaling, and choose More > Schedule CU Changes in the Operation column.
  3. On the displayed page, click Create Periodic Task in the upper right corner.
  4. On the Create Periodic Task page, set the required parameters. Click OK. +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 Parameter description

    Parameter

    +

    Description

    +

    Task Name

    +

    Enter the name of the periodic task.

    +
    • The task name can contain only digits, letters, and underscores (_), but cannot contain only digits or start with an underscore (_) or be left unspecified.
    • The name can contain a maximum of 128 characters.
    +

    Enable Task

    +

    Whether to enable periodic elastic scaling. The task is enabled by default. If disabled, the task will not be triggered on time.

    +

    Validity Period

    +

    Set the time segment for executing the periodic task, including Date and Time. If there is no time segment restriction, leave this parameter empty, indicating that the task takes effect permanently. If you need to specify the time segment for the task to take effect, set this parameter based on the service requirements.

    +
    NOTE:
    • The start time of the Validity Period must be later than the current system time.
    • If only scale-out is configured, the system does not automatically scale in after the Validity Period expires. You need to manually modify or configure a periodic scale-in task. Similarly, if only scale-in is configured, you need to manually modify or configure a periodic scale-out task. That is, a scheduled scaling task is executed at a time.
    • If both scale-out and scale-in are configured, the system scales in or out resources based on the configured queue specifications within the validity period. After the validity period expires, the system retains the last configured queue specifications.
    +
    +

    Actual CUs

    +

    Queue specifications before scale-in or scale-out.

    +

    Final CUs

    +

    Specifications after the queue is scaled in or out.

    +
    NOTE:
    • By default, the maximum specifications of a queue are 512 CUs.
    • The minimum queue specifications for scheduled scaling are 64 CUs. That is, only when Actual CUs are more than 64 CUs, the scheduled scaling can be performed.
    • The value of Actual CUs must be a multiple of 16.
    +
    +

    Repeat

    +
    Time when scheduled scale-out or scale-in is repeat. Scheduled tasks can be scheduled by week in Repeat.
    • By default, this parameter is not configured, indicating that the task is executed only once at the time specified by Executed.
    • If you select all, the plan is executed every day.
    • If you select some options of Repeat, the plan is executed once a week at all specified days.
    +
    +
    NOTE:
    • You do not need to set this parameter if you only need to perform scale-in or scale-out once.
    • If you have set scaling, you can set Repeat as required. You can also set the repeat period together with the validity period.
    +
    +

    Executed

    +

    Time when scheduled scale-out or scale-in is performed

    +
    • When each scheduled task starts, the actual start time of the specification change has a deviation of 5 minutes. It is recommended that the task start time be at least 20 minutes earlier than the time when the queue is actually used.
    • The interval between two scheduled tasks must be at least 2 hours.
    +
    +
    +

    After a periodic task is created, you can view the specification change of the current queue and the latest execution time on the page for scheduling CU changes.

    +

    Alternatively, on the Queue Management page, check whether the Specifications change to determine whether the scaling is successful.

    +

    You can also go to the Job Management page and check the status of the SCALE_QUEUE job. If the job status is Scaling, the queue is being scaled in or out.

    +
+
+

Modifying a Scheduled Task

If the configured scheduled task does not meet service requirements, you can click Modify in the Operation column of the task on the Schedule CU Changes page to modify the task configuration.

+
+

Deleting a Scheduled Task

If you do not need a scheduled task for queue scaling, click Delete in the Operation column of the task on the Schedule CU Changes page. In the displayed Delete Periodic Task dialog box, click Yes.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0489.html b/docs/dli/umn/dli_01_0489.html new file mode 100644 index 00000000..52f1f5c4 --- /dev/null +++ b/docs/dli/umn/dli_01_0489.html @@ -0,0 +1,14 @@ + + +

Testing Address Connectivity

+

It can be used to test the connectivity between the DLI queue and the peer IP address specified by the user in common scenarios, or the connectivity between the DLI queue and the peer IP address bound to the datasource connection in cross-source connection scenarios. The operation is as follows:

+
  1. On the Queue Management page, locate the row that contains the target queue and choose More > Test Address Connectivity in the Operation column.
  2. On the Test Address Connectivity page, enter the address to be tested. The domain name and IP address are supported, and the port number can be specified.
  3. Click Test.

    If the test address is reachable, a message is displayed on the page, indicating that the address is reachable.

    +

    If the test address is unreachable, the system displays a message indicating that the address is unreachable. Check the network configurations and try again. Network configurations include the VPC peering and the datasource connection. Check whether they have been activated.

    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0498.html b/docs/dli/umn/dli_01_0498.html new file mode 100644 index 00000000..3d9bb2e2 --- /dev/null +++ b/docs/dli/umn/dli_01_0498.html @@ -0,0 +1,166 @@ + + +

(Recommended) Creating a Flink OpenSource SQL Job

+

This section describes how to create a Flink OpenSource SQL job. DLI Flink OpenSource SQL jobs are fully compatible with the syntax of Flink 1.10 and 1.12 provided by the community. In addition, Redis, DWS(GaussDB), and DIS data source types are added based on the community connector. For details about the syntax and restrictions of Flink SQL DDL, DML, and functions, see Table API & SQL.

+

Prerequisites

  • Flink OpenSource SQL jobs can be submitted to Kubernetes clusters only. To run the jobs, contact DLI technical support to enable the whitelist and create CCE queues.

    A newly created general-purpose queue is a CCE queue by default. You do not need to submit a service ticket to enable the whitelist.

    +
    +
  • You have prepared the data input and data output channels. For details, see Preparing Flink Job Data.
  • Before creating a Flink OpenSource SQL job to access other external data sources, such as OpenTSDB, HBase, Kafka, DWS, RDS, CSS, CloudTable, DCS Redis, and DDS Mongos, you need to create a cross-source connection to connect the job running queue to the external data source. +
+
+

Creating a Flink OpenSource SQL Job

  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. In the upper right corner of the Flink Jobs page, click Create Job.

    +

  3. Specify job parameters.

    +

    + + + + + + + + + + + + + + + + +
    Table 1 Job configuration information

    Parameter

    +

    Description

    +

    Type

    +

    Set Type to Flink OpenSource SQL. You will need to start jobs by compiling SQL statements.

    +

    Name

    +

    Name of a job. Enter 1 to 57 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.

    +
    NOTE:

    The job name must be globally unique.

    +
    +

    Description

    +

    Description of a job. It can be up to 512 characters long.

    +

    Template Name

    +

    You can select a sample template or a custom job template. For details about templates, see Flink Template Management.

    +
    +
    +

  4. Click OK to enter the Edit page.
  5. Edit an OpenSource SQL job.

    Enter details SQL statements in the SQL statement edit area. For details about SQL statements, see the Data Lake Insight Flink OpenSource SQL Syntax Reference.

    +

  6. Click Check Semantics.

    • You can Start a job only after the semantic verification is successful.
    • If verification is successful, the message "The SQL semantic verification is complete. No error." will be displayed.
    • If verification fails, a red "X" mark will be displayed in front of each SQL statement that produced an error. You can move the cursor to the "X" mark to view error details and change the SQL statement as prompted.
    +

  7. Set job running parameters.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 Running parameters

    Parameter

    +

    Description

    +

    Queue

    +

    A shared queue is selected by default. Select a CCE queue with dedicated resources and configure the following parameters:

    +

    UDF Jar: You can customize a UDF Jar file. Before selecting a JAR file to be inserted, upload the corresponding JAR package to the OBS bucket and choose Data Management > Package Management to create a package. For details, see Creating a Package.

    +

    In SQL, you can call a user-defined function that is inserted into a JAR file.

    +
    NOTE:

    During job creation, a sub-user can only select a queue that has been allocated to the user.

    +

    If the remaining capacity of the selected queue cannot meet the job requirements, the system automatically scales up the capacity and you will be billed based on the increased capacity. When a queue is idle, the system automatically scales in the queue.

    +
    +

    CUs

    +

    Sum of the number of compute units and job manager CUs of DLI. One CU equals one vCPU and 4 GB.

    +

    The value is the number of CUs required for job running and cannot exceed the number of CUs in the bound queue.

    +

    Job Manager CUs

    +

    Number of CUs of the management unit.

    +

    Parallelism

    +

    Number of Flink OpenSource SQL jobs that run at the same time

    +
    NOTE:

    This value cannot be greater than four times the compute units (number of CUs minus the number of job manager CUs).

    +
    +

    Task Manager Configuration

    +

    Whether to set Task Manager resource parameters.

    +

    If this option is selected, you need to set the following parameters:

    +
    • CU(s) per TM: Number of resources occupied by each Task Manager.
    • Slot(s) per TM: Number of slots contained in each Task Manager.
    +

    OBS Bucket

    +

    OBS bucket to store job logs and checkpoint information. If the selected OBS bucket is not authorized, click Authorize.

    +

    Save Job Log

    +

    Whether to save the job running logs to OBS. The logs are saved in the following path: Bucket name/jobs/logs/Directory starting with the job ID.

    +
    CAUTION:

    You are advised to configure this parameter. Otherwise, no run log is generated after the job is executed. If the job fails, the run log cannot be obtained for fault locating.

    +
    +

    If this option is selected, you need to set the following parameters:

    +
    OBS Bucket: Select an OBS bucket to store user job logs. If the selected OBS bucket is not authorized, click Authorize.
    NOTE:

    If both Enable Checkpointing and Save Job Log are selected, you only need to authorize OBS once.

    +
    +
    +

    Alarm Generation upon Job Exception

    +

    Whether to report job exceptions, for example, abnormal job running or exceptions due to an insufficient balance, to users via SMS or email.

    +

    If this option is selected, you need to set the following parameters:

    +

    SMN Topic

    +

    Select a user-defined SMN topic. For details about how to customize SMN topics, see Creating a Topic in the Simple Message Notification User Guide.

    +

    Enable Checkpointing

    +

    Whether to enable job snapshots. If this function is enabled, jobs can be restored based on the checkpoints.

    +
    If this option is selected, you need to set the following parameters:
    • Checkpoint Interval (s) indicates the interval for creating checkpoints. The value ranges from 1 to 999999, and the default value is 30.
    • Checkpoint Mode can be set to either of the following values:
      • At least once: Events are processed at least once.
      • Exactly once: Events are processed only once.
      +
    +
    • OBS Bucket: Select an OBS bucket to store your checkpoints. If the selected OBS bucket is not authorized, click Authorize.
      The checkpoint path is Bucket name/jobs/checkpoint/Directory starting with the job ID.
      NOTE:

      If both Enable Checkpointing and Save Job Log are selected, you only need to authorize OBS once.

      +
      +
      +
    +
    +

    Auto Restart upon Exception

    +

    Whether to enable automatic restart. If this function is enabled, any job that has become abnormal will be automatically restarted.

    +

    If this option is selected, you need to set the following parameters:

    +
    • Max. Retry Attempts: maximum number of retry times upon an exception. The unit is Times/hour.
      • Unlimited: The number of retries is unlimited.
      • Limited: The number of retries is user-defined.
      +
    • Restore Job from Checkpoint: This parameter is available only when Enable Checkpointing is selected.
    +

    Idle State Retention Time

    +

    How long the state of a key is retained without being updated before it is removed in GroupBy or Window. The default value is 1 hour.

    +

    Dirty Data Policy

    +

    Policy for processing dirty data. The following policies are supported: Ignore, Trigger a job exception, and Save.

    +

    If you set this filed to Save, the Dirty Data Dump Address must be set. Click the address box to select the OBS path for storing dirty data.

    +
    +
    +

  8. (Optional) Set the runtime configuration as needed.
  9. Click Save.
  10. Click Start. On the displayed Start Flink Jobs page, confirm the job specifications, and click Start Now to start the job.

    After the job is started, the system automatically switches to the Flink Jobs page, and the created job is displayed in the job list. You can view the job status in the Status column. After a job is successfully submitted, the job status will change from Submitting to Running. After the execution is complete, the message Completed is displayed.

    +

    If the job status is Submission failed or Running exception, the job submission failed or the job did not execute successfully. In this case, you can move the cursor over the status icon in the Status column of the job list to view the error details. You can click to copy these details. After handling the fault based on the provided information, resubmit the job.

    +

    Other buttons are as follows:

    +
    • Save As: Save the created job as a new job.
    • Static Stream Graph: Provide the static concurrency estimation function and stream graph display function.
    • Simplified Stream Graph: Display the data processing flow from the source to the sink.
    • Format: Format the SQL statements in the editing box.
    • Set as Template: Set the created SQL statements as a job template.
    • Theme Settings: Set the theme related parameters, including Font Size, Wrap, and Page Style.
    +
    +

+
+

Simplified Stream Graph

On the OpenSource SQL job editing page, click Simplified Stream Graph.

+
+

Static stream graph

On the OpenSource SQL job editing page, click Static Stream Graph.

+

The Static Stream Graph page also allows you to:

+
  • Estimate concurrencies. Click Estimate Concurrencies on the Static Stream Graph page to estimate concurrencies. Click Restore Initial Value to restore the initial value after concurrency estimation.
  • Zoom in or out the page.
  • Expand or merge operator chains.
  • You can edit Parallelism, Output rate, and Rate factor.
    • Parallelism: indicates the number of concurrent tasks.
    • Output rate: indicates the data traffic of an operator. The unit is piece/s.
    • Rate factor: indicates the retention rate after data is processed by operators. Rate factor = Data output volume of an operator/Data input volume of the operator (Unit: %)
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_05110.html b/docs/dli/umn/dli_01_05110.html new file mode 100644 index 00000000..b36ca0f8 --- /dev/null +++ b/docs/dli/umn/dli_01_05110.html @@ -0,0 +1,19 @@ + + + +

Appendix

+ +

+
+ +
+ + + +
+ diff --git a/docs/dli/umn/dli_01_05111.html b/docs/dli/umn/dli_01_05111.html new file mode 100644 index 00000000..9c3c64f4 --- /dev/null +++ b/docs/dli/umn/dli_01_05111.html @@ -0,0 +1,30 @@ + + +

TPC-H Sample Data in the SQL Template

+

TPC-H Sample Data

TPC-H is a test set developed by the Transaction Processing Performance Council (TPC) to simulate decision-making support applications. It is widely used in academia and industry to evaluate the performance of decision-making support technology. This business test has higher requirements on vendors, because it can comprehensively evaluate the overall business computing capability. With universal business significance, is widely used in analysis of bank credit, credit card, telecom operation, tax, as well as tobacco industry decision-making analysis.

+

The TPC-H benchmark test is developed from TPC-D (a standard specified by TPC in 1994 and used as the test benchmark for decision-making support systems). TPC-H implements a 3NF data warehouse that contains eight basic relationships, with a data volume range from 1 GB to 3 TB. The TPC-H benchmark test includes 22 queries (Q1 to Q22). The main evaluation indicator is the response time of each query (from submission to result return). The unit of the TPC-H benchmark test is the query number per hour (QphH@size). H indicates the average number of complex queries per hour. size indicates the size of database, which reflects the query processing capability of the system. TPC-H can evaluate key performance parameters that other tests cannot evaluate, because it is modeled based on the actual production and operation environment. In a word, the TPC-H standard by TPC meets the test requirements of data warehouse and motivate vendors and research institutes to stretch the limit of this technology.

+

In this example, DLI directly queries the TPC-H dataset on OBS. DLI has generated a standard TPC-H-2.18 dataset of 100 MB which is uploaded to the tpch folder on OBS. The read-only permission is granted to you to facilitate query operations.

+
+

TPC-H Test and Metrics

TPC-H test is divided into three sub-tests: data loading test, Power test, and Throughput test. Data loading indicates the process of setting up a test database, and the loading test is to test the data loading ability of DBMS. The first test is data loading test that tests data loading time, which is time-consuming. The second test is Power test, also called raw query. After data loading test is complete, the database is in the initial state without any other operation, especially the data in the buffer is not tested. Power test requires that the 22 queries be executed once in sequence and a pair of RF1 and RF2 operations be executed at the same time. The third test is Throughput test, the core and most complex test, more similar to the actual application environment. With multiple query statement groups and a pair of RF1 and RF2 update flows, Throughput test pose greater pressure on the SUT system than Power test does.

+
+

The basic data in the test is related to the execution time (the time of each data loading step, each query execution, and each update execution), based on which you can calculate the data loading time, Power@Size, Throughput@Size, qphH@Size and $/QphH@Size.

+

Power@Size is the result of the Power test, which is defined as the reciprocal of the geometric average value of the query time and change time. The formula is as follows:

+

+

Size indicates the data size. SF is the scaling factor of data scale. QI (i, 0) indicates the time of the ith query, in seconds. R (I j, 0) is the update time of RFj, in seconds.

+

Throughput@Size is the Throughput test result, which is defined as the reciprocal of the average value of all query execution time. The formula is as follows:

+

+

Service Scenario

You can use the built-in TPC-H test suite of DLI to perform interactive query without uploading data.

+
+

Advantages of DLI Built-in TPC-H

  • You can log in to DLI and get permission to run SQL statements without creating tables or import data.
  • The 22 preset TPC-H SQL query templates with rich functions meet the requirements of most business scenarios. You do not need to download TPC-H query statements, which saves your time and energy.
  • Data Lake gives you brand-new experience of serverless DLI product within the minimum time.
+
+

Precautions

When a sub-account uses the TPC-H test suite, the main account needs to grant the sub-account the OBS access permission and the permission to view the main account table. If the master account has not logged in to DLI, the sub-account needs to have the permissions to create databases and tables in addition to the preceding permissions.

+
+

Operation Description

For details, see SQL Template Management.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0512.html b/docs/dli/umn/dli_01_0512.html new file mode 100644 index 00000000..85d2730c --- /dev/null +++ b/docs/dli/umn/dli_01_0512.html @@ -0,0 +1,29 @@ + + +

Developing and Submitting a Spark SQL Job Using the TPC-H Sample Template

+

To facilitate SQL operations, DLI allows you to customize query templates or save the SQL statements in use as templates. After templates are saved, you do not need to write SQL statements. You can directly perform the SQL operations using the templates.

+

The current system provides various standard TPC-H query statement templates. You can select a template as needed. This example shows how to use a TPC-H template to develop and submit a Spark SQL job.

+

Step 1: Logging in to the Cloud

+

Step 2: Logging In to the DLI Management Console

+

Step 3: Execute the TPC-H Sample Template and View the Result

+

For details about the templates, see SQL Template Management.

+

Step 1: Logging in to the Cloud

  1. Open the DLI homepage.
  2. On the login page, enter the username and password, and click Log In.
+
+

Step 2: Logging In to the DLI Management Console

  1. .
  2. The DLI management console page is displayed.

    You need to perform authorization when accessing the DLI management console for the first time. For details, see Service Authorization.

    +
    +
+
+

Step 3: Execute the TPC-H Sample Template and View the Result

  1. On the DLI management console, choose Job Templates > SQL Templates, and click the Sample Templates tab. Locate the Q1_Price_summary_report_query template under tpchQuery, and click Execute in the Operation column. The SQL Editor page is displayed.

    +
  2. In the upper part of the editing window, set Engine to spark, Queues to default, and Databases to default, and click Execute.

    +
  3. View the query result in the View Result tab in the lower part of the SQL Editor page.

    +
+

This example uses the default queue and database preset in the system as an example. You can also run query statements on a self-created queue and database.

+

For details about how to create a queue, see Creating a Queue. For details about how to create a database, see Creating a Database.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0531.html b/docs/dli/umn/dli_01_0531.html new file mode 100644 index 00000000..9815fa5e --- /dev/null +++ b/docs/dli/umn/dli_01_0531.html @@ -0,0 +1,141 @@ + + +

Creating and Submitting a Flink OpenSource SQL Job

+

This section describes how to submit a Flink OpenSource SQL job on the DLI console for real-time computing. The general procedure is as follows:

+

Step 1: Log In to the Cloud Platform

+

Step 2: Prepare a Data Source Channel

+

Step 3: Prepare a Data Output Channel

+

Step 4: Create an OBS Bucket to Store Output Data

+

Step 5: Creating a Queue

+

Step 6: Creating an Enhanced Datasource Connection Between DLI and Kafka

+

Step 7: Creating an Enhanced Datasource Connection Between DLI and RDS

+

Step 8: Creating a Flink OpenSource SQL Job

+

You need to create a Flink OpenSource SQL job that has an input stream and an output stream. The input stream reads data from Kafka, and the output stream writes data into RDS.

+

Step 1: Log In to the Cloud Platform

To use DLI, you need to log in to the cloud platform.

+
+
  1. Open the DLI homepage.
  2. On the login page, enter the username and password, and click Log In.
+

Step 2: Prepare a Data Source Channel

DLI Flink jobs allow other services to function as data sources and data output channels. For details, see"Preparing Data".

+

In this example, the job name is JobSample, Kafka is the data source, and DIS is enabled to for data integration. For details, see "Buying an Instance" in the Distributed Message Service Kafka User Guide.

+
  1. Create the dependent Kafka resources.
    Before creating a Kafka instance, ensure the availability of resources, including a virtual private cloud (VPC), subnet, security group, and security group rules.
    • For details about how to create a VPC and subnet, see "Creating a VPC and Subnet" in the Virtual Private Cloud User Guide. For details about how to create and use a subnet in an existing VPC, see "Create a subnet for the VPC" in the Virtual Private Cloud User Guide.
      • The created VPC and the Kafka instance you will create must be in the same region.
      • Retain the default settings unless otherwise specified.
      +
      +
    • For details about how to create a security group, see "Creating a Security Group" in the Virtual Private Cloud User Guide. For details about how to add rules to a security group, see "Creating a Subnet for the VPC" in the Virtual Private Cloud User Guide.
    +
    +

    For more information, see Managing Kafka Premium Instances > in the Distributed Message Service User Guide.

    +
  2. Create a DMS for Kafka Instance for job input streams.
    1. Log in to the DMS for Kafka console.
    2. Select a region in the upper left corner.
    3. On the DMS for Kafka page, click Buy Instance in the upper right corner and set related parameters. The required instance information is as follows:
      • Region: Select the region where DLI is located.
      • Project: Keep the default value.
      • AZ: Keep the default value.
      • Instance Name: kafka-dliflink
      • Enterprise Project: default
      • Version: Keep the default value.
      • CPU Architecture: Keep the default value.
      • Specifications: Select the specifications as needed.
      • Brokers: Keep the default value.
      • Storage Space: Keep the default value.
      • Capacity Threshold Policy: Keep the default value.
      • VPC and Subnet: Select the VPC and subnet created in 1.
      • Security Group: Select the security group created in 1.
      • Manager Username: Enter dliflink (used to log in to the instance management page).
      • Password: **** (The system cannot detect your password.)
      • Confirm Password: ****
      • More Settings: Do not configure this parameter.
      +
    4. Click Buy. The confirmation page is displayed.
    5. Click Submit.
    +
  3. Create a Kafka topic.
    1. Click the name of the created Kafka instance. The basic information page of the instance is displayed.
    2. Choose Topics in the navigation pane on the left. On the displayed page, click Create Topic. Configure the following parameters:
      • Topic Name: For this example, enter testkafkatopic.
      • Partitions: Set the value to 1.
      • Replicas: Set the value to 1.
      +

      Retain default values for other parameters.

      +
    +
+
+

Step 3: Prepare a Data Output Channel

To use RDS as the data output channel, create an RDS MySQL instance. For details, see Getting Started with RDS for MySQL.

+
  1. Log in to the RDS console.
  2. In the upper left corner of the management console, select the target region and project.
  3. Click Buy DB Instance in the upper right corner of the page and set related parameters. Retain the default values for other parameters.
    • Region: Select the region where DLI is located.
    • DB Instance Name: Enter rds-dliflink.
    • DB Engine: Select MySQL.
    • DB Engine Version: Select 8.0.
    • DB Instance Type: Select Primary/Standby.
    • Storage Type: Cloud SSD may be selected by default.
    • Primary AZ: Select a custom AZ.
    • Standby AZ: Select a custom AZ.
    • Time Zone: Keep the default value.
    • Instance Class: Select a class as needed and choose 2 vCPUs | 8 GB.
    • Storage Space (GB): Set it to 40.
    • VPC: Select the VPC and subnet created in 1.
    • Database Port: Enter 3306.
    • Security Group: Select the security group created in 1.
    • Administrator Password: **** (Keep the password secure. The system cannot retrieve your password.)
    • Confirm Password: ****
    • Parameter Template: Choose Default-MySQL-8.0.
    • Read Replica: Select Skip.
    +
  4. Click Next and confirm the specifications.
  5. Click Submit. The RDS DB instance is created.
  6. Log in to the MySQL database and create table orders in database flink.
    Log in to the MySQL instance, click the flink database. On the displayed page, click SQL Window. Enter the following table creation statement in the SQL editing pane to create a table.
    CREATE TABLE `flink`.`orders` (
    +	`order_id` VARCHAR(32) NOT NULL,
    +	`order_channel` VARCHAR(32) NULL,
    +	`order_time` VARCHAR(32) NULL,
    +	`pay_amount` DOUBLE UNSIGNED NOT NULL,
    +	`real_pay` DOUBLE UNSIGNED NULL,
    +	`pay_time` VARCHAR(32) NULL,
    +	`user_id` VARCHAR(32) NULL,
    +	`user_name` VARCHAR(32) NULL,
    +	`area_id` VARCHAR(32) NULL,
    +	PRIMARY KEY (`order_id`)
    +)	ENGINE = InnoDB
    +	DEFAULT CHARACTER SET = utf8mb4
    +	COLLATE = utf8mb4_general_ci;
    +
    +
+
+

Step 4: Create an OBS Bucket to Store Output Data

In this example, you need to enable OBS for JobSample to provide DLI Flink jobs with the functions of checkpoint, saving job logs, and commissioning test data.

+

For details about how to create a bucket, see Creating a Bucket in the Object Storage Service Console Operation Guide.

+
  1. In the navigation pane on the OBS management console, choose Object Storage.
  2. In the upper right corner of the page, click Create Bucket and set bucket parameters.
    • Region: Select the region where DLI is located.
    • Bucket Name: Enter a bucket name. For this example, enter obstest.
    • Default Storage Class: Standard
    • Bucket Policy: Private
    • Default Encryption: Do not enable
    • Direct Reading: Do not enable
    • Enterprise Project: default
    • Tags: Leave it blank.
    +
  3. Click Create Now.
+
+

Step 5: Creating a Queue

Flink OpenSource SQL jobs cannot run on the default queue. You need to create a queue, for example, Flinktest. For details, see Creating a Queue.

+
  1. Log in to the DLI management console. On the Overview page, click Buy Queue in the upper right corner.

    If this is your first time to log in to the DLI management console, you need to be authorized to access OBS.

    +
  2. Configure the following parameters:
    • Name: Flinktest
    • Queue Usage: Select For general purpose and enable Dedicated Resource Mode.
    • Specifications: 16 CUs
    • Enterprise Project: default
    • Description: Leave it blank.
    • Advanced Settings: Custom
    • CIDR Block: Set a CIDR block that does not conflict with the Kafka instance's CIDR block.
    +
  3. Click Buy and confirm the configuration.
  4. Submit the request.

    It takes 10 to 15 minutes to bind the queue to a cluster after the queue is created.

    +
+
+

Step 6: Creating an Enhanced Datasource Connection Between DLI and Kafka

You need to create an enhanced datasource connection for the Flink OpenSource SQL job. For details, see "Creating an Enhanced Datasource Connection".

+
  • The CIDR block of the DLI queue bound with a datasource connection cannot overlap with the CIDR block of the data source.
  • Datasource connections cannot be created for the default queue.
  • To access a table across data sources, you need to use a queue bound to a datasource connection.
+
+
  1. Create a Kafka security group rule to allow access from the CIDR block of the DLI queue.

    1. On the Kafka management console, click an instance name on the DMS for Kafka page. Basic information of the Kafka instance is displayed.
    2. In the Connection pane, obtain the Instance Address (Private Network). In the Network pane, obtain the VPC and subnet of the instance.
    3. Click the security group name in the Network pane. On the displayed page, click the Inbound Rules tab and add a rule to allow access from the DLI queue.

      For example, if the CIDR block of the queue is 10.0.0.0/16, set Priority to 1, Action to Allow, Protocol to TCP, Type to IPv4, Source to 10.0.0.0/16, and click OK.

      +
    +

  2. Create an enhanced datasource connection to Kafka.

    1. Log in to the DLI management console. In the navigation pane on the left, choose Datasource Connections. On the displayed page, click Create in the Enhanced tab.
    2. In the displayed dialog box, set the following parameters: For details, see the following section:
      • Connection Name: Name of the enhanced datasource connection For this example, enter dli_kafka.
      • Resource Pool: Select the name of the queue created in Step 5: Creating a Queue.
      • VPC: Select the VPC of the Kafka instance.
      • Subnet: Select the subnet of Kafka instance.
      • Set other parameters as you need.
      +

      Click OK. Click the name of the created datasource connection to view its status. You can perform subsequent steps only after the connection status changes to Active.

      +
    3. Choose Resources > Queue Management and locate the queue created in Step 5: Creating a Queue. In the Operation column, choose More > Test Address Connectivity.
    4. In the displayed dialog box, enter Kafka instance address (private network):port in the Address box and click Test to check whether the instance is reachable. Note that multiple addresses must be tested separately.
    +

+
+

Step 7: Creating an Enhanced Datasource Connection Between DLI and RDS

  1. Create an RDS security group rule to allow access from CIDR block of the DLI queue.

    If the RDS DB instance and Kafka instance are in the same security group of the same VPC, skip this step. Access from the DLI queue has been allowed in step 6-1.
    1. Go to the RDS console, click the name of the target RDS for MySQL DB instance on the Instances page. Basic information of the instance is displayed.
    2. In the Connection Information pane, obtain the floating IP address, database port, VPC, and subnet.
    3. Click the security group name. On the displayed page, click the Inbound Rules tab and add a rule to allow access from the DLI queue. For example, if the CIDR block of the queue is 10.0.0.0/16, set Priority to 1, Action to Allow, Protocol to TCP, Type to IPv4, Source to 10.0.0.0/16, and click OK.
    +
    +

  2. Create an enhanced datasource connection to RDS.

    If the RDS DB instance and Kafka instance are in the same VPC and subnet, skip this step. The enhanced datasource connection created in step 6-2 has connected the subnet.

    +
    If the two instances are in different VPCs or subnets, perform the following steps to create an enhanced datasource connection:
    1. Log in to the DLI management console. In the navigation pane on the left, choose Datasource Connections. On the displayed page, click Create in the Enhanced tab.
    2. In the displayed dialog box, set the following parameters: For details, see the following section:
      • Connection Name: Name of the enhanced datasource connection For this example, enter dli_rds.
      • Resource Pool: Select the name of the queue created in Step 5: Creating a Queue.
      • VPC: Select the VPC of the RDS DB instance.
      • Subnet: Select the subnet of RDS DB instance.
      • Set other parameters as you need.
      +

      Click OK. Click the name of the created datasource connection to view its status. You can perform subsequent steps only after the connection status changes to Active.

      +
    3. Choose Resources > Queue Management and locate the queue created in Step 5: Creating a Queue. In the Operation column, choose More > Test Address Connectivity.
    4. In the displayed dialog box, enter floating IP address:database port of the RDS DB instance in the Address box and click Test to check whether the database is reachable.
    +
    +

+
+

Step 8: Creating a Flink OpenSource SQL Job

After the data source and data output channel are prepared, you can create a Flink OpenSource SQL job.

+
  1. In the left navigation pane of the DLI management console, choose Job Management > Flink Jobs. The Flink Jobs page is displayed.
  2. In the upper right corner of the Flink Jobs page, click Create Job. Set the following parameters:
    • Type: Flink OpenSource SQL
    • Name: JobSample
    • Description: Leave it blank.
    • Template Name: Do not select any template.
    +
  3. Click OK to enter the editing page.
  4. Set job running parameters. The mandatory parameters are as follows:
    • Queue: Flinktest
    • Flink Version: Select 1.12.
    • Save Job Log: Enable this function.
    • OBS Bucket: Select an OBS bucket for storing job logs and grant access permissions of the OBS bucket as prompted.
    • Enable Checkpointing: Enable this function.
    +

    You do not need to set other parameters.

    +
  5. Click Save.
  6. Edit the Flink OpenSource SQL job.
    In the SQL statement editing area, enter query and analysis statements as you need. The example statements are as follows. Note that the values of the parameters in bold must be changed according to the comments.
    CREATE TABLE kafkaSource (
    +  order_id string,
    +  order_channel string,
    +  order_time string, 
    +  pay_amount double,
    +  real_pay double,
    +  pay_time string,
    +  user_id string,
    +  user_name string,
    +  area_id string
    +) WITH (
    +  'connector' = 'kafka',
    +  'topic' = 'testkafkatopic',// Topic to be written to Kafka. Log in to the Kafka console, click the name of the created Kafka instance, and view the topic name on the Topic Management page.
    +  'properties.bootstrap.servers' = "192.168.0.237:9092,192.168.0.252:9092,192.168.0.137:9092", // Replace it with the internal network address and port number of Kafka.
    +  'properties.group.id' = 'GroupId',
    +  'scan.startup.mode' = 'latest-offset',
    +  'format' = 'json'
    +);
    +
    +CREATE TABLE jdbcSink (
    +  order_id string,
    +  order_channel string,
    +  order_time string,
    +  pay_amount double,
    +  real_pay double,
    +  pay_time string,
    +  user_id string,
    +  user_name string,
    +  area_id string
    +) WITH (
    +  'connector' = 'jdbc',
    +  'url' = "jdbc:mysql://172.16.0.116:3306/rds-dliflink", //  testrdsdb indicates the name of the created RDS database. Replace the IP address and port number with those of the RDS for MySQL instance.
    +  'table-name' = 'orders',
    +  'username' = "xxxxx",  //  Username of the RDS for MySQL DB instance
    +  'password'="xxxxx",  //  Password of the RDS for MySQL DB instance
    +  'sink.buffer-flush.max-rows' = '1'
    +);
    +
    +insert into jdbcSink select * from kafkaSource;
    +
    +
  7. Click Check Semantics.
  8. Click Start. On the displayed Start Flink Job page, confirm the job specifications and the price, and click Start Now to start the job.

    After the job is started, the system automatically switches to the Flink Jobs page, and the created job is displayed in the job list. You can view the job status in the Status column. After a job is successfully submitted, Status of the job will change from Submitting to Running.

    +

    If Status of a job is Submission failed or Running exception, the job fails to be submitted or fails to run. In this case, you can move the cursor over the status icon to view the error details. You can click to copy these details. After handling the fault based on the provided information, resubmit the job.

    +
  9. Connect to the Kafka cluster and send the following test data to the Kafka topics:
    {"order_id":"202103241000000001", "order_channel":"webShop", "order_time":"2021-03-24 10:00:00", "pay_amount":"100.00", "real_pay":"100.00", "pay_time":"2021-03-24 10:02:03", "user_id":"0001", "user_name":"Alice", "area_id":"330106"} 
    +
    +{"order_id":"202103241606060001", "order_channel":"appShop", "order_time":"2021-03-24 16:06:06", "pay_amount":"200.00", "real_pay":"180.00", "pay_time":"2021-03-24 16:10:06", "user_id":"0001", "user_name":"Alice", "area_id":"330106"}
    +
  10. Run the following SQL statement in the MySQL database to view data in the table:
    select * from order;
    +
    The following is an example of the result (note that the following data is replicated from the MySQL database but not the data style in the MySQL database):
    202103241000000001,webShop,2021-03-24 10:00:00,100.0,100.0,2021-03-24 10:02:03,0001,Alice,330106
    +202103241606060001,appShop,2021-03-24 16:06:06,200.0,180.0,2021-03-24 16:10:06,0001,Alice,330106
    +
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_01_0538.html b/docs/dli/umn/dli_01_0538.html new file mode 100644 index 00000000..bc09d577 --- /dev/null +++ b/docs/dli/umn/dli_01_0538.html @@ -0,0 +1,25 @@ + + + +

Service Overview

+ +

+
+ +
+ +
+ diff --git a/docs/dli/umn/dli_01_0539.html b/docs/dli/umn/dli_01_0539.html new file mode 100644 index 00000000..f0e0fb48 --- /dev/null +++ b/docs/dli/umn/dli_01_0539.html @@ -0,0 +1,29 @@ + + + +

FAQs

+ +

+
+ +
+ +
+ diff --git a/docs/dli/umn/dli_03_0001.html b/docs/dli/umn/dli_03_0001.html new file mode 100644 index 00000000..ebbb3a33 --- /dev/null +++ b/docs/dli/umn/dli_03_0001.html @@ -0,0 +1,37 @@ + + +

Product Consultation

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_03_0002.html b/docs/dli/umn/dli_03_0002.html new file mode 100644 index 00000000..841097a4 --- /dev/null +++ b/docs/dli/umn/dli_03_0002.html @@ -0,0 +1,11 @@ + + +

What Is DLI?

+

Data Lake Insight (DLI) is a serverless data processing and analysis service fully compatible with Apache Spark, and Flink ecosystems. It frees you from managing any server. DLI supports standard SQL and is compatible with Spark and Flink SQL. It also supports multiple access modes, and is compatible with mainstream data formats. DLI supports SQL statements and Spark applications for heterogeneous data sources, including CloudTable, RDS, GaussDB(DWS), CSS, OBS, custom databases on ECSs, and offline databases.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0008.html b/docs/dli/umn/dli_03_0008.html new file mode 100644 index 00000000..65fb9c29 --- /dev/null +++ b/docs/dli/umn/dli_03_0008.html @@ -0,0 +1,11 @@ + + +

What Is Column Permission Granting of a DLI Partition Table?

+

You cannot perform permission-related operations on the partition column of a partition table. However, when you grant the permission of any non-partition column in a partition table to another user, the user gets the permission of the partition column by default. When the user views the permission of the partition table, the permission of the partition column will not be displayed.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0009.html b/docs/dli/umn/dli_03_0009.html new file mode 100644 index 00000000..94c995e9 --- /dev/null +++ b/docs/dli/umn/dli_03_0009.html @@ -0,0 +1,11 @@ + + +

How Can I Avoid Garbled Characters Caused by Inconsistent Character Codes?

+

DLI supports only UTF-8-encoded texts. Ensure that data is encoded using UTF-8 during table creation and import.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0010.html b/docs/dli/umn/dli_03_0010.html new file mode 100644 index 00000000..f465fe3b --- /dev/null +++ b/docs/dli/umn/dli_03_0010.html @@ -0,0 +1,11 @@ + + +

How Can I Use DLI If Data Is Not Uploaded to OBS?

+

Currently, DLI supports analysis only on the data uploaded to the cloud. In scenarios where regular (for example, on a per day basis) one-off analysis on incremental data is conducted for business, you can do as follows: Anonymize data to be analyzed and store anonymized data on OBS temporarily. After analysis is complete, export the analysis report and delete the data temporarily stored on OBS.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0011.html b/docs/dli/umn/dli_03_0011.html new file mode 100644 index 00000000..463da933 --- /dev/null +++ b/docs/dli/umn/dli_03_0011.html @@ -0,0 +1,12 @@ + + +

How Can I Perform Query on Data Stored on Services Rather Than DLI?

+

To perform query on data stored on services rather than DLI, perform the following steps:

+
  1. Assume that the data to be queried is stored on multiple services (for example, OBS) on cloud.
  2. On the DLI management console, create a table and set the Path parameter to the save path of the target data, for example, path of an OBS bucket. The data is actually stored on OBS and data migration is not required.
  3. On the DLI management console, edit SQL statements to query and analyze the data.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0013.html b/docs/dli/umn/dli_03_0013.html new file mode 100644 index 00000000..13a73692 --- /dev/null +++ b/docs/dli/umn/dli_03_0013.html @@ -0,0 +1,11 @@ + + +

The Compression Ratio of OBS Tables Is Too High

+

A high compression ratio of OBS tables in the Parquet or ORC format (for example, a compression ratio of 5 or higher compared with text compression) will lead to large data volumes to be processed by a single task. In this case, you are advised to set dli.sql.files.maxPartitionBytes to 33554432 (default: 134217728) in the conf field in the submit-job request body to reduce the data to be processed per task.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0014.html b/docs/dli/umn/dli_03_0014.html new file mode 100644 index 00000000..dc613bef --- /dev/null +++ b/docs/dli/umn/dli_03_0014.html @@ -0,0 +1,11 @@ + + +

What Should I Do If Error "path obs://xxx already exists" Is Reported When Data Is Exported to OBS?

+

Create an OBS directory with a unique name. Alternatively, you can manually delete the existing OBS directory and submit the job again. However, exercise caution when deleting the existing OBS directory because the operation will delete all data in the directory.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0017.html b/docs/dli/umn/dli_03_0017.html new file mode 100644 index 00000000..a6b301aa --- /dev/null +++ b/docs/dli/umn/dli_03_0017.html @@ -0,0 +1,35 @@ + + +

How Do I Set the AK/SK for a Queue to Operate an OBS Table?

+
  • If the AK and SK are obtained, set the parameters as follows:
    • Create SparkContext using code
      val sc: SparkContext = new SparkContext()
      +sc.hadoopConfiguration.set("fs.obs.access.key", ak)
      +sc.hadoopConfiguration.set("fs.obs.secret.key", sk)
      +
    • Create SparkSession using code
      val sparkSession: SparkSession = SparkSession
      +      .builder()
      +      .config("spark.hadoop.fs.obs.access.key", ak)
      +      .config("spark.hadoop.fs.obs.secret.key", sk)
      +      .enableHiveSupport()
      +      .getOrCreate()
      +
    +
  • If ak, sk, and securitytoken are obtained, the temporary AK/SK and security token must be used at the same time during authentication. The setting is as follows:
    • Create SparkContext using code
      val sc: SparkContext = new SparkContext()
      +sc.hadoopConfiguration.set("fs.obs.access.key", ak)
      +sc.hadoopConfiguration.set("fs.obs.secret.key", sk)
      +sc.hadoopConfiguration.set("fs.obs.session.token", sts)
      +
    • Create SparkSession using code
      val sparkSession: SparkSession = SparkSession
      +      .builder()
      +      .config("spark.hadoop.fs.obs.access.key", ak)
      +      .config("spark.hadoop.fs.obs.secret.key", sk)
      +      .config("spark.hadoop.fs.obs.session.token", sts)
      +      .enableHiveSupport()
      +      .getOrCreate()
      +
    +
+

For security purposes, you are advised not to include the AK and SK information in the OBS path. In addition, if a table is created in the OBS directory, the OBS path specified by the Path field cannot contain the AK and SK information.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0020.html b/docs/dli/umn/dli_03_0020.html new file mode 100644 index 00000000..7dc5e544 --- /dev/null +++ b/docs/dli/umn/dli_03_0020.html @@ -0,0 +1,91 @@ + + +

Problems Related to SQL Jobs

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_03_0021.html b/docs/dli/umn/dli_03_0021.html new file mode 100644 index 00000000..27ff75e2 --- /dev/null +++ b/docs/dli/umn/dli_03_0021.html @@ -0,0 +1,47 @@ + + +

Problems Related to Spark Jobs

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_03_0022.html b/docs/dli/umn/dli_03_0022.html new file mode 100644 index 00000000..1a893b13 --- /dev/null +++ b/docs/dli/umn/dli_03_0022.html @@ -0,0 +1,54 @@ + + +

Datasource Connections

+

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_03_0023.html b/docs/dli/umn/dli_03_0023.html new file mode 100644 index 00000000..45ae1e20 --- /dev/null +++ b/docs/dli/umn/dli_03_0023.html @@ -0,0 +1,31 @@ + + +

What Can I Do When Receiving java.lang.AbstractMethodError in the Spark Job?

+

The Spark 2.3 has changed the behavior of the internal interface Logging. If the user code directly inherits the Logging and the earlier version Spark is used during compilation, the java.lang.AbstractMethodError is reported when the application runs in the Spark 2.3 environment.

+

Solutions are as follows:

+
  • You can recompile the application based on Spark 2.3.
  • You can use the sl4j+log4j to implement the log function instead of inheriting the internal interface Logging of the Spark. Details are described as follows:
    <dependency>
    +  <groupId>org.slf4j</groupId>
    +  <artifactId>slf4j-api</artifactId>
    +  <version>1.7.16</version>
    +</dependency>
    +<dependency>
    +  <groupId>org.slf4j</groupId>
    +  <artifactId>slf4j-log4j12</artifactId>
    +  <version>1.7.16</version>
    +</dependency>
    +<dependency>
    +  <groupId>log4j</groupId>
    +  <artifactId>log4j</artifactId>
    +  <version>1.2.17</version>
    +</dependency>
    +
    +private val logger = LoggerFactory.getLogger(this.getClass)
    +logger.info("print log with sl4j+log4j")
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0025.html b/docs/dli/umn/dli_03_0025.html new file mode 100644 index 00000000..a73c0333 --- /dev/null +++ b/docs/dli/umn/dli_03_0025.html @@ -0,0 +1,12 @@ + + +

Which Data Formats Does DLI Support?

+

DLI supports the following data formats:

+
  • Parquet
  • CSV
  • ORC
  • Json
  • Avro
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0028.html b/docs/dli/umn/dli_03_0028.html new file mode 100644 index 00000000..5ea12f32 --- /dev/null +++ b/docs/dli/umn/dli_03_0028.html @@ -0,0 +1,11 @@ + + +

How Do I Set the Auto-increment Primary Key or Other Fields That Are Automatically Filled in the RDS Table When Creating a DLI and Associating It with the RDS Table?

+

When data is inserted into DLI, set the ID field to NULL.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0029.html b/docs/dli/umn/dli_03_0029.html new file mode 100644 index 00000000..c1f8fa13 --- /dev/null +++ b/docs/dli/umn/dli_03_0029.html @@ -0,0 +1,12 @@ + + +

Where Can DLI Data Be Stored?

+

DLI data can be stored in either of the following:

+
  • OBS: Data used by SQL jobs, Spark jobs, and Flink jobs can be stored in OBS, reducing storage costs.
  • DLI: The column-based Parquet format is used in DLI. That is, the data is stored in the Parquet format. The storage cost is relatively high.
  • Datasource connection jobs can be stored in the connected services. Currently, CloudTable, CSS, DCS, DDS, GaussDB(DWS), MRS, and RDS are supported.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0031.html b/docs/dli/umn/dli_03_0031.html new file mode 100644 index 00000000..c001beb4 --- /dev/null +++ b/docs/dli/umn/dli_03_0031.html @@ -0,0 +1,13 @@ + + +

How Do I View My Quotas?

+
  1. Log in to the management console.
  2. Click in the upper left corner and select Region and Project.
  3. Click (the My Quotas icon) in the upper right corner.

    The Service Quota page is displayed.

    +
  4. View the used and total quota of each type of resources on the displayed page.

    If a quota cannot meet service requirements, increase a quota.

    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0032.html b/docs/dli/umn/dli_03_0032.html new file mode 100644 index 00000000..c6b3d2ae --- /dev/null +++ b/docs/dli/umn/dli_03_0032.html @@ -0,0 +1,17 @@ + + +

How Do I Increase a Quota?

+

Increasing a Quota

The system does not support online quota adjustment. To increase a resource quota, dial the hotline or send an email to the customer service. We will process your application and inform you of the progress by phone call or email.

+

Before dialing the hotline number or sending an email, ensure that the following information has been obtained:

+
  • Domain name, project name, and project ID

    Log in to the management console, click the username in the upper-right corner, choose My Credentials, and obtain the domain name, project name, and project ID.

    +
  • Quota information, including:
    • Service name
    • Quota type
    • Required quota
    +
+

Learn how to obtain the service hotline and email address.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0037.html b/docs/dli/umn/dli_03_0037.html new file mode 100644 index 00000000..9f0112ac --- /dev/null +++ b/docs/dli/umn/dli_03_0037.html @@ -0,0 +1,91 @@ + + +

Flink Jobs

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_03_0038.html b/docs/dli/umn/dli_03_0038.html new file mode 100644 index 00000000..5c9d1f8b --- /dev/null +++ b/docs/dli/umn/dli_03_0038.html @@ -0,0 +1,50 @@ + + +

How Do I Configure Checkpoints for Flink Jar Jobs and Save the Checkpoints to OBS?

+

The procedure is as follows:

+
  1. Add the following code to the JAR package code of the Flink Jar job:
    // Configure the pom file on which the StreamExecutionEnvironment depends.
    +StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    +
    +        env.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE);
    +        env.getCheckpointConfig().setCheckpointInterval(40000);
    +        env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION);
    +        RocksDBStateBackend rocksDbBackend = new RocksDBStateBackend(new FsStateBackend("obs://${userAk}:${userSk}@${obsendpoint}:443/${bucket}/jobs/checkpoint/my_jar"), false);
    +        rocksDbBackend.setOptions(new OptionsFactory() {
    +            @Override
    +            public DBOptions createDBOptions(DBOptions currentOptions) {
    +                return currentOptions
    +                        .setMaxLogFileSize(64 * 1024 * 1024)
    +                        .setKeepLogFileNum(3);
    +            }
    +
    +            @Override
    +            public ColumnFamilyOptions createColumnOptions(ColumnFamilyOptions currentOptions) {
    +                return currentOptions;
    +            }
    +        });
    +        env.setStateBackend(rocksDbBackend);
    +

    The preceding code saves the checkpoint to the ${bucket} bucket in jobs/checkpoint/my_jar path every 40 seconds in EXACTLY_ONCE mode.

    +

    Pay attention to the checkpoint storage path. Generally, the checkpoint is stored in the OBS bucket. The path format is as follows:

    +
    • obs://${dataUserAk}:${dataUserSk}@${obsendpoint}:443/${bucket}/xxx/xxx/xxx
    • Add the following configuration to the POM file for the packages on which the StreamExecutionEnvironment depends:
      <dependency>
      +            <groupId>org.apache.flink</groupId>
      +            <artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
      +            <version>${flink.version}</version>
      +            <scope>provided</scope>
      +</dependency>
      +
    +
    +
  2. Enable Restore Job from Checkpoint for a DLI Flink Jar job.
    1. On the DLI management console, choose Job Management > Flink Jobs from the navigation pane on the left.
    2. In the Operation column of the Flink Jar job, click Edit. The Flink Jar job editing page is displayed.
    3. Select Auto Restart upon Exception.
    4. Select Restore Job from Checkpoint and set the Checkpoint Path.

      The checkpoint path is the same as that you set in JAR package code. The format is as follows:

      +
      • ${bucket}/xxx/xxx/xxx
      • Example

        If the path in the JAR package is obs://xxxxxxx:xxxxxxxxxx@${obsendpoint}:443/mybucket/jobs/checkpoint/jar-3,

        +

        Set Checkpoint Path to mybucket/jobs/checkpoint/jar-3.

        +
      +
    +
    • The checkpoint path for each Flink Jar job must be unique. Otherwise, data cannot be restored.
    • DLI can access files in the checkpoint path only after DLI is authorized to access the OBS bucket.
    +
    +
  3. Check whether the job is restored from the checkpoint.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0040.html b/docs/dli/umn/dli_03_0040.html new file mode 100644 index 00000000..76998031 --- /dev/null +++ b/docs/dli/umn/dli_03_0040.html @@ -0,0 +1,13 @@ + + +

What Should I Do If the DIS Stream Does Not Exist During the Semantic Check?

+

To rectify this fault, perform the following steps:

+
  1. Log in to the DIS management console. In the navigation pane, choose Stream Management. View the Flink job SQL statements to check whether the DIS stream exists.
  2. If the DIS stream was not created, create a DIS stream by referring to "Creating a DIS Stream" in the Data Ingestion Service User Guide.

    Ensure that the created DIS stream and Flink job are in the same region.

    +
  3. If a DIS stream has been created, check whether the DIS stream and the Flink job are in the same region.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0043.html b/docs/dli/umn/dli_03_0043.html new file mode 100644 index 00000000..2b32fa22 --- /dev/null +++ b/docs/dli/umn/dli_03_0043.html @@ -0,0 +1,11 @@ + + +

How Can I Check Flink Job Results?

+
  • DLI can output Flink job results to DIS. You can view the results in DIS. For details, see Retrieving Data from DIS in the Data Ingestion Service User Guide.
  • DLI can output Flink job results to RDS. You can view the results in RDS. For details, see Relational Database Service Getting Started Guide.
  • DLI can output Flink job results to SMN, and SMN sends the results to the user's terminal. For details, see Simple Message Notification Getting Started Guide.
  • DLI can output Flink job results to Kafka. You can view the results in Kafka clusters. For details, visit the Kafka official website.
  • DLI can output Flink job results to CloudTable. You can view the results in CloudTable. For details, see Getting Started in the CloudTable Service User Guide.
  • DLI can export Flink job results to CSS. You can view the results in CSS. For details, see Getting Started in the Cloud Search Service User Guide.
  • DLI can export Flink job results to DCS. You can view the results in DCS. For details, see Getting Started in the Distributed Cache Service User Guide.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0044.html b/docs/dli/umn/dli_03_0044.html new file mode 100644 index 00000000..db7d4f81 --- /dev/null +++ b/docs/dli/umn/dli_03_0044.html @@ -0,0 +1,12 @@ + + +

Does a Flink JAR Job Support Configuration File Upload? How Do I Upload a Configuration File?

+

Configuration files can be uploaded for user-defined jobs (JAR).

+
  1. Upload the configuration file to DLI through Package Management.
  2. In the Other Dependencies area of the Flink JAR job, select the created DLI package.
  3. Load the file through ClassName.class.getClassLoader().getResource("userData/fileName") in the code. In the file name, fileName indicates the name of the file to be accessed, and ClassName indicates the name of the class that needs to access the file.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0045.html b/docs/dli/umn/dli_03_0045.html new file mode 100644 index 00000000..00c6aa8e --- /dev/null +++ b/docs/dli/umn/dli_03_0045.html @@ -0,0 +1,13 @@ + + +

What Should I Do If the OBS Bucket Selected for a Job Is Not Authorized?

+

If the OBS bucket selected for a job is not authorized, perform the following steps:

+
  1. On the DLI management console, choose Global Configuration > Service Authorization and select the Tenant Administrator (Global service) permission. Update the permission settings.
  2. In the navigation pane, choose Job Management > Flink Jobs.
  3. In the row where the target job resides, click Edit under Operation to switch to the Edit page.
  4. Configure parameters under Running Parameters on the Edit page.

    1. Select Enable Checkpointing or Save Job Log.
    2. Specify OBS Bucket.
    3. Select Authorize OBS.
    +

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0046.html b/docs/dli/umn/dli_03_0046.html new file mode 100644 index 00000000..aab7541d --- /dev/null +++ b/docs/dli/umn/dli_03_0046.html @@ -0,0 +1,13 @@ + + +

What Should I Do If A Schema Parsing Error Is Reported When I Create a Hive Table Using CTAS

+

Currently, DLI supports the Hive syntax for creating tables of the TEXTFILE, SEQUENCEFILE, RCFILE, ORC, AVRO, and PARQUET file types. If the file format specified for creating a table in the CTAS is AVRO and digits are directly used as the input of the query statement (SELECT), for example, if the query is CREATE TABLE tb_avro STORED AS AVRO AS SELECT 1, a schema parsing exception is reported.

+

If the column name is not specified, the content after SELECT is used as both the column name and inserted value. The column name of the AVRO table cannot be a digit. Otherwise, an error will be reported, indicating that the schema fails to be parsed.

+

Solution: You can use CREATE TABLE tb_avro STORED AS AVRO AS SELECT 1 AS colName to specify the column name or set the storage format to a format other than AVRO.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0047.html b/docs/dli/umn/dli_03_0047.html new file mode 100644 index 00000000..71a6e34f --- /dev/null +++ b/docs/dli/umn/dli_03_0047.html @@ -0,0 +1,18 @@ + + +

Why Is the Error Message "communication link failure" Displayed When I Use a Newly Activated Datasource Connection?

+
  • Possible Causes

    The network connectivity is abnormal. Check whether the security group is correctly selected and whether the VPC is correctly configured.

    +
  • Solution

    Example: When you create an RDS datasource connection, the system displays the error message Communication link failure.

    +
    1. Delete the original datasource connection and create a new one. When you create a new connection, ensure that the selected Security Group, VPC, Subnet, and Destination Address are the same as those in RDS.

      Select a correct Service Type. In this example, select RDS.

      +
      +

      +
    2. Check the configurations of VPC.

      If the error message is still displayed after you create a new datasource connection according to Step 1, check the VPC configuration.

      +
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0048.html b/docs/dli/umn/dli_03_0048.html new file mode 100644 index 00000000..6f98e404 --- /dev/null +++ b/docs/dli/umn/dli_03_0048.html @@ -0,0 +1,16 @@ + + +

How Do I Write Data to Different Elasticsearch Clusters in a Flink Job?

+

Add the following SQL statements to the Flink job:

+
create source stream ssource(xx);
+create sink stream es1(xx) with (xx);
+create sink stream es2(xx) with (xx);
+insert into es1 select * from ssource;
+insert into es2 select * from ssource;
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0049.html b/docs/dli/umn/dli_03_0049.html new file mode 100644 index 00000000..b0eb2933 --- /dev/null +++ b/docs/dli/umn/dli_03_0049.html @@ -0,0 +1,35 @@ + + +

Queue

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_03_0053.html b/docs/dli/umn/dli_03_0053.html new file mode 100644 index 00000000..a903a240 --- /dev/null +++ b/docs/dli/umn/dli_03_0053.html @@ -0,0 +1,18 @@ + + +

Quota

+

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_03_0054.html b/docs/dli/umn/dli_03_0054.html new file mode 100644 index 00000000..0b43f449 --- /dev/null +++ b/docs/dli/umn/dli_03_0054.html @@ -0,0 +1,29 @@ + + +

Permission

+
+
+ + + +
+ diff --git a/docs/dli/umn/dli_03_0061.html b/docs/dli/umn/dli_03_0061.html new file mode 100644 index 00000000..a66ec3f3 --- /dev/null +++ b/docs/dli/umn/dli_03_0061.html @@ -0,0 +1,11 @@ + + +

Does Data in the Temporary Stream of Flink SQL Need to Be Cleared Periodically? How Do I Clear the Data?

+

The temp stream in Flink SQL is similar to a subquery. It is a logical stream used to simplify the SQL logic and does not generate data storage. Therefore, there is no need to clean data.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0064.html b/docs/dli/umn/dli_03_0064.html new file mode 100644 index 00000000..93475576 --- /dev/null +++ b/docs/dli/umn/dli_03_0064.html @@ -0,0 +1,16 @@ + + +

What Should I Do If Logs Are Not Written to the OBS Bucket After a DLI Flink Job Fails to Be Submitted for Running?

+

Mode for storing generated job logs when a DLI Flink job fails to be submitted or executed. The options are as follows:

+
  • If the submission fails, a submission log is generated only in the submit-client directory.
  • You can view the logs generated within 1 minute when the job fails to be executed on the management console.

    Choose Job Management > Flink Jobs, click the target job name to go to the job details page, and click Run Log to view real-time logs.

    +
  • If the running fails and exceeds 1 minute (the log dump period is 1 minute), run logs are generated in the application_xx directory.
+
Flink dependencies have been built in the DLI server and security hardening has been performed based on the open-source community version. To avoid dependency package compatibility issues or log output and dump issues, be careful to exclude the following files when packaging:
  • Built-in dependencies (or set the package dependency scope to "provided")
  • Log configuration files (example, log4j.properties/logback.xml)
  • JAR file for log output implementation (example, log4j).
+
+

On this basis, the taskmanager.log file rolls as the log file size and time change.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0065.html b/docs/dli/umn/dli_03_0065.html new file mode 100644 index 00000000..7171d5a8 --- /dev/null +++ b/docs/dli/umn/dli_03_0065.html @@ -0,0 +1,13 @@ + + +

How Do I Switch an Earlier-Version Spark Queue to a General-Purpose Queue?

+

Currently, DLI provides two types of queues, For SQL and For general use. SQL queues are used to run SQL jobs. General-use queues are compatible with Spark queues of earlier versions and are used to run Spark and Flink jobs.

+

You can perform the following steps to convert an old Spark queue to a general purpose queue.

+
  1. Purchase a general purpose queue again.
  2. Migrate the jobs in the old Spark queue to the new general queue. That is, specify a new queue when submitting Spark jobs.
  3. Release the old Spark queue, that is, delete it or unsubscribe it from the queue.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0066.html b/docs/dli/umn/dli_03_0066.html new file mode 100644 index 00000000..bd7a7190 --- /dev/null +++ b/docs/dli/umn/dli_03_0066.html @@ -0,0 +1,16 @@ + + +

What Should I Do If "SQL_ANALYSIS_ERROR: Reference 't.id' is ambiguous, could be: t.id, t.id.;" Is Displayed When Two Tables Are Joined

+

This message indicates that the two tables to be joined contain the same column, but the owner of the column is not specified when the command is executed.

+

For example, tables tb1 and tb2 contain the id field.

+
Incorrect command:
select id from tb1 join tb2;
+
+

Correct command:

+
select tb1.id from tb1 join tb2;
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0068.html b/docs/dli/umn/dli_03_0068.html new file mode 100644 index 00000000..974a170f --- /dev/null +++ b/docs/dli/umn/dli_03_0068.html @@ -0,0 +1,17 @@ + + +

How Do I Use JDBC to Set the spark.sql.shuffle.partitions Parameter to Improve the Task Concurrency?

+

Scenario

When shuffle statements, such as GROUP BY and JOIN, are executed in Spark jobs, data skew occurs, which slows down the job execution.

+

To solve this problem, you can configure spark.sql.shuffle.partitions to improve the concurrency of shuffle read tasks.

+
+

Configuring spark.sql.shuffle.partitions

You can use the set clause to configure the dli.sql.shuffle.partitions parameter in JDBC. The statement is as follows:

+
Statement st = conn.stamte()
+st,execute("set spark.sql.shuffle.partitions=20")
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0069.html b/docs/dli/umn/dli_03_0069.html new file mode 100644 index 00000000..77d25473 --- /dev/null +++ b/docs/dli/umn/dli_03_0069.html @@ -0,0 +1,33 @@ + + +

How Can I Use the count Function to Perform Aggregation?

+

The correct method for using the count function to perform aggregation is as follows:

+
SELECT
+  http_method,
+  count(http_method)
+FROM
+  apigateway
+WHERE
+  service_id = 'ecs' Group BY http_method
+

Or

+
SELECT
+  http_method
+FROM
+  apigateway
+WHERE
+  service_id = 'ecs' DISTRIBUTE BY http_method
+

If an incorrect method is used, an error will be reported.

+
SELECT
+  http_method,
+  count(http_method)
+FROM
+  apigateway
+WHERE
+  service_id = 'ecs' DISTRIBUTE BY http_method
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0071.html b/docs/dli/umn/dli_03_0071.html new file mode 100644 index 00000000..5d9ef42d --- /dev/null +++ b/docs/dli/umn/dli_03_0071.html @@ -0,0 +1,12 @@ + + +

What Should I Do If the System Notify Me that I Have No Permission to Execute the Query Statement Because the Current Account Was Restricted?

+

Check whether the account is in arrears. If yes, recharge the account.

+

If the error persists, log out and log in again.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0072.html b/docs/dli/umn/dli_03_0072.html new file mode 100644 index 00000000..e4ce9f3c --- /dev/null +++ b/docs/dli/umn/dli_03_0072.html @@ -0,0 +1,12 @@ + + +

How Do I Synchronize DLI Table Data from One Region to Another?

+

You can use the cross-region replication function of OBS. The procedure is as follows:

+
  1. Export the DLI table data in region 1 to the user-defined OBS bucket. For details, see "Exporting Data from DLI to OBS" in the Data Lake Insight User Guide.
  2. Use the OBS cross-region replication function to replicate data to the OBS bucket in region 2. For details, see "Exporting Data from DLI to OBS" in the Data Lake Insight User Guide.
  3. Import or use the corresponding data as required.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0075.html b/docs/dli/umn/dli_03_0075.html new file mode 100644 index 00000000..09adacbd --- /dev/null +++ b/docs/dli/umn/dli_03_0075.html @@ -0,0 +1,64 @@ + + +

How Can I Map an OBS Table to a DLI Partition Table?

+

In this example, the day field is used as the partition field with the parquet encoding format (only the parquet format is supported currently) to dump car_info data to OBS. For more information, see the "File System Sink Stream" in the Data Lake Insight SQL Syntax Reference.

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
create sink stream car_infos (
+  carId string,
+  carOwner string,
+  average_speed double,
+  day string
+  ) partitioned by (day)
+  with (
+    type = "filesystem",
+    file.path = "obs://obs-sink/car_infos",
+    encode = "parquet",
+    ak = "{{myAk}}",
+    sk = "{{mySk}}"
+);
+
+ +
+

Structure of the data storage directory in OBS: obs://obs-sink/car_infos/day=xx/part-x-x.

+

After the data is generated, the OBS partition table can be established for subsequent batch processing through the following SQL statements:

+
  1. Create an OBS partition table.
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    create table car_infos (
    +  carId string,
    +  carOwner string,
    +  average_speed double
    +)
    +  partitioned by (day string)
    +  stored as parquet
    +  location 'obs://obs-sink/car-infos';
    +
    + +
    +
  2. Restore partition information from the associated OBS path.
    1
    alter table car_infos recover partitions;
    +
    + +
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0076.html b/docs/dli/umn/dli_03_0076.html new file mode 100644 index 00000000..15014241 --- /dev/null +++ b/docs/dli/umn/dli_03_0076.html @@ -0,0 +1,15 @@ + + +

How Do I Use Python Scripts to Access the MySQL Database If the pymysql Module Is Missing from the Spark Job Results Stored in MySQL?

+
  1. If the pymysql module is missing, check whether the corresponding EGG package exists. If the package does not exist, upload the pyFile package on the Package Management page. The procedure is as follows:
    1. Upload the egg package to the specified OBS path.
    2. Log in to the DLI management console and choose Data Management > Package Management.
    3. On the Package Management page, click Create Package in the upper right corner to create a package.
    4. In the Create Package dialog, set the following parameters:
      • Type: Select PyFile.
      • OBS Path: Select the OBS path where the egg package is stored.
      • Set Group and Group Name as you need.
      +
    5. Click OK.
    6. On the Spark job editing page where the error is reported, choose the uploaded egg package from the Python File Dependencies drop-down list and run the Spark job again.
    +
  2. To interconnect PySpark jobs with MySQL, you need to create a datasource connection to enable the network between DLI and RDS.

    For details about how to create a datasource connection on the management console, see Data Lake Insight User Guide > Enhanced Datasource Connections.

    +

    For details about how to call an API to create a datasource connection, see Data Lake Insight API Reference > Creating an Enhanced Datasource Connection.

    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0077.html b/docs/dli/umn/dli_03_0077.html new file mode 100644 index 00000000..0414b63d --- /dev/null +++ b/docs/dli/umn/dli_03_0077.html @@ -0,0 +1,13 @@ + + +

What Can I Do If the Specified Python Environment Cannot Be Found After a Python Package Is Added?

+

If the specified Python environment cannot be found after a Python3 package is added, the current compute cluster environment is Python2 by default.

+

You can set spark.yarn.appMasterEnv.PYSPARK_PYTHON=python3 in the conf file to specify the Python3 environment for the compute cluster.

+

New clusters use the Python3 environment by default.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0080.html b/docs/dli/umn/dli_03_0080.html new file mode 100644 index 00000000..75f056b8 --- /dev/null +++ b/docs/dli/umn/dli_03_0080.html @@ -0,0 +1,13 @@ + + +

Connection Times Out During MRS HBase Datasource Connection, and No Error Is Recorded in Logs

+

The cluster host information is not added to the datasource connection. As a result, the KRB authentication fails, the connection times out, and no error is recorded in logs. Configure the host information and try again.

+

On the Enhanced page, select the connection and click Modify Host. In the dialog box that is displayed, enter the host information. The format is Host IP address Host name/Domain name. Multiple records are separated by line breaks.

+

For details, see section "Modifying the Host Information" in the Data Lake Insight User Guide.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0082.html b/docs/dli/umn/dli_03_0082.html new file mode 100644 index 00000000..06adec9f --- /dev/null +++ b/docs/dli/umn/dli_03_0082.html @@ -0,0 +1,16 @@ + + +

How Do I Run a Complex PySpark Program in DLI?

+

DLI natively supports PySpark.

+

For most cases, Python is preferred for data analysis, and PySpark is the best choice for big data analysis. Generally, JVM programs are packed into JAR packages and depend on third-party JAR packages. Similarly, Python programs also depend on third-party libraries, especially big data analysis programs related to PySpark-based converged machine learning. Traditionally, the Python library is installed on the execution machine based on pip. For serverless services such as DLI, you do not need to and are unaware of the underlying compute resources. In this case, how does DLI ensure that you run their programs perfectly?

+

DLI has built-in algorithm libraries for machine learning in its compute resources. These common algorithm libraries meet the requirements of most users. What if a user's PySpark program depends on a program library that is not provided by the built-in algorithm library? Actually, the dependency of PySpark is specified based on PyFiles. On the DLI Spark job page, you can directly select the Python third-party program library (such as ZIP and EGG) stored on OBS.

+

The compressed package of the dependent third-party Python library has structure requirements. For example, if the PySpark program depends on moduleA (import moduleA), the compressed package must meet the following structure requirement:

+
Figure 1 Compressed package structure requirement
+

That is, the compressed package contains a folder named after a module name, and then the Python file of the corresponding class. Generally, the downloaded Python library may not meet this requirement. Therefore, you need to compress the Python library again. In addition, there is no requirement on the name of the compressed package. Therefore, it is recommended that you compress the packages of multiple modules into a compressed package. Now, a large and complex PySpark program is configured and runs normally.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0083.html b/docs/dli/umn/dli_03_0083.html new file mode 100644 index 00000000..61b2dbaa --- /dev/null +++ b/docs/dli/umn/dli_03_0083.html @@ -0,0 +1,14 @@ + + +

What Data Formats and Data Sources Are Supported by DLI Flink Jobs?

+

DLI Flink jobs support the following data formats:

+

Avro, Avro_merge, BLOB, CSV, EMAIL, JSON, ORC, Parquet, and XML.

+

DLI Flink jobs support data from the following data sources:

+

CloudTable HBase, CloudTable OpenTSDB, CSS Elasticsearch, DCS, DDS, DIS, DMS, GaussDB(DWS), EdgeHub, MRS HBase, MRS Kafka, open-source Kafka, file systems, OBS, RDS, and SMN

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0085.html b/docs/dli/umn/dli_03_0085.html new file mode 100644 index 00000000..6ab75c37 --- /dev/null +++ b/docs/dli/umn/dli_03_0085.html @@ -0,0 +1,11 @@ + + +

How Can I Access Data Across Regions?

+
  1. Connect VPCs in different regions.
  2. Create an enhanced datasource connection on DLI and bind it to a queue.
  3. Add a DLI route.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0086.html b/docs/dli/umn/dli_03_0086.html new file mode 100644 index 00000000..2a126246 --- /dev/null +++ b/docs/dli/umn/dli_03_0086.html @@ -0,0 +1,15 @@ + + +

How Do I Merge Small Files?

+

If a large number of small files are generated during SQL execution, job execution and table query will take a long time. In this case, you should merge small files.

+
  1. Set the configuration item as follows:

    spark.sql.shuffle.partitions = Number of partitions (number of the generated small files in this case)

    +
  2. Execute the following SQL statements:
    INSERT OVERWRITE TABLE tablename
    +select  * FROM  tablename distribute by rand()
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0087.html b/docs/dli/umn/dli_03_0087.html new file mode 100644 index 00000000..aca9ae27 --- /dev/null +++ b/docs/dli/umn/dli_03_0087.html @@ -0,0 +1,12 @@ + + +

How Do I Set Local Variables in SQL Statements?

+

You can use the where condition statement in the select statement to filter data. For example:

+
select * from table where part = '202012'
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0088.html b/docs/dli/umn/dli_03_0088.html new file mode 100644 index 00000000..3e6babb9 --- /dev/null +++ b/docs/dli/umn/dli_03_0088.html @@ -0,0 +1,12 @@ + + +

How Do I Allocate Queue Resources for Running Spark Jobs If I Have Purchased 64 CUs?

+

In DLI, 64 CU = 64 cores and 256 GB memory.

+

In a Spark job, if the driver occupies 4 cores and 16 GB memory, the executor can occupy 60 cores and 240 GB memory.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0089.html b/docs/dli/umn/dli_03_0089.html new file mode 100644 index 00000000..1c1f224a --- /dev/null +++ b/docs/dli/umn/dli_03_0089.html @@ -0,0 +1,67 @@ + + +

How Do I Map an OBS Table to a Partitioned DLI Table?

+

Scenario

When using a Flink SQL job, you need to create an OBS partition table for subsequent batch processing.

+
+

Procedure

In the following example, the day field is used as the partition field with the parquet encoding format (only the parquet format is supported currently) to dump car_info data to OBS.

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
create sink stream car_infos (
+  carId string,
+  carOwner string,
+  average_speed double,
+  day string
+  ) partitioned by (day)
+  with (
+    type = "filesystem",
+    file.path = "obs://obs-sink/car_infos",
+    encode = "parquet",
+    ak = "{{myAk}}",
+    sk = "{{mySk}}"
+);
+
+ +
+

Structure of the data storage directory in OBS: obs://obs-sink/car_infos/day=xx/part-x-x.

+

After the data is generated, the OBS partition table can be established for subsequent batch processing through the following SQL statements:

+
  1. Create an OBS partitioned table.
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    create table car_infos (
    +  carId string,
    +  carOwner string,
    +  average_speed double
    +)
    +  partitioned by (day string)
    +  stored as parquet
    +  location 'obs://obs-sink/car-infos';
    +
    + +
    +
  2. Restore partition information from the associated OBS path.
    1
    alter table car_infos recover partitions;
    +
    + +
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0090.html b/docs/dli/umn/dli_03_0090.html new file mode 100644 index 00000000..cb4f81c1 --- /dev/null +++ b/docs/dli/umn/dli_03_0090.html @@ -0,0 +1,14 @@ + + +

How Do I Set Auto Restart upon Exception for a Flink Job?

+

Scenario

DLI Flink jobs are highly available. You can enable the automatic restart function to automatically restart your jobs after short-time faults of peripheral services are rectified.

+
+

Procedure

  1. Log in to the DLI console. In the navigation pane, choose Job Management > Flink Jobs.
  2. Click a job name and select Auto-restart upon exception on the job editing page.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0091.html b/docs/dli/umn/dli_03_0091.html new file mode 100644 index 00000000..b7e0b770 --- /dev/null +++ b/docs/dli/umn/dli_03_0091.html @@ -0,0 +1,15 @@ + + +

How Do I View DLI SQL Logs?

+

Scenario

You can view SQL job logs for routine O&M.

+
+

Procedure

  1. Obtain the ID of the DLI job executed on the DataArts Studio console.
    Figure 1 Job ID
    +
  2. On the DLI console, choose Job Management > SQL Jobs.
  3. On the SQL Jobs page, enter the job ID.
  4. In the Operation column of the target job, choose More > View Log and download the logs to your PC.
  5. Search for job ID in the downloaded logs to view the execution logs.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0092.html b/docs/dli/umn/dli_03_0092.html new file mode 100644 index 00000000..99dcc82c --- /dev/null +++ b/docs/dli/umn/dli_03_0092.html @@ -0,0 +1,20 @@ + + +

How Do I Specify an OBS Path When Creating an OBS Table?

+

Scenario

When creating an OBS table, you must specify a table path in the database. The path format is as follows: obs://xxx/database name/table name.

+
+

Correct Example

CREATE TABLE `di_seller_task_activity_30d` (`user_id` STRING COMMENT' user ID...) SORTED as parquet
+LOCATION 'obs://akc-bigdata/akdc.db/di_seller_task_activity_30d'
+
+

Incorrect Example

CREATE TABLE `di_seller_task_activity_30d` (`user_id` STRING COMMENT' user ID...) SORTED as parquet
+LOCATION 'obs://akc-bigdata/akdc.db'
+

If the specified path is akdc.db, data in this path will be cleared when the insert overwrite statement is executed.

+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0093.html b/docs/dli/umn/dli_03_0093.html new file mode 100644 index 00000000..afd6ec18 --- /dev/null +++ b/docs/dli/umn/dli_03_0093.html @@ -0,0 +1,26 @@ + + +

How Do I Eliminate Data Skew by Configuring AE Parameters?

+

Scenario

If the execution of an SQL statement takes a long time, you need to access the Spark UI to check the execution status.

+

If data skew occurs, the running time of a stage exceeds 20 minutes and only one task is running.

+
Figure 1 Data skew example
+
+

Procedure

  1. Log in to the DLI management console. Choose Job Management > SQL Jobs in the navigation pane. On the displayed page, locate the job you want to modify and click Edit in the Operation column to switch to the SQL Editor page.
  2. On the SQL editor page, click Set Property and add the following Spark parameters through the Settings pane:

    +

    The string followed by the colons (:) are the configuration parameters, and the strings following the colons are the values.

    +
    spark.sql.enableToString:false
    +spark.sql.adaptive.join.enabled:true
    +spark.sql.adaptive.enabled:true
    +spark.sql.adaptive.skewedJoin.enabled:true
    +spark.sql.adaptive.enableToString:false
    +spark.sql.adaptive.skewedPartitionMaxSplits:10
    +

    spark.sql.adaptive.skewedPartitionMaxSplits indicates the maximum number of tasks for processing a skewed partition. The default value is 5, and the maximum value is 10. This parameter is optional.

    +
    +
  3. Click Execute to run the job again.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0095.html b/docs/dli/umn/dli_03_0095.html new file mode 100644 index 00000000..22a0b58f --- /dev/null +++ b/docs/dli/umn/dli_03_0095.html @@ -0,0 +1,14 @@ + + +

How Do I View DLI Queue Load?

+

Scenario

To check the running status of the DLI queue and determine whether to run more jobs on that queue, you need to check the queue load.

+
+

Procedure

  1. Search for Cloud Eye on the console.
  2. In the navigation pane on the left, choose Cloud Service Monitoring > Data Lake Insight.
  3. Select the queue you want to view.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0096.html b/docs/dli/umn/dli_03_0096.html new file mode 100644 index 00000000..17717467 --- /dev/null +++ b/docs/dli/umn/dli_03_0096.html @@ -0,0 +1,16 @@ + + +

How Do I Prevent Data Loss After Flink Job Restart?

+

The DLI Flink checkpoint/savepoint mechanism is complete and reliable. You can use this mechanism to prevent data loss when a job is manually restarted or restarted due to an exception.

+
  • To prevent data loss caused by job restart due to system faults, perform the following operations:
    • For Flink SQL jobs, select Enable Checkpointing and set a proper checkpoint interval that allows for the impact on service performance and the exception recovery duration. Select Auto Restart upon Exception and Restore Job from Checkpoint. After the configuration, if a job is restarted abnormally, the internal state and consumption position will be restored from the latest checkpoint file to ensure no data loss and accurate and consistent semantics of the internal state such as aggregation operators. In addition, to ensure that data is not duplicated, use a database or file system with a primary key as the data source. Otherwise, add deduplication logic (data generated from the latest successful checkpoint to the time exception occurred will be repeatedly consumed) for downstream processes.
    • For Flink Jar jobs, you need to enable the checkpoint in the code.If a user-defined state needs to be saved, you need to implement the ListCheckpointed API, set a unique ID for each operator. In the job configuration, select Restore Job from Checkpoint and configure the checkpoint path.

      Flink checkpointing ensures that the internal state data is accurate and consistent. However, for custom Source/Sink or stateful operators, you need to implement the ListCheckpointed API to ensure the reliability of service data.

      +
      +
    +
  • To prevent data loss after a job is manually restarted due to service modification, perform the following operations:
    • For jobs without internal states, you can set the start time or consumption position of the Kafka data source to a time before the job stops.
    • For jobs with internal states, you can select Trigger Savepoint when stopping the job. Enable Restore Savepoint when you start the job again. The job will restore the consumption position and state from the selected savepoint file. The generation mechanism and format of Flink checkpoints are the same as those of savepoints. You can go to the Flink job list and choose More > Import Savepoint in the Operation column of a Flink job to import the latest checkpoint in OBS and restore the job from it.
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0098.html b/docs/dli/umn/dli_03_0098.html new file mode 100644 index 00000000..443e9011 --- /dev/null +++ b/docs/dli/umn/dli_03_0098.html @@ -0,0 +1,12 @@ + + +

How Do I Monitor Queue Exceptions?

+

DLI allows you to subscribe to an SMN topic for failed jobs.

+
  1. Log in to the DLI console.
  2. In the navigation pane on the left, choose Queue Management.
  3. On the Queue Management page, click Create SMN Topic in the upper left corner. .
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0099.html b/docs/dli/umn/dli_03_0099.html new file mode 100644 index 00000000..261ba5c7 --- /dev/null +++ b/docs/dli/umn/dli_03_0099.html @@ -0,0 +1,14 @@ + + +

How Do I Save Flink Job Logs?

+

When you create a Flink SQL job or Flink Jar job, you can select Save Job Log on the job editing page to save job running logs to OBS.

+

To set the OBS bucket for storing the job logs, specify a bucket for OBS Bucket. If the selected OBS bucket is not authorized, click Authorize.

+

The logs are saved in the following path: Bucket name/jobs/logs/Directory starting with the job ID. You can customize the bucket name in the path. /jobs/logs/Directory starting with the job ID is a fixed format.

+

In the job list, click the job name. In the Run Log tab, click the provided OBS link to go to the path.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0100.html b/docs/dli/umn/dli_03_0100.html new file mode 100644 index 00000000..19039a0f --- /dev/null +++ b/docs/dli/umn/dli_03_0100.html @@ -0,0 +1,63 @@ + + +

How Do I Manage Fine-Grained DLI Permissions?

+

DLI has a comprehensive permission control mechanism and supports fine-grained authentication through Identity and Access Management (IAM). You can create policies in IAM to manage DLI permissions.

+

With IAM, you can use your account to create IAM users for your employees, and assign permissions to the users to control their access to specific resource types. For example, some software developers in your enterprise need to use DLI resources but must not delete them or perform any high-risk operations. To achieve this result, you can create IAM users for the software developers and grant them only the permissions required for using DLI resources.

+

For a new user, you need to log in for the system to record the metadata before using DLI.

+
+

IAM can be used free of charge. You pay only for the resources in your account.

+

If the account has met your requirements, you do not need to create an independent IAM user for permission management. Then you can skip this section. This will not affect other functions of DLI.

+

DLI System Permissions

Table 1 lists all the system-defined roles and policies supported by DLI.

+
You can grant users permissions by using roles and policies.
  • Roles: A type of coarse-grained authorization that defines permissions related to user responsibilities. This mechanism provides only a limited number of service-level roles for authorization. When using roles to grant permissions, you need to also assign other roles on which the permissions depend to take effect. Roles are not an ideal choice for fine-grained authorization and secure access control.
  • Policies: A type of fine-grained authorization that defines permissions required to perform operations on specific cloud resources under certain conditions. This type of authorization is more flexible and ideal for secure access control. For example, you can grant DLI users only the permissions for managing a certain type of cloud servers.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 DLI system permissions

Role/Policy Name

+

Description

+

Category

+

DLI FullAccess

+

Full permissions for DLI.

+

System-defined policy

+

DLI ReadOnlyAccess

+

Read-only permissions for DLI.

+

With read-only permissions, you can use DLI resources and perform operations that do not require fine-grained permissions. For example, create global variables, create packages and package groups, submit jobs to the default queue, create tables in the default database, create datasource connections, and delete datasource connections.

+

System-defined policy

+

Tenant Administrator

+

Tenant administrator

+
  • Administer permissions for managing and accessing all cloud services. After a database or a queue is created, the user can use the ACL to assign rights to other users.
  • Scope: project-level service
+

System-defined role

+

DLI Service Admin

+

DLI administrator

+
  • Administer permissions for managing and accessing the queues and data of DLI. After a database or a queue is created, the user can use the ACL to assign rights to other users.
  • Scope: project-level service
+

System-defined role

+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0101.html b/docs/dli/umn/dli_03_0101.html new file mode 100644 index 00000000..a64a5625 --- /dev/null +++ b/docs/dli/umn/dli_03_0101.html @@ -0,0 +1,89 @@ + + +

How Do I Create a Custom Policy?

+

You can set actions and resources of different levels for various scenarios.

+
  1. Define an action.

    The format is Service name:Resource type:Action. You can use wildcard *. The following is an example.

    + +
    + + + + + + + + + + + + + +
    Table 1 Action

    Action

    +

    Description

    +

    dli:queue:submit_job

    +

    Queue submission

    +

    dli:queue:*

    +

    All operations on a queue

    +

    dli:*:*

    +

    All operations on all DLI resource types

    +
    +
    +
  2. Define a resource.

    The format is Service name:Region:Domain ID:Resource type:Resource path. The wildcard (*) indicates all resources. The five fields in the format can be as you need. The resource path can be set for different levels of permission control based on scenario requirements. If you need to set all resources of the service, you do not need to specify the resource path field. The following is an example.

    + +
    + + + + + + + + + + + + + + + + +
    Table 2 Resource

    Resource

    +

    Description

    +

    DLI:*:*:table:databases.dbname.tables.*

    +

    DLI, any region, any account ID, all table resources of database dbname

    +

    DLI:*:*:database:databases.dbname

    +

    DLI, any region, any account ID, queue of database dbname

    +

    DLI:*:*:queue:queues.*

    +

    DLI, any region, any account ID, any queue resource

    +

    DLI:*:*:jobs:jobs.flink.1

    +

    DLI, any region, any account ID, Flink job whose ID is 1

    +
    +
    +
  3. A complete policy is composed of the preceding fields in JSON strings. You can set multiple actions and resources. You can also create a policy on a console page of the IAM service. For example:

    Create a policy to authorize users to create and delete any database, submit jobs for any queue, and delete any table under any account ID in any region of DLI.

    +
    {
    +    "Version": "1.1",
    +    "Statement": [
    +        {
    +            "Effect": " Allow",
    +            "Action": [
    +                  "dli:database:create_database",
    +                "dli:database:drop_database",
    +                  "dli:queue:submit_job",
    +                  "dli:table:drop_table"
    +            ],
    +            "Resource": [
    +                  "dli:*:*:database:*",
    +                "dli:*:*:queue:*",
    +                "dli:*:*:table:*"
    +            ]
    +        }
    +    ]
    +}
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0102.html b/docs/dli/umn/dli_03_0102.html new file mode 100644 index 00000000..095d9d61 --- /dev/null +++ b/docs/dli/umn/dli_03_0102.html @@ -0,0 +1,21 @@ + + +

How Do I View the Resource Usage of DLI Spark Jobs?

+

Viewing the Configuration of a Spark Job

Log in to the DLI console. In the navigation pane, choose Job Management > Spark Jobs. In the job list, locate the target job and click next to Job ID to view the parameters of the job.

+

These parameters are displayed only when Advanced Settings are configured when you create the job .

+
+
+

Viewing Real-Time Resource Usage of a Spark Job

Perform the following operations to view the number of running CUs occupied by a Spark job in real time:

+
+
  1. Log in to the DLI console. In the navigation pane, choose Job Management > Spark Jobs. In the job list, locate the target job and click SparkUI in the Operation column.
  2. On the Spark UI page, view the real-time running resources of the Spark job.
    Figure 1 SparkUI
    +
  3. On the Spark UI page, view the original configuration of the Spark job (available only to new clusters).

    On the Spark UI page, click Environment to view Driver and Executor information.

    +
    Figure 2 Driver information
    +
    Figure 3 Executor information
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0103.html b/docs/dli/umn/dli_03_0103.html new file mode 100644 index 00000000..7dce0067 --- /dev/null +++ b/docs/dli/umn/dli_03_0103.html @@ -0,0 +1,13 @@ + + +

How Do I Locate a Flink Job Submission Error?

+
  1. On the Flink job management page, hover the cursor on the status of the job that fails to be submitted to view the brief information about the failure.

    The possible causes are as follows:

    +
    • Insufficient CUs: Increase the number of CUs of the queue.
    • Failed to generate the JAR package: Check the SQL syntax and UDFs.
    +
  2. If you cannot locate the fault or the call stack is incorrect, click the job name to go to the job details page and click the Commit Logs tab to view the job submission logs.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0105.html b/docs/dli/umn/dli_03_0105.html new file mode 100644 index 00000000..4db45d8a --- /dev/null +++ b/docs/dli/umn/dli_03_0105.html @@ -0,0 +1,12 @@ + + +

How Do I Locate a Flink Job Running Error?

+
  1. On the Flink job management, click Edit in the Operation column of the target job. On the displayed page, check whether Save Job Log in the Running Parameters tab is enabled.
    • If the function is enabled, go to 3.
    • If the function is disabled, running logs will not be dumped to an OBS bucket. In this case, perform 2 to save job logs.
    +
  2. On the job running page, select Save Job Log and specify an OBS bucket for storing the logs. Click Start to run the job again. After the executed is complete, perform 3 and subsequent steps.
  3. In the Flink job list, click the job name. On the displayed job details page, click the Run Log tab.
  4. Click view OBS Bucket to obtain the complete run logs of the job.
  5. Download the latest jobmanager.log file, search for the keyword RUNNING to FAILED, and determine the failure cause based on the errors in the context.
  6. If the information in the jobmanager.log file is insufficient for locating the fault, find the corresponding taskmanager.log file in the run logs and search for the keyword RUNNING to FAILED to confirm the failure cause.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0106.html b/docs/dli/umn/dli_03_0106.html new file mode 100644 index 00000000..04fd6e26 --- /dev/null +++ b/docs/dli/umn/dli_03_0106.html @@ -0,0 +1,45 @@ + + +

How Do I Optimize Performance of a Flink Job?

+

Basic Concepts and Job Monitoring

  • Data Stacking in a Consumer Group

    The accumulated data of a consumer group can be calculated by the following formula: Total amount of data to be consumed by the consumer group = Offset of the latest data – Offset of the data submitted to the consumer group

    +

    If your Flink job is connected to the Kafka premium edition, you can view the customer group on the Cloud Eye console. To view consumer available messages, choose Cloud Service Monitoring > Distributed Message Service form the navigation pane. On the displayed page, select Kafka Premium and click the Consumer Groups tab. Click the Kafka instance name and select the target consumer group.

    +
  • Back Pressure Status

    Back pressure status is working load status of an operator. The back pressure is determined by the ratio of threads blocked in the output buffer to the total taskManager threads. This ratio is calculated by periodically sampling of the taskManager thread stack. By default, if the ratio is less than 0.1, the back pressure status is OK. If the ratio ranges from 0.1 to 0.5, the backpressure status is LOW. If the ratio exceeds 0.5, the backpressure status is HIGH.

    +
  • Delay

    Delay indicates the duration from the time when source data starts being processed to the time when data reaches the current operator. The data source periodically sends a LatencyMarker (current timestamp). After receiving the LatencyMarker, the downstream operator subtracts the timestamp from the current time to calculate the duration. You can view the back pressure status and delay of an operator on the Flink UI or in the task list of a job. Generally, high back pressure and delay occur in pairs.

    +
+
+

Performance Analysis

Due to Flink back pressure, the data source consumption rate can be lower than the production rate when performance of a Flink job is low. As a result, data is stacked in a Kafka consumer group. In this case, you can use back pressure and delay of the operator to find its performance bottleneck.

+
  • The following figure shows that the back pressure of the last operator (sink) of the job is normal (green), and the back pressure of the previous two operators is high (red).

    +

    In this scenario, the performance bottleneck is the sink and the optimization is specific to the data source. For example, for the JDBC data source, you can adjust the write batch using connector.write.flush.max-rows and JDBC rewriting parameter rewriteBatchedStatements=true to optimize the performance.

    +
  • The following figure shows a scenario where the back pressure of the last second operator is normal.

    +

    In this scenario, the performance bottleneck is the Vertex2 operator. You can view the description about the function of the operator for further optimization.

    +
  • The back pressure of all operators is normal, but data is stacked.

    +

    In this scenario, the performance bottleneck is the source, and the performance is mainly affected by the data read speed. In this case, you can increase the number of Kafka partitions and the number of concurrent sources to solve the problem.

    +
  • The following figure shows that the back pressure of an operator is high, and its subsequent concurrent operators do not have back pressure.

    +

    In this scenario, the performance bottleneck is Vertex2 or Vertex3. To find out the specific bottleneck operator, enable inPoolUsage monitoring on the Flink UI page. If the inPoolUsage for operator concurrency is 100% for a long time, the corresponding operator is likely to be the performance bottleneck. In this case, you check the operator for further optimization.

    +
    Figure 1 inPoolUsage monitoring
    +
+
+

Performance Tuning

  • Rocksdb state tuning

    Top N sorting, window aggregate calculation, and stream-stream join involve a large number of status operations. You can optimize the performance of state operations to improve the overall performance. You can try any of the following optimization methods:

    +
    • Increase the state operation memory and reduce the disk I/O.
      • Increase the number of CU resources in a single slot.
      • Set optimization parameters:
        • taskmanager.memory.managed.fraction=xx
        • state.backend.rocksdb.block.cache-size=xx
        • state.backend.rocksdb.writebuffer.size=xx
        +
      +
    • Enable the micro-batch mode to avoid frequent state operations.

      Set the following parameters:

      +
      • table.exec.mini-batch.enabled=true
      • table.exec.mini-batch.allow-latency=xx
      • table.exec.mini-batch.size=xx
      +
    • Use ultra-high I/O local disks to accelerate disk operations.
    +
  • Group aggregation tuning

    The data skew problem is solved by Local-Global that divides a group aggregation into two stages: doing local aggregation in upstream first, and then global aggregation in downstream. To enable Local-global aggregation, set optimization parameter: table.optimizer.aggphase-strategy=TWO_PHASE

    +
  • Tuning count distinct
    • If the associated keys of count distinct are sparse, using Local-Globa cannot solve the problem of SPOF. In this case, you can configure the following parameters to optimize bucket splitting.
      • table.optimizer.distinct-agg.split.enabled=true
      • table.optimizer.distinct-agg.split.bucket-num=xx
      +
    • Replace CASE WHEN with FILTER:

      For example:

      +
      COUNT(DISTINCT CASE WHEN flag IN ('android', 'iphone')THEN user_id ELSE NULL END) AS app_uv
      +

      Can be changed to:

      +
      COUNT(DISTINCT user_id) FILTER(WHERE flag IN ('android', 'iphone')) AS app_uv
      +
    +
  • Optimizing dimension table join

    The dimension table in joined with the key of each record in the left table. The matched in the cache is performed first. If no match is found, the remotely obtained data is used for matching. The optimization is as follows:

    +
    • Increase the JVM memory and the number of cached records.
    • Set indexes for the dimension table to speed up query.
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0107.html b/docs/dli/umn/dli_03_0107.html new file mode 100644 index 00000000..eeac9832 --- /dev/null +++ b/docs/dli/umn/dli_03_0107.html @@ -0,0 +1,36 @@ + + +

How Do I Use Spark to Write Data into a DLI Table?

+

To use Spark to write data into a DLI table, configure the following parameters:

+
  • fs.obs.access.key
  • fs.obs.secret.key
  • fs.obs.impl
  • fs.obs.endpoint
+

The following is an example:

+
import logging
+from operator import add
+from pyspark import SparkContext
+
+logging.basicConfig(format='%(message)s', level=logging.INFO)
+
+#import local file
+test_file_name = "D://test-data_1.txt"
+out_file_name = "D://test-data_result_1"
+
+sc = SparkContext("local","wordcount app")
+sc._jsc.hadoopConfiguration().set("fs.obs.access.key", "myak")
+sc._jsc.hadoopConfiguration().set("fs.obs.secret.key", "mysk")
+sc._jsc.hadoopConfiguration().set("fs.obs.impl", "org.apache.hadoop.fs.obs.OBSFileSystem")
+sc._jsc.hadoopConfiguration().set("fs.obs.endpoint", "myendpoint")
+
+# red: text_file rdd object
+text_file = sc.textFile(test_file_name)
+
+# counts
+counts = text_file.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)
+# write
+counts.saveAsTextFile(out_file_name)
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0108.html b/docs/dli/umn/dli_03_0108.html new file mode 100644 index 00000000..fbd8f2a1 --- /dev/null +++ b/docs/dli/umn/dli_03_0108.html @@ -0,0 +1,13 @@ + + +

How Do I Create a Table Using JSON Data in an OBS Bucket?

+

DLI allows you to associate JSON data in an OBS bucket to create tables in asynchronous mode.

+

The statement for creating the table is as follows:

+
create table tb1 using json options(path 'obs://....')
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0109.html b/docs/dli/umn/dli_03_0109.html new file mode 100644 index 00000000..bcaec919 --- /dev/null +++ b/docs/dli/umn/dli_03_0109.html @@ -0,0 +1,11 @@ + + +

Does the Description of a DLI Queue Can Be Modified?

+

Currently, you are not allowed to modify the description of a created queue. You can add the description when purchasing the queue.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0111.html b/docs/dli/umn/dli_03_0111.html new file mode 100644 index 00000000..9c7d92c1 --- /dev/null +++ b/docs/dli/umn/dli_03_0111.html @@ -0,0 +1,13 @@ + + +

What Should I Do If the Subnet Cannot Be Found When I Create a DLI Datasource Connection?

+

When you create a VPC peering connection for the datasource connection, the following error information is displayed:

+
Failed to get subnet 2c2bd2ed-7296-4c64-9b60-ca25b5eee8fe. Response code : 404, message : {"code":"VPC.0202","message":"Query resource by id 2c2bd2ed-7296-4c64-9b60-ca25b5eee8fe fail.the subnet could not be found."}
+

Before you create a datasource connection, check whether VPC Administrator is selected. If only the global Tenant Administrator is selected, the system cannot find the subnet.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0115.html b/docs/dli/umn/dli_03_0115.html new file mode 100644 index 00000000..2fa39828 --- /dev/null +++ b/docs/dli/umn/dli_03_0115.html @@ -0,0 +1,12 @@ + + +

What Are the Differences Between MRS Spark and DLI Spark?

+

The Spark component of DLI is a fully managed service. You can only use the DLI Spark through its APIs. .

+

The Spark component of MRS is built on the VM in an MRS cluster. You can develop the Spark component to optimize it as needed and make API calls to use it.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0116.html b/docs/dli/umn/dli_03_0116.html new file mode 100644 index 00000000..88ea396f --- /dev/null +++ b/docs/dli/umn/dli_03_0116.html @@ -0,0 +1,14 @@ + + +

How Do I View SQL Execution Records?

+

Scenario

You can view the job execution records when a job is running.

+
+

Procedure

  1. Log in to the DLI management console.
  2. In the navigation pane on the left, choose Job Management > SQL Jobs.
  3. Enter a job ID or statement to search for a job.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0117.html b/docs/dli/umn/dli_03_0117.html new file mode 100644 index 00000000..8217dff6 --- /dev/null +++ b/docs/dli/umn/dli_03_0117.html @@ -0,0 +1,11 @@ + + +

What Are the Differences Between DLI Tables and OBS Tables?

+
  • DLI tables store data within the DLI service, and you do not need to know the data storage path.
  • OBS tables store data in your OBS buckets, and you need to manage the source data files.
  • Different from OBS tables, DLI tables give you more permission control and cache acceleration functions. The performance of DLI tables is better than that of foreign tables, but you will be charged for the storage.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0118.html b/docs/dli/umn/dli_03_0118.html new file mode 100644 index 00000000..6da9f2ed --- /dev/null +++ b/docs/dli/umn/dli_03_0118.html @@ -0,0 +1,36 @@ + + +

How Do I Read Uploaded Files for a Spark Jar Job?

+

You can use SparkFiles to read the file submitted using –-file form a local path: SparkFiles.get("Name of the uploaded file").

+
  • The file path in the Driver is different from that obtained by the Executor. The path obtained by the Driver cannot be passed to the Executor.
  • You still need to call SparkFiles.get("filename") in Executor to obtain the file path.
  • The SparkFiles.get() method can be called only after Spark is initialized.
+
+

The java code is as follows:

+
package main.java
+ 
+import org.apache.spark.SparkFiles
+import org.apache.spark.sql.SparkSession
+ 
+import scala.io.Source
+ 
+object DliTest {
+  def main(args:Array[String]): Unit = {
+    val spark = SparkSession.builder
+      .appName("SparkTest")
+      .getOrCreate()
+ 
+    // Driver: obtains the uploaded file.
+    println(SparkFiles.get("test"))
+ 
+    spark.sparkContext.parallelize(Array(1,2,3,4))
+         // Executor: obtains the uploaded file.
+      .map(_ => println(SparkFiles.get("test")))
+      .map(_ => println(Source.fromFile(SparkFiles.get("test")).mkString)).collect()
+  }
+}
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0119.html b/docs/dli/umn/dli_03_0119.html new file mode 100644 index 00000000..ffb27410 --- /dev/null +++ b/docs/dli/umn/dli_03_0119.html @@ -0,0 +1,14 @@ + + +

What Should I Do If Job Submission Fails Due to Flink JAR Package Conflict?

+

Symptom

The dependency of your Flink job conflicts with a built-in dependency of the DLI Flink platform. As a result, the job submission fails.

+
+

Solution

Delete your JAR package that is the same as an existing JAR package of the DLI Flink platform.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0120.html b/docs/dli/umn/dli_03_0120.html new file mode 100644 index 00000000..89ca6167 --- /dev/null +++ b/docs/dli/umn/dli_03_0120.html @@ -0,0 +1,15 @@ + + +

How Do I Change the Number of Kafka Partitions of a Flink SQL Job Without Stopping It?

+
  • Symptom

    You used Flink 1.10 to run a Flink Opensource SQL job. You set the number of Kafka partitions for the job a small value at the beginning and need to increase the number now.

    +
  • Solution

    Add the following parameters to the SQL statement:

    +
    connector.properties.flink.partition-discovery.interval-millis="3000" 
    +

    This statement allows you to increase or decrease the number of Kafka partitions without stopping the Flink job.

    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0121.html b/docs/dli/umn/dli_03_0121.html new file mode 100644 index 00000000..7137e647 --- /dev/null +++ b/docs/dli/umn/dli_03_0121.html @@ -0,0 +1,28 @@ + + +

How Do I Configure Connection Retries for Kafka Sink If it is Disconnected?

+
  • Symptom

    You used Flink 1.10 to run a Flink Opensource SQL job. The job failed after the following error was reported when Flink Sink wrote data to Kafka.

    +
    Caused by: org.apache.kafka.common.errors.NetworkException: The server disconnected before a response was received.
    +
  • Possible Cause

    The CPU usage is too high. As a result, the network is intermittently disconnected.

    +
  • Solution

    Add connector.properties.retries=5 to the SQL statement.

    +
    create table kafka_sink(
    +     car_type string
    +    , car_name string
    +    , primary key (union_id) not enforced
    +) with (
    +    "connector.type" = "upsert-kafka",
    +    "connector.version" = "0.11",
    +    "connector.properties.bootstrap.servers" = "xxxx:9092",
    +    "connector.topic" = "kafka_car_topic ",
    +    "connector.sink.ignore-retraction" = "true",
    +    "connector.properties.retries" = "5",
    +    "format.type" = "json"
    +);
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0126.html b/docs/dli/umn/dli_03_0126.html new file mode 100644 index 00000000..b57d1317 --- /dev/null +++ b/docs/dli/umn/dli_03_0126.html @@ -0,0 +1,12 @@ + + +

How Do I Manage Tens of Thousands of Jobs Running on DLI?

+

If you are suggested to perform following operations to run a large number of DLI jobs:

+
  • Group the DLI jobs by type, and run each group on a queue.
  • Alternatively, create IAM users to execute different types of jobs. .
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0127.html b/docs/dli/umn/dli_03_0127.html new file mode 100644 index 00000000..4c66b2df --- /dev/null +++ b/docs/dli/umn/dli_03_0127.html @@ -0,0 +1,12 @@ + + +

How Does a Spark Job Access a MySQL Database?

+

You can use DLI Spark jobs to access data in the MySQL database using either of the following methods:

+
  • Solution 1: Purchase a pay-per-use queue, create an enhanced datasource connection, and read data from the MySQL database through a cross-source table. You need to write Java or Scala code to implement this solution.
  • Solution 2: Use CDM to import data from the MySQL database to an OBS bucket, and then use a Spark job to read data from the OBS bucket. If you already have a CDM cluster, this solution is simpler than solution 1 and does not involve any other database.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0128.html b/docs/dli/umn/dli_03_0128.html new file mode 100644 index 00000000..fcb0d421 --- /dev/null +++ b/docs/dli/umn/dli_03_0128.html @@ -0,0 +1,11 @@ + + +

Why Do I Need to Create a VPC Peering Connection for an Enhanced Datasource Connection?

+

You need to create a VPC peering connection to enable network connectivity. Take MRS as an example. If DLI and MRS clusters are in the same VPC, and the security group is enabled, you do not need a VPC peering connection for communications between MRS and DLI.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0129.html b/docs/dli/umn/dli_03_0129.html new file mode 100644 index 00000000..0a4c3e09 --- /dev/null +++ b/docs/dli/umn/dli_03_0129.html @@ -0,0 +1,11 @@ + + +

Can I Import OBS Bucket Data Shared by Other Tenants into DLI?

+

Data in the OBS bucket shared by IAM users under the same account can be imported. You cannot import data in the OBS bucket shared with other IAM account.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0130.html b/docs/dli/umn/dli_03_0130.html new file mode 100644 index 00000000..025ee34b --- /dev/null +++ b/docs/dli/umn/dli_03_0130.html @@ -0,0 +1,11 @@ + + +

How Much Data Can Be Processed in a Day by a Flink SQL Job?

+

The consumption capability of a Flink SQL job depends on the data source transmission, queue size, and job parameter settings. The peak consumption is 10 Mbit/s.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0136.html b/docs/dli/umn/dli_03_0136.html new file mode 100644 index 00000000..7914d258 --- /dev/null +++ b/docs/dli/umn/dli_03_0136.html @@ -0,0 +1,12 @@ + + +

How Do I Know Whether a Flink Job Can Be Restored from a Checkpoint After Being Restarted?

+

Check the following operations:

+
  • Adjusting or adding optimization parameters or the number of concurrent threads of a job, or modifying Flink SQL statements or a Flink Jar job: The job cannot be restored from the checkpoint.
  • Modifying the number of CUs occupied by a TaskManager: The job can be restored from the checkpoint.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0138.html b/docs/dli/umn/dli_03_0138.html new file mode 100644 index 00000000..f6b91ba6 --- /dev/null +++ b/docs/dli/umn/dli_03_0138.html @@ -0,0 +1,15 @@ + + +

What Should I Do if a Message Is Displayed Indicating that the OBS Bucket Is Not Authorized When I Select an OBS Bucket for a Flink SQL Job?

+
  • Symptom

    When you create a Flink SQL job and configure the parameters, you select an OBS bucket you have created. The system displays a message indicating that the OBS bucket is not authorized. After you click Authorize, the system displays a message indicating that an internal error occurred on the server and you need to contact customer service or try again later.

    +
  • Solution

    On the settings page, press F12 to view the error details. The following is an example:

    +
    {"error_msg":"An internal error occurred. {0} Contact customer services or try again later ","error_json_opt":{"error": "Unexpected exception[NoSuchElementException: None.get]"},"error_code":"DLI.10001"}
    +

    Check whether a DLI agency has been created. If you do not have the permission to create an agency. On the DLI console, choose Global Configuration > Service Authorization, select Tenant Administrator (Global service), and click Update.

    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0139.html b/docs/dli/umn/dli_03_0139.html new file mode 100644 index 00000000..c60a9381 --- /dev/null +++ b/docs/dli/umn/dli_03_0139.html @@ -0,0 +1,18 @@ + + +

How Do I Authorize a Subuser to View Flink Jobs?

+

A sub-user can view queues but cannot view Flink jobs. You can authorize the sub-user using DLI or IAM.

+
  • Authorization on DLI
    1. Log in to the DLI console using a tenant account, a job owner account, or an account with the DLI Service Administrator permission.
    2. Choose Job Management > Flink Jobs. On the displayed page, locate the target job.
    3. In the Operation column of the target job, choose More > Permissions.
    4. On the displayed page, click Grant Permission. Enter the name of the user to be authorized and select the required permissions. Click OK. The authorized user can view the job and perform related operations.
    +
  • Authorization on IAM
    1. Log in to the IAM console. In the navigation pane, choose Permissions > Policies/Roles. On the displayed page, click Create Custom Policy.
    2. Create a permission policy for the subuser to view DLI Flink jobs.
      • Policy Name: Use the default name or customize a name.
      • Scope: Select Project-level services.
      • Policy View: Select Visual editor.
      • Policy Content: Select Allow, Data Lake Insight, and dli:jobs:list_all in sequence.
      +

      Click OK to create the policy.

      +
    3. Go to the User Group page, locate the user group to which the subuser to be authorized belongs and click the user group name. On the displayed page, click Assign.
    4. Grant permissions to the user group.
      • Select Region-specific projects for Scope.
      • Select the permission policy created in 2 for Permissions.

        You can also select DLI Service Admin (with all DLI permissions) for the subuser to view Flink jobs.

        +
      +
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0140.html b/docs/dli/umn/dli_03_0140.html new file mode 100644 index 00000000..1a6cdf3d --- /dev/null +++ b/docs/dli/umn/dli_03_0140.html @@ -0,0 +1,13 @@ + + +

What Should I Do When My Account Does Not Have Permission Due To Arrears?

+

When you submit a job, a message is displayed indicating that the job fails to be submitted due to insufficient permission caused by arrears. In this case, you need to check the roles in your token:

+
  • op_restrict: The account permission is restricted due to insufficient balance. If your account balance is insufficient, the tokens of all online users under this account are revoked. If a user logs in to the system again, the op_restrict permission is added to the obtained token.
  • op_suspended: Your account is suspended due to arrears or other reasons. If your account is in arrears, the tokens of all online users under this account are revoked. If a user logs in to the system again, the op_suspended permission is added to the obtained token, and user operations (excluding cloud service users) will be restricted.
+

If the two roles described about are in your token, user operations are restricted.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0145.html b/docs/dli/umn/dli_03_0145.html new file mode 100644 index 00000000..b6bcde87 --- /dev/null +++ b/docs/dli/umn/dli_03_0145.html @@ -0,0 +1,17 @@ + + +

What Should I Do If Error Message "There should be at least one partition pruning predicate on partitioned table XX.YYY" Is Displayed When a Query Statement Is Executed?

+
  • Cause Analysis

    When you query the partitioned table XX.YYY, the partition column is not specified in the search criteria.

    +

    A partitioned table can be queried only when the query condition contains at least one partition column.

    +
  • Solution

    Query a partitioned table by referring to the following example:

    +

    Assume that partitionedTable is a partitioned table and partitionedColumn is a partition column. The query statement is as follows:

    +
    SELECT * FROM partitionedTable WHERE partitionedColumn  = XXX
    +

    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0156.html b/docs/dli/umn/dli_03_0156.html new file mode 100644 index 00000000..a1f5008b --- /dev/null +++ b/docs/dli/umn/dli_03_0156.html @@ -0,0 +1,15 @@ + + +

What Should I Do If Errors "ResponseCode: 403" and "ResponseStatus: Forbidden" Are Reported When a Spark Job Accesses OBS Data

+

Symptom

The following error is reported when a Spark job accesses OBS data:

+
Caused by: com.obs.services.exception.ObsException: Error message:Request Error.OBS servcie Error Message. -- ResponseCode: 403, ResponseStatus: Forbidden
+
+

Solution

Set the AK/SK to enable Spark jobs to access OBS data. For details, see How Do I Set the AK/SK for a Queue to Operate an OBS Table?.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0157.html b/docs/dli/umn/dli_03_0157.html new file mode 100644 index 00000000..41f75040 --- /dev/null +++ b/docs/dli/umn/dli_03_0157.html @@ -0,0 +1,11 @@ + + +

What Should I Do if a Running Timeout Error Is Reported When a Spark Job Runs a Large Amount of Data?

+

When a Spark job accesses a large amount of data, for example, accessing data in a GaussDB(DWS) database, you are advised to set the number of concurrent tasks and enable multi-task processing.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0159.html b/docs/dli/umn/dli_03_0159.html new file mode 100644 index 00000000..e18d5af2 --- /dev/null +++ b/docs/dli/umn/dli_03_0159.html @@ -0,0 +1,14 @@ + + +

What Should I Do If "Queue plans create failed. The plan xxx target cu is out of quota" Is Displayed When I Schedule CU Changes?

+

Scenario

Queue plans create failed. The plan xxx target cu is out of quota is displayed when you create a scheduled scaling task.

+
+

Solution

The CU quota of the current account is insufficient. You need to apply for more quotas.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0160.html b/docs/dli/umn/dli_03_0160.html new file mode 100644 index 00000000..44d2dbe4 --- /dev/null +++ b/docs/dli/umn/dli_03_0160.html @@ -0,0 +1,14 @@ + + +

What Should I Do if "No such user. userName:xxxx." Is Displayed on the Flink Job Management Page When I Grant Permission to a User?

+

Symptom

Choose Job Management > Flink Jobs. In the Operation column of the target job, choose More > Permissions. When a new user is authorized, No such user. userName:xxxx. is displayed.

+
+

Solution

Check whether the username exists and whether the user has logged in to the system before authorization.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0161.html b/docs/dli/umn/dli_03_0161.html new file mode 100644 index 00000000..72af9e53 --- /dev/null +++ b/docs/dli/umn/dli_03_0161.html @@ -0,0 +1,22 @@ + + +

What Should I Do If GaussDB(DWS) Fails to Be Started When a Flink Jar Job Accesses GaussDB(DWS), and a Message Indicating Too Many Client Connections is Displayed?

+

Symptom

When a Flink Jar job is submitted to access GaussDB(DWS), an error message is displayed indicating that the job fails to be started. The job log contains the following error information:

+
FATAL:  Already too many clients, active/non-active/reserved: 5/508/3
+
+

Possible Causes

The number of GaussDB(DWS) database connections exceeds the upper limit. In the error information, the value of non-active indicates the number of idle connections. For example, if the value of non-active is 508, there are 508 idle connections.

+
+

Solution

Perform the following steps to solve the problem:

+
  1. Log in to the GaussDB(DWS) command window and run the following SQL statement to release all idle (non-active) connections temporarily:
    SELECT PG_TERMINATE_BACKEND(pid) from pg_stat_activity WHERE state='idle';
    +
  2. Check whether the application actively releases the connections. If the application does not, optimize the code to release the connections.
  3. On the GaussDB (DWS) management console, configure parameter session_timeout, which controls the timeout period of idle sessions. After an idle session's timeout period exceeds the specified value, the server automatically closes the connection.

    The default value of this parameter is 600 seconds. The value 0 indicates that the timeout limit is disabled. Do not set session_timeout to 0.

    +

    The procedure for setting parameter session_timeout is as follows:

    +
    1. Log in to the GaussDB(DWS) management console.
    2. In the navigation pane on the left, click Clusters.
    3. In the cluster list, find the target cluster and click its name. The Basic Information page is displayed.
    4. Click the Parameter Modifications tab and modify the value of parameter session_timeout. Then click Save.
    5. In the Modification Preview dialog box, confirm the modification and click Save.
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0162.html b/docs/dli/umn/dli_03_0162.html new file mode 100644 index 00000000..2b7e9456 --- /dev/null +++ b/docs/dli/umn/dli_03_0162.html @@ -0,0 +1,13 @@ + + +

How Do I Change the Name of a Field in a Created Table?

+

The field names of tables that have been created cannot be changed.

+

You can create a table, define new table fields, and migrate data from the old table to the new one.

+

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0164.html b/docs/dli/umn/dli_03_0164.html new file mode 100644 index 00000000..af95f972 --- /dev/null +++ b/docs/dli/umn/dli_03_0164.html @@ -0,0 +1,11 @@ + + +

Why is Error "verifyBucketExists on XXXX: status [403]" Is Reported When I Run a Spark Job with a User that has the Permission to Access the OBS Bucket?

+

Check whether the OBS bucket is used to store DLI logs on the Global Configuration > Job Configurations page. The job log bucket cannot be used for other purpose.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0165.html b/docs/dli/umn/dli_03_0165.html new file mode 100644 index 00000000..34a35f26 --- /dev/null +++ b/docs/dli/umn/dli_03_0165.html @@ -0,0 +1,17 @@ + + +

What Should I Do If Error Message "Authentication failed" Is Displayed When a Flink Jar Job Is Running?

+

Symptom

An exception occurred when a Flink Jar job is running. The following error information is displayed in the job log:
org.apache.flink.shaded.curator.org.apache.curator.ConnectionState - Authentication failed
+
+
+

Possible Causes

Service authorization is not configured for the account on the Global Configuration page. When the account is used to create a datasource connection to access external data, the access fails.

+
+

Solution

  1. Log in to the DLI management console. Choose Global Configuration > Service Authorization in the navigation pane.
  2. On the Service Authorization page, select all agency permissions.
  3. Click Update. If the message "Agency permissions updated successfully" is displayed, the modification is successful.
  4. After the authorization is complete, create a datasource connection and run the job again.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0166.html b/docs/dli/umn/dli_03_0166.html new file mode 100644 index 00000000..23a4a792 --- /dev/null +++ b/docs/dli/umn/dli_03_0166.html @@ -0,0 +1,11 @@ + + +

Will Table Data in My Database Be Lost If I Delete a Queue?

+

Deleting a queue does not cause table data loss in your database.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0167.html b/docs/dli/umn/dli_03_0167.html new file mode 100644 index 00000000..7c892483 --- /dev/null +++ b/docs/dli/umn/dli_03_0167.html @@ -0,0 +1,15 @@ + + +

What Should I Do If Error Message DLI.0005 Is Displayed When I Use an EL Expression to Create a Table in a Flink SQL Job?

+

Symptom

When I run the creation statement with an EL expression in the table name in a Flink SQL job, the following error message is displayed:
DLI.0005: AnalysisException: t_user_message_input_#{date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')} is not a valid name for tables/databases. Valid names only contain alphabet characters, numbers and _.
+
+
+

Solution

Replace the number sign (#) in the table name to the dollar sign ($). The format of the EL expression used in DLI should be ${expr}.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0168.html b/docs/dli/umn/dli_03_0168.html new file mode 100644 index 00000000..9476d1df --- /dev/null +++ b/docs/dli/umn/dli_03_0168.html @@ -0,0 +1,40 @@ + + +

What Should I Do If No Data Is Found in the DLI Table Created Using the OBS File Path That Stores the Output of a Flink job?

+

Symptom

After data is written to OBS through the Flink job output stream, data cannot be queried from the DLI table created in the OBS file path.

+

For example, use the following Flink result table to write data to the obs://obs-sink/car_infos path in OBS.

+
create sink stream car_infos_sink (
+  carId string,
+  carOwner string,
+  average_speed double,
+  buyday string
+  ) partitioned by (buyday)
+  with (
+    type = "filesystem",
+    file.path = "obs://obs-sink/car_infos",
+    encode = "parquet",
+    ak = "{{myAk}}",
+    sk = "{{mySk}}"
+);
+
Use the following statements to create a DLI partition table with data retrieved from the OBS file path. No data is found when you query the car_infos table on DLI.
create table car_infos (
+  carId string,
+  carOwner string,
+  average_speed double
+)
+  partitioned by (buyday string)
+  stored as parquet
+  location 'obs://obs-sink/car_infos';
+
+
+

Solution

  1. Check whether checkpointing is enabled for the Flink result table (car_infos_sink in the preceding example) when you create the job on DLI. If checkpointing is disabled, enable it and run the job again to generate OBS data files.

    To enable checkpointing, perform the following steps:

    +
    1. Log in to the DLI management console. Choose Job Management > Flink Jobs in the left navigation pane. Locate the row that contains the target Flink job and click Edit in the Operation column.
    2. In the Running Parameters area, check whether Enable Checkpointing is enabled.
    +
  2. Check whether the structure of the Flink result table is the same as that of the DLI partitioned table. For the preceding example, check whether the fields of the car_infos_sink table are consistent with those of the car_infos table.
  3. Check whether the partitioning information of the the partitioned table is restored after it is created using the OBS file. The following statement restore partitions of the car_infos table:
    alter table car_infos recover partitions;
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0169.html b/docs/dli/umn/dli_03_0169.html new file mode 100644 index 00000000..f789e8d2 --- /dev/null +++ b/docs/dli/umn/dli_03_0169.html @@ -0,0 +1,20 @@ + + +

What Should I Do If Error Message IllegalArgumentException: Buffer size too small. size is Displayed When Data Is Loaded to an OBS Foreign Table

+

Symptom

The following error message is displayed when the LOAD DATA command is executed by a Spark SQL job to import data to a DLI table:

+
error.DLI.0001: IllegalArgumentException: Buffer size too small. size = 262144 needed = 2272881
+
In some cases ,the following error message is displayed:
error.DLI.0999: InvalidProtocolBufferException: EOF in compressed stream footer position: 3 length: 479 range: 0 offset: 3 limit: 479 range 0 = 0 to 479 while trying to read 143805 bytes
+
+
+

Possible Cause

The data volume of the file to be imported is large and the value of spark.sql.shuffle.partitions is too large. As a result, the cache size is insufficient.

+
+

Solution

Decrease the spark.sql.shuffle.partitions value. To set this parameter, perform the following steps:

+
  1. Log in to the DLI management console and choose Job Management > SQL Jobs. In the Operation column of the target SQL job, click Edit to go to the SQL Editor page.
  2. On the displayed page, click Set Property and set the parameter.
  3. Execute the job again.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0170.html b/docs/dli/umn/dli_03_0170.html new file mode 100644 index 00000000..a3a6f625 --- /dev/null +++ b/docs/dli/umn/dli_03_0170.html @@ -0,0 +1,11 @@ + + +

How Does DLI Ensure the Reliability of Spark Jobs When a Queue Is Abnormal?

+

You need to develop a mechanism to retry failed jobs. When a faulty queue is recovered, your application tries to submit the failed jobs to the queue again.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0171.html b/docs/dli/umn/dli_03_0171.html new file mode 100644 index 00000000..31f47d3f --- /dev/null +++ b/docs/dli/umn/dli_03_0171.html @@ -0,0 +1,19 @@ + + +

What Should I Do If SQL Statements Fails to be Executed on the Default Queue, and a Timeout Exception is Reported?

+

Symptom

After a SQL job was submitted to the default queue, the job runs abnormally. The job log reported that the execution timed out. The exception logs are as follows:
[ERROR] Execute DLI SQL failed. Please contact DLI service.
+[ERROR] Error message:Execution Timeout
+
+
+

Possible Cause

The default queue is a public preset queue in the system for function trials. When multiple users submit jobs to this queue, traffic control might be triggered. As a result, the jobs fail to be submitted.

+
+

Solution

Buy a custom queue for your jobs. The procedure is as follows:

+
  1. In the navigation pane of the DLI management console, choose Queue Management.
  2. In the upper right corner of the Queue Management page, click Buy Queue to create a queue.
  3. On the Buy Queue page, set the required parameters as you need. Especially, set Type to For SQL.
  4. Submit your SQL jobs to the newly created queue.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0172.html b/docs/dli/umn/dli_03_0172.html new file mode 100644 index 00000000..0b6d1ab1 --- /dev/null +++ b/docs/dli/umn/dli_03_0172.html @@ -0,0 +1,25 @@ + + +

What Should I Do If "UQUERY_CONNECTOR_0001:Invoke DLI service api failed" Is Reported in the Job Log When I Use CDM to Migrate Data to DLI?

+

Symptom

After the migration job is submitted, the following error information is displayed in the log:
org.apache.sqoop.common.SqoopException: UQUERY_CONNECTOR_0001:Invoke DLI service api failed, failed reason is %s.
+at org.apache.sqoop.connector.uquery.intf.impl.UQueryWriter.close(UQueryWriter.java:42)
+at org.apache.sqoop.connector.uquery.processor.Dataconsumer.run(Dataconsumer.java:217)
+at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
+at java.util.concurrent.FutureTask.run(FutureTask.java:266)
+at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
+at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+at java.lang.Thread.run(Thread.java:748)
+
+
+

Possible Cause

When you create a migration job to DLI on the CDM console, you set Resource Queue to a DLI queue for general purpose. It should be a queue for SQL.

+
+

Solution

  1. On the DLI management console and click Queue Management in the navigation pane on the left. On the Queue Management page, check whether there are SQL queues.
    • If there are, go to 3.
    • If there are no SQL queues, go to 2 to buy an SQL queue.
    +
  2. Click Buy Queue to create a queue. Set Type to For SQL, set other parameters required, and click Buy.
  3. Go back to the CDM console and create a data migration job. Set Resource Queue to the created DLI SQL queue.
  4. Submit the migration job and view the job execution logs.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0173.html b/docs/dli/umn/dli_03_0173.html new file mode 100644 index 00000000..7704dad6 --- /dev/null +++ b/docs/dli/umn/dli_03_0173.html @@ -0,0 +1,22 @@ + + +

What Should I Do If "org.apache.hadoop.fs.obs.OBSIOException" Is Reported If DLI SQL Scripts Are Executed on DataArts Studio?

+

Symptom

When you run a DLI SQL script on DataArts Studio, the log shows that the statements fail to be executed. The error information is as follows:
DLI.0999: RuntimeException: org.apache.hadoop.fs.obs.OBSIOException: initializing on obs://xxx.csv: status [-1] - request id
+[null] - error code [null] - error message [null] - trace :com.obs.services.exception.ObsException: OBS servcie Error Message. Request Error:
+...
+Cause by: ObsException: com.obs.services.exception.ObsException: OBSs servcie Error Message. Request Error: java.net.UnknownHostException: xxx: Name or service not known
+
+
+

Possible Cause

When you execute a DLI SQL script for the first time, you did not agree to the privacy agreement on the DLI console. As a result, the error is reported when the SQL script is executed on DataArts Studio.

+
+

Solution

  1. Log in to the DLI console, click SQL Editor from the navigation pane. On the displayed page, enter an SQL statement in the editing window, for example, select 1.
  2. In the displayed Privacy Agreement dialog box, agree to the terms.

    You only need to agree to the privacy agreement when it is your first time to execute the statements.

    +
    +
  3. Run the DLI SQL script on DataArts Studio again. The script will run properly.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0174.html b/docs/dli/umn/dli_03_0174.html new file mode 100644 index 00000000..c0ad5146 --- /dev/null +++ b/docs/dli/umn/dli_03_0174.html @@ -0,0 +1,17 @@ + + +

What Should I Do If a Flink SQL Job Fails to Be Executed, and "connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null" Is Recorded in the Log?

+

Symptom

After a Flink SQL job is submitted on DLI, the job fails to be executed. The following error information is displayed in the job log:
connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null
+
+
+

Possible Cause

When configuring job running parameters for the Flink SQL job, Save Job Log or Checkpointing is enabled, and an OBS bucket for saving job logs and Checkpoints is configured. However, the IAM user who runs the Flink SQL job does not have the OBS write permission.

+
+

Solution

  1. Log in to the IAM console, search for the IAM user who runs the job in the upper left corner of the Users page.
  2. Click the desired username to view the user group where the user belongs.
  3. In the navigation pane on the left, choose User Groups, and search for the user group of the target user. Click the user group name, and view the permissions of the current user in Permissions.
  4. Check whether the user group has the permission to write data to OBS, for example, OBS OperateAccess. If the user group does not have the OBS write permission, grant the permission to the user group.
  5. Wait for 5 to 10 minutes for the permission to take effect. Run the Flink SQL job again and check the job running status.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0175.html b/docs/dli/umn/dli_03_0175.html new file mode 100644 index 00000000..3e787c51 --- /dev/null +++ b/docs/dli/umn/dli_03_0175.html @@ -0,0 +1,17 @@ + + +

Do I Need to Grant Table Permissions to a User and Project After I Delete a Table and Create One with the Same Name?

+

Scenario

User A created the testTable table in a database through a SQL job and granted user B the permission to insert and delete table data. User A deleted the testTable table and created a new testTable table. If user A wants user B to retain the insert and delete permission, user A needs to grant the permissions to user B again.

+
+

Possible Cause

After a table is deleted, the table permissions are not retained. You need to grant permissions to a user or project.

+
+

Solution

Operations to grant permissions to a user or project are as follows:

+
  1. On the left of the management console, choose Data Management > Databases and Tables.
  2. Click the database name whose table permission is to be granted. The table management page of the database is displayed.
  3. Locate the row of the target table and click Permissions in the Operation column.
  4. On the displayed page, click Grant Permission in the upper right corner.
  5. In the displayed Grant Permission dialog box, select the required permissions.
  6. Click OK.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0176.html b/docs/dli/umn/dli_03_0176.html new file mode 100644 index 00000000..391ff3c0 --- /dev/null +++ b/docs/dli/umn/dli_03_0176.html @@ -0,0 +1,17 @@ + + +

What Should I Do If "Not authorized" Is Reported When a Flink SQL Job Reads DIS Data?

+

Symptom

Semantic verification for a Flink SQL job (reading DIS data) fails. The following information is displayed when the job fails:
Get dis channel xxx info failed. error info: Not authorized, please click the overview page to do the authorize action
+
+
+

Possible Cause

Before running a Flink job, the permission to obtain DIS data is not granted to the user.

+
+

Solution

  1. Log in to the DLI management console. Choose Global Configuration > Service Authorization in the navigation pane on the left.
  2. On the Service Authorization page, select DIS Administrator and click Update.
  3. Choose Job Management > Flink Jobs. On the displayed page, locate the desired Flink SQL job and restart the job.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0177.html b/docs/dli/umn/dli_03_0177.html new file mode 100644 index 00000000..0c775c82 --- /dev/null +++ b/docs/dli/umn/dli_03_0177.html @@ -0,0 +1,16 @@ + + +

What Should I Do If Table Data Fails to Be Queried After Data Is Imported to a DLI Partitioned Table Because the File to Be Imported Does Not Contain Data in the Partitioning Column?

+

Symptom

A CSV file is imported to a DLI partitioned table, but the imported file data does not contain the data in the partitioning column. The partitioning column needs to be specified for a partitioned table query. As a result, table data cannot be queried.

+
+

Possible Cause

When data is imported to a DLI partitionedtable, if the file data does not contain the partitioning column, the system specifies __HIVE_DEFAULT_PARTITION__ as the column by default. If a Spark job finds that the partition is empty, null is returned.

+
+

Solution

  1. Log in to the DLI management console. In the SQL editor, click Settings.
  2. Add spark.sql.forcePartitionPredicatesOnPartitionedTable.enabled and set it to false.
  3. Query the entire table or the partitioned table.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0179.html b/docs/dli/umn/dli_03_0179.html new file mode 100644 index 00000000..d59168ea --- /dev/null +++ b/docs/dli/umn/dli_03_0179.html @@ -0,0 +1,45 @@ + + +

What Can I Do If the Datasource Connection is Created But the Network Connectivity Test Fails?

+

Description

A datasource connection is created and bound to a queue. The connectivity test fails and the following error information is displayed:
failed to connect to specified address
+
+
+ +

Check Whether a Port Number Is Added to the End of the Domain Name or IP Address

The port number is required for the connectivity test.

+

The following example tests the connectivity between a queue and a specified RDS DB instance. The RDS DB instance uses port 3306.

+

The following figure shows how you should specify the IP address.

+
+

Check Whether the Information of the Peer VPC and Subnet Are Correct.

When you create an enhanced datasource connection, you need to specify the peer VPC and subnet.

+

For example, to test the connectivity between a queue and a specified RDS DB instance, you need to specify the RDS VPC and subnet information.

+
+

Check Whether the CIDR Block of the Queue Overlaps That of the Data Source

The CIDR block of the DLI queue bound with a datasource connection cannot overlap the CIDR block of the data source.

+

You can check whether they overlap by viewing the connection logs.

+

CIDR block conflicts of queue A and queue B. In this example, queue B is bound to an enhanced datasource connection to data source C. Therefore, a message is displayed, indicating that the network segment of queue A conflicts with that of data source C. As a result, a new enhanced datasource connection cannot be established.

+

Solution: Modify the CIDR block of the queue or create another queue.

+

Planing the CIDR blocks for your queues helps you to avoid this problem.

+
+

Check Whether the VPC Administrator Permission Is Granted to DLI

View the connection logs to check whether there is the required permission.

+

Figure 1 and Figure 2 show the logs when subnet ID and route ID of the destination cannot be obtained because there is no permission .

+

Solution: Grant DLI the VPC Administrator permission and cancel the IAM ReadOnlyAccess authorization.

+
Figure 1 Viewing connection logs
+
Figure 2 Viewing connection logs
+
+

Check Whether the Destination Security Group Allows Access from the Queue.

To connect to Kafka, GaussDB(DWS), and RDS instances, add security group rules for the DLI CIDR block to the security group where the instances belong. For example, to connect a queue to RDS, perform the following operations:
  1. Log in to the DLI console, choose Resources > Queue Management in the navigation pane on the left. On the displayed page, select the target queue, and click to expand the row containing the target queue to view its CIDR block.
  2. On the Instance Management page of the RDS console, click the instance name. In the Connection Information area, locate Database Port to obtain the port number of the RDS DB instance.
  3. In the Connection Information area locate the Security Group and click the group name to switch to the security group management page. Select the Inbound Rules tab and click Add Rule. Set the priority to 1, protocol to TCP, port to the database port number, and source to the CIDR block of the DLI queue. Click OK.
+
+
+

Check the Route Information of the VPC Peering Connection Corresponding to an Enhanced Datasource Connection

Check the routing table of the VPC peering connection corresponding to the enhanced datasource connection. Check whether the CIDR block of the queue overlaps other CIDR blocks in the routing table. If it does, the forwarding may be incorrect.

+
  1. Obtain the ID of the VPC peering connection created for the enhanced datasource connection.
  2. View the information about the VPC peering connection on the VPC console.
  3. View the route table information of the VPC corresponding to the queue.
+
+

Check Whether VPC Network ACL Rules Are Configured to Restrict Network Access

Check whether an ACL is configured for the subnet corresponding to the datasource connection and whether the ACL rules restrict network access.

+

For example, if you set a CIDR block whose security group rule allows access from a queue and set a network ACL rule to deny access from that CIDR block, the security group rule does not take effect.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0180.html b/docs/dli/umn/dli_03_0180.html new file mode 100644 index 00000000..1e862dfb --- /dev/null +++ b/docs/dli/umn/dli_03_0180.html @@ -0,0 +1,15 @@ + + +

How Do I Know Which Checkpoint the Flink Job I Stopped Will Be Restored to When I Start the Job Again?

+

Symptom

Checkpoint was enabled when a Flink job is created, and the OBS bucket for storing checkpoints was specified. After a Flink job is manually stopped, no message is displayed specifying the checkpoint where the Flink job will be restored if the Flink job is started again.

+
+

Solution

The generation mechanism and format of Flink checkpoints are the same as those of savepoints. You can import a savepoint of the job to restore it from the latest checkpoint saved in OBS.

+
  1. Log in to the DLI console. In the navigation pane, choose Job Management > Flink Jobs.
  2. Locate the row that contains the target Flink job, and click Import Savepoint in the Operation column.
  3. In the displayed dialog box, select the OBS bucket path storing the checkpoint. The checkpoint save path is Bucket name/jobs/checkpoint/directory starting with the job ID. Click OK.
  4. Start the Flink job again. The job will be restored fom the imported savepoint.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0181.html b/docs/dli/umn/dli_03_0181.html new file mode 100644 index 00000000..b3c9f3a1 --- /dev/null +++ b/docs/dli/umn/dli_03_0181.html @@ -0,0 +1,24 @@ + + +

How Do I Fix the Data Error Caused by CRLF Characters in a Field of the OBS File Used to Create an External OBS Table?

+

Symptom

When an OBS foreign table is created, a field in the specified OBS file contains a carriage return line feed (CRLF) character. As a result, the data is incorrect.

+

The statement for creating an OBS foreign table is similar as follows:

+
CREATE TABLE test06 (name string, id int, no string) USING csv OPTIONS (path "obs://dli-test-001/test.csv");
+
The file contains the following information (example):
Jordon,88,"aa
+bb"
+
+
A carriage return exists between aa and bb in the last field. As a result, he data in the test06 table is displayed as follows:
name	id	classno
+Jordon	88	aa
+bb"	null	null
+
+
+

Solution

When creating an OBS foreign table, set multiLine to true to specify that the column data contains CRLF characters. The following is an example to solve the problem:
CREATE TABLE test06 (name string, id int, no string) USING csv OPTIONS (path "obs://dli-test-001/test.csv",multiLine=true);
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0182.html b/docs/dli/umn/dli_03_0182.html new file mode 100644 index 00000000..a16576a6 --- /dev/null +++ b/docs/dli/umn/dli_03_0182.html @@ -0,0 +1,18 @@ + + +

What Should I Do If a SQL Job That Has Join Operations Stays in the Running State?

+

Symptom

A SQL job contains join operations. After the job is submitted, it is stuck in the Running state and no result is returned.

+
+

Possible Cause

When a Spark SQL job has join operations on small tables, all executors are automatically broadcast to quickly complete the operations. However, this increases the memory consumption of the executors. If the executor memory usage is too high, the job fails to be executed.

+
+

Solution

  1. Check whether the /*+ BROADCAST(u) */ falg is used to forcibly perform broadcast join in the executed SQL statement. If the flag is used, remove it.
  2. Set spark.sql.autoBroadcastJoinThreshold to -1.
    1. Log in to the DLI management console and choose Job Management > SQL Jobs. In the Operation column of the failed job, click Edit to switch to the SQL editor page.
    2. Click Settings in the upper right corner. In the Parameter Settings area, add spark.sql.autoBroadcastJoinThreshold and set it to -1.
    3. Click Execute again to and view the job running result.
    +
+

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0183.html b/docs/dli/umn/dli_03_0183.html new file mode 100644 index 00000000..7aa4717c --- /dev/null +++ b/docs/dli/umn/dli_03_0183.html @@ -0,0 +1,16 @@ + + +

How Do I Determine Whether There Are Too Many Jobs in the Current Queue?

+

Description

You need to check the large number of jobs in the Submitting and Running states on the queue.

+
+

Solution

Use Cloud Eye to view jobs in different states on the queue. The procedure is as follows:

+
  1. Log in the management console and search for Cloud Eye.
  2. In the navigation pane on the left, choose Cloud Service Monitoring > Data Lake Insight.
  3. On the Cloud Service Monitoring page, click the queue name.
  4. On the monitoring page, view the following metrics to check the job status:
    1. Number of jobs being submitted: Statistics of jobs in the Submitting state on the current queue
    2. Number of running jobs: Statistics of jobs in the Running state on the current queue
    3. Number of finished jobs: Statistics of jobs in the Finished state on the current queue
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0184.html b/docs/dli/umn/dli_03_0184.html new file mode 100644 index 00000000..b4fe5a76 --- /dev/null +++ b/docs/dli/umn/dli_03_0184.html @@ -0,0 +1,17 @@ + + +

What Can I Do If a Table Cannot Be Queried on the DLI Console?

+

Symptom

A DLI table exists but cannot be queried on the DLI console.

+
+

Possible Cause

If a table exists but cannot be queried, there is a high probability that the current user does not have the permission to query or operate the table.

+
+

Solution

Contact the user who creates the table and obtain the required permissions. To assign permissions, perform the following steps:

+
  1. Log in to the DLI management console as the user who creates the table. Choose Data Management > Databases and Tables form the navigation pane on the left.
  2. Click the database name. The table management page is displayed. In the Operation column of the target table, click Permissions. The table permission management page is displayed.
  3. Click Set Permission. In the displayed dialog box, set Authorization Object to User, set Username to the name of the user that requires the permission, and select the required permissions. For example, Select Table and Insert permissions.
  4. Click OK.
  5. Log in to the DLI console as the user that has been granted permission and check whether the table can be queried.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0186.html b/docs/dli/umn/dli_03_0186.html new file mode 100644 index 00000000..1dec468c --- /dev/null +++ b/docs/dli/umn/dli_03_0186.html @@ -0,0 +1,16 @@ + + +

How Do I Configure the Network Between a DLI Queue and a Data Source?

+
  • Configuring the Connection Between a DLI Queue and a Data Source in a Private Network

    If your DLI job needs to connect to a data source, for example, MRS, RDS, CSS, Kafka, or GaussDB(DWS), you need to enable the network between DLI and the data source.

    +

    An enhanced datasource connection uses VPC peering to directly connect the VPC networks of the desired data sources for point-to-point data exchanges.

    +
    Figure 1 Configuration process
    +
  • Configuring the Connection Between a DLI Queue and a Data Source in the Internet

    You can configure SNAT rules and add routes to the public network to enable communications between a queue and the Internet.

    +
    Figure 2 Configuration process
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0187.html b/docs/dli/umn/dli_03_0187.html new file mode 100644 index 00000000..bf904404 --- /dev/null +++ b/docs/dli/umn/dli_03_0187.html @@ -0,0 +1,35 @@ + + +

The on Clause Is Not Added When Tables Are Joined. Cartesian Product Query Causes High Resource Usage of the Queue, and the Job Fails to Be Executed

+

Symptom

The on clause was not added to the SQL statement for joining tables. As a result, the Cartesian product query occurs due to multi-table association, and the queue resources were used up. Job execution fails on the queue.

+
For example, the following SQL statement left-joins three tables without the on clause.
select 
+     case 
+        when to_char(from_unixtime(fs.special_start_time), 'yyyy-mm-dd') < '2018-10-12' and row_number() over(partition by fg.goods_no order by fs.special_start_time asc) = 1 then 1
+        when to_char(from_unixtime(fs.special_start_time), 'yyyy-mm-dd') >= '2018-10-12' and fge.is_new = 1 then 1 
+        else 0 end as is_new
+from testdb.table1 fg 
+left join testdb.table2 fs
+left join testdb.table3  fge
+where to_char(from_unixtime(fs.special_start_time), 'yyyymmdd') = substr('20220601',1,8)
+
+
+

Solution

When you use join to perform multi-table query, you must use the on clause to reduce the data volume.

+
The following example uses the on clause for the table join, which greatly reduces the result set of associated query and improves the query efficiency.
select 
+     case 
+        when to_char(from_unixtime(fs.special_start_time), 'yyyy-mm-dd') < '2018-10-12' and row_number() over(partition by fg.goods_no order by fs.special_start_time asc) = 1 then 1
+        when to_char(from_unixtime(fs.special_start_time), 'yyyy-mm-dd') >= '2018-10-12' and fge.is_new = 1 then 1 
+        else 0 end as is_new
+from testdb.table1 fg 
+left join testdb.table2 fs on fg.col1 = fs.col2
+left join testdb.table3  fge on fg.col3 = fge.col4
+where to_char(from_unixtime(fs.special_start_time), 'yyyymmdd') = substr('20220601',1,8)
+
+
+

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0188.html b/docs/dli/umn/dli_03_0188.html new file mode 100644 index 00000000..d4a53723 --- /dev/null +++ b/docs/dli/umn/dli_03_0188.html @@ -0,0 +1,11 @@ + + +

What Should I Do If a Spark job Used to Access Files in SFTP Fails and the Log Shows that the File Directory Is Abnormal?

+

Spark jobs cannot access SFTP. Upload the files you want to access to OBS and then you can analyze the data using Spark jobs.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0189.html b/docs/dli/umn/dli_03_0189.html new file mode 100644 index 00000000..3b798398 --- /dev/null +++ b/docs/dli/umn/dli_03_0189.html @@ -0,0 +1,16 @@ + + +

What Should I Do If "DLI.0002 FileNotFoundException" Is Reported During SQL Job Running

+

Symptom

An error is reported during SQL job execution:
Please contact DLI service. DLI.0002: FileNotFoundException: getFileStatus on obs://xxx: status [404] 
+
+
+

Solution

Check whether there is another job that has deleted table information.

+

DLI does not allow multiple jobs to read and write the same table at the same time. Otherwise, job conflicts may occur and the jobs fail.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0190.html b/docs/dli/umn/dli_03_0190.html new file mode 100644 index 00000000..840ab76d --- /dev/null +++ b/docs/dli/umn/dli_03_0190.html @@ -0,0 +1,16 @@ + + +

What Should I Do If Manually Added Data in a Partition of an OBS Table Cannot Be Queried?

+

Symptom

Partition data is manually uploaded to a partition of an OBS table. However, the data cannot be queried using DLI SQL editor.

+
+

Solution

After manually adding partition data, you need to update the metadata information of the OBS table. Run the following statement on desired table:
MSCK REPAIR TABLE table_name;
+
+
+

Query the data in the OBS partitioned table.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0191.html b/docs/dli/umn/dli_03_0191.html new file mode 100644 index 00000000..8cea3ea0 --- /dev/null +++ b/docs/dli/umn/dli_03_0191.html @@ -0,0 +1,11 @@ + + +

How Do I Insert Table Data into Specific Fields of a Table Using a SQL Job?

+

Currently, DLI does not allow you to insert table data into specific fields. To insert table data, you must insert data of all table fields at a time.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0192.html b/docs/dli/umn/dli_03_0192.html new file mode 100644 index 00000000..44ca0f7e --- /dev/null +++ b/docs/dli/umn/dli_03_0192.html @@ -0,0 +1,16 @@ + + +

What Should I Do If a Job Fails Because the Job User Does Not Have the Database and Table Permission?

+

Symptom

When a Spark job is running, an error message is displayed, indicating that the user does not have the database permission. The error information is as follows:
org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Permission denied for resource: databases.xxx,action:SPARK_APP_ACCESS_META)
+
+
+

Solution

You need to assign the database permission to the user who executes the job. The procedure is as follows:

+
  1. In the navigation pane on the left of the management console, choose Data Management > Databases and Tables.
  2. Locate the row where the target database resides and click Permissions in the Operation column.
  3. On the displayed page, click Grant Permission in the upper right corner.
  4. In the displayed dialog box, select User or Project, enter the username or select the project that needs the permission, and select the desired permissions.
  5. Click OK.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0193.html b/docs/dli/umn/dli_03_0193.html new file mode 100644 index 00000000..2e750693 --- /dev/null +++ b/docs/dli/umn/dli_03_0193.html @@ -0,0 +1,11 @@ + + +

Why Cannot I View the Resource Running Status of DLI Queues on Cloud Eye?

+

DLI queues do not use resources or bandwidth when no job is running. In this case, the running status of DLI queues is not displayed on CES.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0195.html b/docs/dli/umn/dli_03_0195.html new file mode 100644 index 00000000..80734764 --- /dev/null +++ b/docs/dli/umn/dli_03_0195.html @@ -0,0 +1,16 @@ + + +

What Should I Do If the Permission Is Required to Update a Program Package?

+

Symptom

When the user update an existing program package, the following error information is displayed:
"error_code"*CLI.0003","error_msg":"Permission denied for resource 'resources. xxx', User = 'xxx', Action = "UPDATZ_RISCURCL'."
+
+
+

Solution

You need to assign the package permission to the user who executes the job. The procedure is as follows:

+
  1. In the navigation pane on the left of the DLI console, choose Data Management > Package Management.
  2. On the Package Management page, click Manage Permission in the Operation column of the package. The User Permissions page is displayed.
  3. Click Grant Permission in the upper right corner of the page to authorize a user to access a package group or package. Select the Update Group permission.
  4. Click OK.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0196.html b/docs/dli/umn/dli_03_0196.html new file mode 100644 index 00000000..3b65808d --- /dev/null +++ b/docs/dli/umn/dli_03_0196.html @@ -0,0 +1,40 @@ + + +

How Do I Troubleshoot Slow SQL Jobs?

+

If the job runs slowly, perform the following steps to find the causes and rectify the fault:

+

Possible Cause 1: Full GC

Check whether the problem is caused by FullGC.

+
  1. Log in to the DLI console. In the navigation pane, choose Job Management > SQL Jobs.
  2. On the SQL Jobs page, locate the row that contains the target job and click More > View Log in the Operation column.
  3. Obtain the folder of the archived logs in the OBS directory. The details are as follows:
    • Spark SQL jobs:

      Locate the log folder whose name contains driver or container_ xxx _000001.

      +

      +
    • Spark Jar jobs:

      The archive log folder of a Spark Jar job starts with batch.

      +
    +
  4. Go to the archive log file directory and download the gc.log.* log file.
  5. Open the downloaded gc.log.* log file, search for keyword Full GC, and check whether time records in the file are continuous and Full GC information is recorded repeatedly.

    +
+

Cause locating and solution

+
Cause 1: There are too many small files in a table.
  1. Log in to the DLI console and go to the SQL editor page. On the SQL Editor page, select the queue and database of the faulty job.
  2. Run the following statement to check the number of files in the table and specify the table name.
    select count(distinct fn)  FROM
    +(select input_file_name() as fn from table name) a
    +
  3. If there are too many small files, rectify the fault by referring to How Do I Merge Small Files?.
+
+

Cause 2: There is a broadcast table.

+
  1. Log in to the DLI console. In the navigation pane, choose Job Management > SQL Jobs.
  2. On the SQL Jobs page, locate the row that contains the target job and click to view the job details and obtain the job ID.
  3. In the Operation column of the job, click Spark UI.
  4. On the displayed page, choose SQL from the menu bar. Click the hyperlink in the Description column of the row that contains the job ID.
  5. View the DAG of the job to check whether the BroadcastNestedLoopJoin node exists.
    Figure 1 DAG
    +
  6. If the BroadcastNestedLoopJoin node exists, refer to What Should I Do If a SQL Job That Has Join Operations Stays in the Running State? to rectify the fault.
+
+

Possible Cause 2: Data Skew

Check whether the problem is caused by data skew.

+
  1. Log in to the DLI console. In the navigation pane, choose Job Management > SQL Jobs.
  2. On the SQL Jobs page, locate the row that contains the target job and click to view the job details and obtain the job ID.
  3. In the Operation column of the job, click Spark UI.
  4. On the displayed page, choose SQL from the menu bar. Click the hyperlink in the Description column of the row that contains the job ID.

    +
  5. View the running status of the current stage in the Active Stage table on the displayed page. Click the hyperlink in the Description column.

    +
  6. View the Launch Time and Duration of each task.
  7. Click Duration to sort tasks. Check whether the overall job duration is prolonged because a task has taken a long time.
    According to Figure 2, when data skew occurs, the data volume of shuffle reads of a task is much greater than that of other tasks.
    Figure 2 Data skew
    +
    +
+

Cause locating and solution

+
Shuffle data skew is caused by unbalanced number of key values in join.
  1. Perform group by and count on a join to collect statistics on the number of key values of each join. The following is an example:

    Join table lefttbl and table righttbl. num in the lefttbl table is the key value of the join. You can perform group by and count on lefttbl.num.

    +
    SELECT * FROM lefttbl a LEFT join righttbl b on a.num = b.int2;
    +SELECT count(1) as count,num from lefttbl  group by lefttbl.num ORDER BY count desc;
    +
  2. Use concat(cast(round(rand() * 999999999) as string) to generate a random number for each key value.
  3. If the skew is serious and random numbers cannot be generated, see How Do I Eliminate Data Skew by Configuring AE Parameters?.
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0200.html b/docs/dli/umn/dli_03_0200.html new file mode 100644 index 00000000..95fb131e --- /dev/null +++ b/docs/dli/umn/dli_03_0200.html @@ -0,0 +1,22 @@ + + +

SQL Jobs

+

Can I Create Temporary Tables on DLI?

A temporary table is used to store intermediate results. When a transaction or session ends, the data in the temporary table can be automatically deleted. For example, in MySQL, you can use create temporary table... to create a temporary table. After a transaction or session ends, the table data is automatically deleted. Does DLI Support This Function?

+

Currently, you cannot create temporary tables on DLI. You can create a table by using SQL statements.

+
+

Can I Connect to DLI Locally? Is a Remote Connection Tool Supported?

Currently DLI can only be accessed through a browser. You must submit jobs on the console.

+
+

Will a DLI SQL Job Be Killed If It Has Been Running for More Than 12 Hours?

By default, SQL jobs that have been running for more than 12 hours will be canceled to ensure stability of queues.

+

You can use the dli.sql.job.timeout parameter (unit: second) to configure the timeout interval.

+
+

Does DLI Support Local Testing of Spark Jobs?

Currently, DLI does not support local testing of Spark jobs. You can install the DLI Livy tool and use its interactive sessions to debug Spark jobs.

+
+

Can I Delete a Row of Data from an OBS Table or DLI Table?

Deleting a row of data from an OBS table or DLI table is not allowed.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0201.html b/docs/dli/umn/dli_03_0201.html new file mode 100644 index 00000000..31d5441a --- /dev/null +++ b/docs/dli/umn/dli_03_0201.html @@ -0,0 +1,22 @@ + + +

Spark Jobs

+

Does DLI Spark Support Scheduled Periodic Jobs?

DLI Spark does not support job scheduling. You can use other services, such as DataArts Studio, or use APIs or SDKs to customize job schedule.

+
+

Can I Define the Primary Key When I Create a Table with a Spark SQL Statement?

The Spark SQL syntax does not support primary key definition.

+
+

Can DLI Spark Jar Jobs Access GaussDB(DWS) Datasource Tables?

Yes.

+
+

How Do I Check the Version of the Spark Built-in Dependency Package?

DLI built-in dependencies are provided by the platform by default. In case of conflicts, you do not need to upload them when packaging JAR packages of Spark or Flink Jar jobs.

+
+

Can I Download Packages on the Package Management Page?

No, the packages cannot be downloaded.

+
+

Which Path Should the Third-Party Dependency Jar File Be Stored for the Customized Spark 3.1.1 Image?

Store the third-party dependency in the /opt/spark/jars directory.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0207.html b/docs/dli/umn/dli_03_0207.html new file mode 100644 index 00000000..02642bc4 --- /dev/null +++ b/docs/dli/umn/dli_03_0207.html @@ -0,0 +1,14 @@ + + +

What Should I Do If "File not Found" Is Displayed When I Access a SQL Job?

+

Symptom

Error message "File not Found" is displayed when a SQL job is accessed.

+
+

Solution

Generally, the file cannot be found due to a read/write conflict. Check whether a job is overwriting the data when the error occurs.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0208.html b/docs/dli/umn/dli_03_0208.html new file mode 100644 index 00000000..e79c51dc --- /dev/null +++ b/docs/dli/umn/dli_03_0208.html @@ -0,0 +1,14 @@ + + +

What Should I Do If "DLI.0003: AccessControlException XXX" Is Reported When I Access a SQL Job?

+

Symptom

Error message "DLI.0003: AccessControlException XXX" is reported when a SQL job is accessed.

+
+

Solution

View the OBS bucket in the AccessControlException and check whether you are using an account that has the permission to access the bucket.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0209.html b/docs/dli/umn/dli_03_0209.html new file mode 100644 index 00000000..423c4fdf --- /dev/null +++ b/docs/dli/umn/dli_03_0209.html @@ -0,0 +1,14 @@ + + +

What Should I Do If "DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{bucket name}}: status [403]" Is Reported When I Access a SQL Job?

+

Symptom

Error message "DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{bucket name}}: status [403]" is reported when a SQL job is Accessed.

+
+

Solution

The current account does not have the permission to access the OBS bucket where the foreign table is located. Obtain the OBS permission and perform the query again.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0210.html b/docs/dli/umn/dli_03_0210.html new file mode 100644 index 00000000..0c21aea1 --- /dev/null +++ b/docs/dli/umn/dli_03_0210.html @@ -0,0 +1,15 @@ + + +

What Should I Do If "The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget" Is Reported During SQL Statement Execution? Restricted for no budget.

+

Symptom

Error message "The current account does not have permission to perform this operation,the current account was restricted." is reported during SQL statement execution.

+
+

Solution

Check whether your account is in arrears. If it is, renew your account and try again.

+

If the error persists after renewal, log out and log in again.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0212.html b/docs/dli/umn/dli_03_0212.html new file mode 100644 index 00000000..04d2fc0f --- /dev/null +++ b/docs/dli/umn/dli_03_0212.html @@ -0,0 +1,11 @@ + + +

Why Is All Data Overwritten When insert overwrite Is Used to Overwrite Partitioned Table?

+

To dynamically overwrite the specified partitioned data in the DataSource table, set dli.sql.dynamicPartitionOverwrite.enabled to true and then run the insert overwrite statement. (The default value of dli.sql.dynamicPartitionOverwrite.enabled is false.)

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0213.html b/docs/dli/umn/dli_03_0213.html new file mode 100644 index 00000000..962a399a --- /dev/null +++ b/docs/dli/umn/dli_03_0213.html @@ -0,0 +1,12 @@ + + +

Why Is a SQL Job Stuck in the Submitting State?

+

The possible causes and solutions are as follows:

+
  • After you purchase a DLI queue and submit a SQL job for the first time, wait for 5 to 10 minutes. After the cluster is started in the background, the submission will be successful.
  • If the network segment of the queue is changed, wait for 5 to 10 minutes and then submit the SQL job immediately. After the cluster is re-created in the background, the submission is successful.
  • The pay-per-use queue has been idle for more than one hour. Background resources have been released. You must wait for 5 to 10 minutes and then submit the SQL job. After the cluster is restarted in the background, the submission will be successful.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0214.html b/docs/dli/umn/dli_03_0214.html new file mode 100644 index 00000000..e77830be --- /dev/null +++ b/docs/dli/umn/dli_03_0214.html @@ -0,0 +1,14 @@ + + +

Why Is the create_date Field in the RDS Table Is a Timestamp in the DLI query result?

+

Spark does not have the datetime type and uses the TIMESTAMP type instead.

+

You can use a function to convert data types.

+

The following is an example.

+

select cast(create_date as string), * from table where create_date>'2221-12-01 00:00:00';

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0215.html b/docs/dli/umn/dli_03_0215.html new file mode 100644 index 00000000..c9c80f89 --- /dev/null +++ b/docs/dli/umn/dli_03_0215.html @@ -0,0 +1,12 @@ + + +

What Can I Do If datasize Cannot Be Changed After the Table Name Is Changed in a Finished SQL Job?

+

If the table name is changed immediately after SQL statements are executed, the data size of the table may be incorrect.

+

If you need to change the table name, change it 5 minutes after the SQL job is complete.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0220.html b/docs/dli/umn/dli_03_0220.html new file mode 100644 index 00000000..e64c7094 --- /dev/null +++ b/docs/dli/umn/dli_03_0220.html @@ -0,0 +1,16 @@ + + +

Why Is a Spark Jar Job Stuck in the Submitting State?

+

The remaining CUs in the queue may be insufficient. As a result, the job cannot be submitted.

+

To view the remaining CUs of a queue, perform the following steps:

+
  1. Check the CU usage of the queue.

    Log in to the Cloud Eye console. In the navigation pane on the left, choose Cloud Service Monitoring > Data Lake Insight. On the displayed page, locate the desired queue and click View Metric in the Operation column, and check CU Usage (queue) on the displayed page.

    +
  1. Calculate the number of remaining CUs.

    Remaining CUs of a queue = Total CUs of the queue – CU usage.

    +
+

If the number of remaining CUs is less than the number of CUs required by the job, the job submission fails. The submission can be successful only after resources are available.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0225.html b/docs/dli/umn/dli_03_0225.html new file mode 100644 index 00000000..8659f0fa --- /dev/null +++ b/docs/dli/umn/dli_03_0225.html @@ -0,0 +1,11 @@ + + +

How Do I Manage Queue Permissions?

+

You can isolate queues allocated to different users by setting permissions to ensure data query performance.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0227.html b/docs/dli/umn/dli_03_0227.html new file mode 100644 index 00000000..9583e3a9 --- /dev/null +++ b/docs/dli/umn/dli_03_0227.html @@ -0,0 +1,16 @@ + + +

What Should I Do If "DLI.0003: Permission denied for resource..." Is Reported When I Run a SQL Statement?

+

Symptom

When the SQL query statement is executed, the system displays a message indicating that the user does not have the permission to query resources.

+

Error information: DLI.0003: Permission denied for resource 'databases.dli_test.tables.test.columns.col1', User = '{UserName}', Action = 'SELECT'

+
+

Solution

The user does not have the permission to query the table.

+

In the navigation pane on the left of the DLI console page, choose Data Management > Databases and Tables, search for the desired database table, view the permission configuration, and grant the table query permission to the user who requires it.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0228.html b/docs/dli/umn/dli_03_0228.html new file mode 100644 index 00000000..60b338ee --- /dev/null +++ b/docs/dli/umn/dli_03_0228.html @@ -0,0 +1,13 @@ + + +

What Should I Do If the Table Permission Has Been Granted But the Table Still Cannot Be Queried?

+

The table permission has been granted and verified. However, after a period of time, an error is reported indicating that the table query fails.

+

There are two possible reasons:

+
  • The granted permission has been canceled.
  • View the table creation time to check whether the table is deleted or re-created by others. If it has been deleted or re-created, the permission becomes invalid.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0231.html b/docs/dli/umn/dli_03_0231.html new file mode 100644 index 00000000..00d4db3e --- /dev/null +++ b/docs/dli/umn/dli_03_0231.html @@ -0,0 +1,24 @@ + + +

Why Is the Data Volume Changes When Data Is Imported from DLI to OBS?

+

Symptom

When DLI is used to insert data into an OBS temporary table, only part of data is imported.

+
+

Possible Causes

Possible causes are as follows:

+
  • The amount of data read during job execution is incorrect.
  • The data volume is incorrectly verified.
+

Run a query statement to check whether the amount of imported data is correct.

+

If OBS limits the number of files to be stored, add DISTRIBUTE BY number to the end of the insert statement. For example, if DISTRIBUTE BY 1 is added to the end of the insert statement, multiple files generated by multiple tasks can be inserted into one file.

+
+

Procedure

  1. On the DLI management console, check whether the number of results in the SQL job details is correct. The check result shows that the amount of data is correct.

    +

  2. Check whether the method to verify the data volume is correct. Perform the following steps to verify the data amount:

    1. Download the data file from OBS.
    2. Use the text editor to open the data file. The data volume is less than the expected volume.
    +

    If you used this method, you can verify that the text editor cannot read all the data.

    +

    Run the query statement to view the amount of data import into the OBS bucket. The query result indicates that all the data is imported.

    +

    This issue is caused by incorrect verification of the data volume.

    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0232.html b/docs/dli/umn/dli_03_0232.html new file mode 100644 index 00000000..526669d3 --- /dev/null +++ b/docs/dli/umn/dli_03_0232.html @@ -0,0 +1,18 @@ + + +

Data Writing Fails After a Flink SQL Job Consumed Kafka and Sank Data to the Elasticsearch Cluster

+

Symptom

After a Flink SQL job consumed Kafka and sank data to the Elasticsearch cluster, the job was successfully executed, but no data is available.

+
+

Cause Analysis

Possible causes are as follows:

+
  • The data format is incorrect.
  • The data cannot be processed.
+
+

Procedure

  1. Check the task log on the Flink UI. The JSON body is contained in the error message, indicating that the data format is incorrect.
  2. Check the data format. The Kafka data contains nested JSON bodies, which cannot be parsed.
  3. Use either of the following methods to solve the problem:

    • Create a JAR package with the UDF.
    • Modify the configuration data.
    +

  4. Change the data format and execute the job again.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0233.html b/docs/dli/umn/dli_03_0233.html new file mode 100644 index 00000000..d3cb4ccd --- /dev/null +++ b/docs/dli/umn/dli_03_0233.html @@ -0,0 +1,17 @@ + + +

What Should I Do If Invalid OBS Bucket Name Is Reported After a Flink Job Submission Failed?

+

Symptom

The storage path of the Flink Jar job checkpoints was set to an OBS bucket. The job failed to be submitted, and an error message indicating an invalid OBS bucket name was displayed.

+

+
+

Cause Analysis

  1. Check that the OBS bucket name is correct.
  2. Check that the AK/SK has the required permission.
  3. Set the dependency to provided to prevent JAR package conflicts.
  4. Check that the esdk-obs-java-3.1.3.jar version is used.
  5. Confirm that the cluster configuration is faulty.
+
+

Procedure

  1. Set the dependency to provided.
  2. Restart the clusteragent cluster after an upgrade to make the configuration take effect.
  3. Remove the OBS dependency. Otherwise, the checkpoints cannot be written to OBS.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0234.html b/docs/dli/umn/dli_03_0234.html new file mode 100644 index 00000000..14c6535d --- /dev/null +++ b/docs/dli/umn/dli_03_0234.html @@ -0,0 +1,34 @@ + + +

Flink Job Submission Fails Due to Hadoop JAR Package Conflicts

+

Symptom

Flink Job submission failed. The exception information is as follows:

+
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.obs.metrics.OBSAMetricsProvider not found
+ at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2664)
+ at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2688)
+ ... 31 common frames omitted
+ Caused by: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.obs.metrics.OBSAMetricsProvider not found
+ at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2568)
+ at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2662)
+ ... 32 common frames omitted
+
+

Cause Analysis

Flink JAR packages conflicted. The submitted Flink JAR package conflicted with the HDFS JAR package of the DLI cluster.

+
+

Procedure

  1. Configure hadoop-hdfs in the POM file as follows:

     <dependency>
    + <groupId>org.apache.hadoop</groupId>
    + <artifactId>hadoop-hdfs</artifactId>
    + <version>${hadoop.version}</version>
    + <scope> provided </scope>
    + </dependency>
    +

    Alternatively, use the exclusions tag to exclude the association.

    +

  2. To use HDFS configuration files, change core-site.xml, hdfs-site.xml, and yarn-site.xml to mrs-core-site.xml, mrs-hdfs-site.xml and mrs-hbase-site.xml, respectively.

     conf.addResource(HBaseUtil.class.getClassLoader().getResourceAsStream("mrs-core-site.xml"), false);
    + conf.addResource(HBaseUtil.class.getClassLoader().getResourceAsStream("mrs-hdfs-site.xml"), false);
    + conf.addResource(HBaseUtil.class.getClassLoader().getResourceAsStream("mrs-hbase-site.xml"), false);
    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0235.html b/docs/dli/umn/dli_03_0235.html new file mode 100644 index 00000000..d6311664 --- /dev/null +++ b/docs/dli/umn/dli_03_0235.html @@ -0,0 +1,16 @@ + + +

What Should I Do If the Flink/Spark UI Page Cannot Be Displayed Properly?

+

Symptom

The Flink/Spark UI was displayed with incomplete information.

+
+

Possible Causes

When a pay-per-use queue is used to run a job, the system releases the cluster and takes about 10 minutes to create a new one. Accessing the Flink UI before completion of the creation will empty the project ID in the cache. As a result, the UI cannot be displayed. The possible cause is that the cluster was not created.

+
+

Solution

Change the queue to dedicated, so that the cluster will not be released when the queue is idle. Alternatively, submit a job, wait for a while, and then access FlinkUI.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0236.html b/docs/dli/umn/dli_03_0236.html new file mode 100644 index 00000000..0dda9c50 --- /dev/null +++ b/docs/dli/umn/dli_03_0236.html @@ -0,0 +1,19 @@ + + +

Wha should I Do If JobManager and TaskManager Heartbeats Timed Out and the Flink Job Is Abnormal?

+

Symptom

JobManager and TaskManager heartbeats timed out. As a result, the Flink job is abnormal.

+
Figure 1 Error information
+
+

Possible Causes

  1. Check whether the network is intermittently disconnected and whether the cluster load is high.
  2. If Full GC occurs frequently, check the code to determine whether memory leakage occurs.
    Figure 2 Full GC
    +
+
+

Handling Procedure

  • If Full GC occurs frequently, check the code to determine whether memory leakage occurs.
  • Allocate more resources for a single TaskManager.
+
  • Contact technical support to modify the cluster heartbeat configuration.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0237.html b/docs/dli/umn/dli_03_0237.html new file mode 100644 index 00000000..7d8d5960 --- /dev/null +++ b/docs/dli/umn/dli_03_0237.html @@ -0,0 +1,18 @@ + + +

Failed to Bind a Queue to an Enhanced Datasource Connection

+

Symptom

An enhanced datasource connection failed to pass the network connectivity test. Datasource connection cannot be bound to a queue. The following error information is displayed:

+
Failed to get subnet 86ddcf50-233a-449d-9811-cfef2f603213. Response code : 404, message : {"code":"VPC.0202","message":"Query resource by id 86ddcf50-233a-449d-9811-cfef2f603213 fail.the subnet could not be found."}
+
+

Cause Analysis

VPC Administrator permissions are required to use the VPC, subnet, route, VPC peering connection, and port for DLI datasource connections.

+

The binding fails because the user does not have the required VPC permissions.

+
+

Procedure

On the DLI console, choose Global Configuration > Service Authorization, select the required VPC permission, and click Update.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0238.html b/docs/dli/umn/dli_03_0238.html new file mode 100644 index 00000000..e0b27a2a --- /dev/null +++ b/docs/dli/umn/dli_03_0238.html @@ -0,0 +1,20 @@ + + +

DLI Failed to Connect to GaussDB(DWS) Through an Enhanced Datasource Connection

+

Symptom

The outbound rule had been configured for the security group of the queue associated with the enhanced datasource connection. The datasource authentication used a password. The connection failed and DLI.0999: PSQLException: The connection attempt failed is reported.

+
+

Cause Analysis

Possible causes are as follows:

+
  • The security group configuration is incorrect.
  • The subnet configuration is incorrect.
+
+

Procedure

  1. Check whether the security group is accessible.

    • Inbound rule: Check whether the inbound CIDR block and port in the security group have been enabled. If not, create the CIDR block and port you need.
    • Outbound rule: Check whether the CIDR block and port of the outbound rule are enabled. (It is recommended that all CIDR blocks be enabled.)
    +

    Both the inbound and outbound rules of the security group are configured for the subnets of the DLI queue. Set the source IP address in the inbound direction to 0.0.0.0/0 and port 8000, indicating that any IP address can access port 8000.

    +

  2. If the fault persists. Check the subnet configuration. Check the network ACL associated with the GaussDB(DWS) subnet. A network ACL is an optional layer of security for your subnets. You can associate one or more subnets with a network ACL to control traffic in and out of the subnets. After the association, the network ACL denies all traffic to and from the subnet by default until you add rules to allow traffic. The check result showed that the ACL associated with the subnet where GaussDB(DWS) resides is empty.

    A network ACL is associated and no inbound or outbound rules are configured. As a result, the IP address cannot be accessed.

    +

  3. Perform the connectivity test. After the subnet inbound and outbound rules are configured, the datasource connection passes the connectivity test.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0239.html b/docs/dli/umn/dli_03_0239.html new file mode 100644 index 00000000..5338e897 --- /dev/null +++ b/docs/dli/umn/dli_03_0239.html @@ -0,0 +1,22 @@ + + +

Error Message "Incorrect string value" Is Displayed When insert overwrite Is Executed on a Cross-Source RDS Table

+

Symptom

A cross-source RDS table was created in the DataArts Studio, and the insert overwrite statement was executed to write data into RDS. DLI.0999: BatchUpdateException: Incorrect string value: '\xF0\x9F\x90\xB3' for column 'robot_name' at row 1 was reported.

+
+

Cause Analysis

The data to be written contains emojis, which are encoded in the unit of four bytes. MySQL databases use the UTF-8 format, which encodes data in the unit of three bytes by default. In this case, an error occurs when the emoji data is inserted into to the MySQL database.

+

Possible causes are as follows:

+
  • A database coding error occurred.
+
+

Procedure

Change the character set to utf8mb4.

+
  1. Run the following SQL statement to change the database character set:

    ALTER DATABASE DATABASE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    +

  2. Run the following SQL statement to change the table character set:

    ALTER TABLE TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    +

  3. Run the following SQL statement to change the character set for all fields in the table:

    ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    +

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0250.html b/docs/dli/umn/dli_03_0250.html new file mode 100644 index 00000000..2c0c8e01 --- /dev/null +++ b/docs/dli/umn/dli_03_0250.html @@ -0,0 +1,24 @@ + + +

Null Pointer Error Is Displayed When the System Creates a Cross-Source RDS Table

+

Symptom

The system failed to create a cross-source RDS table, and null pointer error was reported.

+
+

Cause Analysis

The following table creation statement was used:

+
CREATE TABLE IF NOT EXISTS dli_to_rds
+ USING JDBC OPTIONS (
+ 'url'='jdbc:mysql://to-rds-1174405119-oLRHAGE7.datasource.com:3306/postgreDB',
+ 'driver'='org.postgresql.Driver',
+ 'dbtable'='pg_schema.test1',
+ 'passwdauth' = 'xxx',
+ 'encryption' = 'true');
+

The RDS database is in a PostGre cluster, and the protocol header in the URL is invalid.

+
+

Procedure

Change the URL to url'='jdbc:postgresql://to-rds-1174405119-oLRHAGE7.datasource.com:3306/postgreDB and run the creation statement. The cross-source table is successfully created.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0251.html b/docs/dli/umn/dli_03_0251.html new file mode 100644 index 00000000..165d5d1a --- /dev/null +++ b/docs/dli/umn/dli_03_0251.html @@ -0,0 +1,21 @@ + + +

Error Message "org.postgresql.util.PSQLException: ERROR: tuple concurrently updated" Is Displayed When the System Executes insert overwrite on a Cross-Source GaussDB(DWS) Table

+

Symptom

The system failed to execute insert overwrite on the cross-source GaussDB(DWS) table, and org.postgresql.util.PSQLException: ERROR: tuple concurrently updated was displayed.

+
+

Cause Analysis

Concurrent operations existed in the job. Two insert overwrite operations were executed on the table at the same time.

+

One CN was running the following statement:

+
TRUNCATE TABLE BI_MONITOR.SAA_OUTBOUND_ORDER_CUST_SUM
+

Another CN was running the following command:

+
call bi_monitor.pkg_saa_out_bound_monitor_p_saa_outbound_order_cust_sum
+

This function deletes and inserts SAA_OUTBOUND_ORDER_CUST_SUM.

+
+

Procedure

Modify job logic to prevent concurrent insert overwrite operations on the same table.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0252.html b/docs/dli/umn/dli_03_0252.html new file mode 100644 index 00000000..90918292 --- /dev/null +++ b/docs/dli/umn/dli_03_0252.html @@ -0,0 +1,19 @@ + + +

RegionTooBusyException Is Reported When Data Is Imported to a CloudTable HBase Table Through a Cross-Source Table

+

Symptom

A cross-source table was used to import data to a CloudTable HBase table. This HBase table contains a column family and a rowkey for 100 million simulating data records. The data volume is 9.76 GB. The job failed after 10 million data records were imported.

+
+

Cause Analysis

  1. View driver error logs.
  2. View executor error logs.
  3. View task error logs.
+

The rowkey was poorly designed causing a large amount of traffic redirected to single or very few numbers of nodes.

+
+

Procedure

  1. Pre-partition the HBase.
  2. Hash the rowkey.
+
+

Summary and Suggestions

Distribute data to different RegionServer. Add distribute by rand() to the end of the insert statement.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0253.html b/docs/dli/umn/dli_03_0253.html new file mode 100644 index 00000000..9e28195e --- /dev/null +++ b/docs/dli/umn/dli_03_0253.html @@ -0,0 +1,21 @@ + + +

A Null Value Is Written Into a Non-Null Field When a DLI Datasource Connection Is Used to Connect to a GaussDB(DWS) Table

+

Symptom

A table was created on GaussDB(DWS) and then a datasource connection was created on DLI to read and write data. An error message was displayed during data writing, indicating that DLI was writing a null value to a non-null field of the table, and the job failed.

+
The error message is as follows:
DLI.0999: PSQLException: ERROR: dn_6009_6010: null value in column "ctr" violates not-null constraint
+Detail: Failing row contains (400070309, 9.00, 25, null, 2020-09-22, 2020-09-23 04:30:01.741).
+
+
+

Cause Analysis

  1. The CIR field in the source table is of the DOUBLE type.
    Figure 1 Creation statement of the source table
    +
  2. The field type in the target table is DECIMAL(9,6).
    Figure 2 Creation statement of the target table
    +
  3. View the source table data. The CTR value that causes the problem is 1675, which exceed the precision (9 – 6 = 3 digits) of the DECIMAL(9,6) type. A null value was generated when the double value was converted to the decimal value, and the insert operation failed.
+
+

Procedure

Change the precision of the decimal data defined in the target table.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0254.html b/docs/dli/umn/dli_03_0254.html new file mode 100644 index 00000000..7218bd73 --- /dev/null +++ b/docs/dli/umn/dli_03_0254.html @@ -0,0 +1,18 @@ + + +

An Insert Operation Failed After the Schema of the GaussDB(DWS) Source Table Is Updated

+

Symptom

A cross-source GaussDB(DWS) table and the datasource connection were created in DLI, and the schema of the source table in GaussDB(DWS) were updated. During the job execution, the schema of the source table failed to be updated, and the job failed.

+
+

Cause Analysis

When the insert operation is executed on the DLI cross-source table, the GaussDB(DWS) source table is deleted and recreated. If the statement for creating the cross-source table is not updated on DLI, the GaussDB(DWS) source table will fail to be updated.

+
+

Procedure

Create a cross-source table on DLI and add table creation configuration truncate = true to clear table data but not delete the table.

+
+

Summary and Suggestions

After the source table is updated, the corresponding cross-source table must be updated too on DLI.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0257.html b/docs/dli/umn/dli_03_0257.html new file mode 100644 index 00000000..0d252f32 --- /dev/null +++ b/docs/dli/umn/dli_03_0257.html @@ -0,0 +1,12 @@ + + +

What Can I Do If a Datasource Connection Is Stuck in Creating State When I Try to Bind a Queue to It?

+

The possible causes and solutions are as follows:

+
  • If you have created a queue, do not bind it to a datasource connection immediately. Wait for 5 to 10 minutes. After the cluster is started in the background, the queue can be bound to the datasource connection.
  • If you have changed the network segment of a queue, do not bind it to a datasource connection immediately. Wait for 5 to 10 minutes. After the cluster is re-created in the background, the creation is successful.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0258.html b/docs/dli/umn/dli_03_0258.html new file mode 100644 index 00000000..036c182b --- /dev/null +++ b/docs/dli/umn/dli_03_0258.html @@ -0,0 +1,12 @@ + + +

How Do I Bind a Datasource Connection to a Pay-per-Use Queue?

+

Enhanced datasource connections support only yearly/monthly and pay-per-use queues.

+

You can bind a datasource connection only when you select Dedicated Resource Mode when purchasing a pay-per-use queue. The resources are dedicated and used on demand (the billing period is equal to the lifecycle of the queue).

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0259.html b/docs/dli/umn/dli_03_0259.html new file mode 100644 index 00000000..619f1243 --- /dev/null +++ b/docs/dli/umn/dli_03_0259.html @@ -0,0 +1,11 @@ + + +

How Do I Connect DLI to Data Sources?

+

DLI enhanced datasource connection uses VPC peering to directly connect the VPC networks of the desired data sources for point-to-point data exchanges.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0260.html b/docs/dli/umn/dli_03_0260.html new file mode 100644 index 00000000..512f49c7 --- /dev/null +++ b/docs/dli/umn/dli_03_0260.html @@ -0,0 +1,11 @@ + + +

Does DLI Have the Apache Spark Command Injection Vulnerability (CVE-2022-33891)?

+

No. The spark.acls.enable configuration item is not used in DLI. The Apache Spark command injection vulnerability (CVE-2022-33891) does not exist in DLI.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0263.html b/docs/dli/umn/dli_03_0263.html new file mode 100644 index 00000000..0ec4b798 --- /dev/null +++ b/docs/dli/umn/dli_03_0263.html @@ -0,0 +1,13 @@ + + +

Can a Member Account Use Global Variables Created by Other Member Accounts?

+

No, a global variable can only be used by the user who created it. Global variables can be used to simplify complex parameters. For example, long and difficult variables can be replaced to improve the readability of SQL statements.

+

The restrictions on using global variables are as follows:

+
  • Only the user who creates a global variable can use the variable.
  • Only the user who creates a global variable can modify the variable.
  • Only the user who creates a global variable can delete the variable.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0264.html b/docs/dli/umn/dli_03_0264.html new file mode 100644 index 00000000..bc85b2fc --- /dev/null +++ b/docs/dli/umn/dli_03_0264.html @@ -0,0 +1,21 @@ + + +

What Should I do If the System Failed to Create a Database and {"error_code":"DLI.1028";"error_msg":"Already reached the maximum quota of databases:XXX" Is Displayed Indicating that the Quota Is Insufficient?

+

Viewing My Quotas

  1. Log in to the management console.
  2. Click in the upper left corner and select Region and Project.
  3. Click (the My Quotas icon) in the upper right corner.

    The Service Quota page is displayed.

    +
  4. View the used and total quota of each type of resources on the displayed page.

    If a quota cannot meet service requirements, increase a quota.

    +
+
+

How Do I Apply for a Higher Quota?

The system does not support online quota adjustment. To increase a resource quota, dial the hotline or send an email to the customer service. We will process your application and inform you of the progress by phone call or email.

+

Before dialing the hotline number or sending an email, ensure that the following information has been obtained:

+
  • Domain name, project name, and project ID

    Log in to the management console using the cloud account, click the username in the upper right corner, select My Credentials from the drop-down list, and obtain the domain name, project name, and project ID on the My Credentials page.

    +
  • Quota information, including:
    • Service name
    • Quota type
    • Required quota
    +
+

Learn how to obtain the service hotline and email address.

+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0265.html b/docs/dli/umn/dli_03_0265.html new file mode 100644 index 00000000..655371c9 --- /dev/null +++ b/docs/dli/umn/dli_03_0265.html @@ -0,0 +1,11 @@ + + +

What Can I Do If "Timeout expired while fetching topic metadata" Is Repeatedly Reported in Flink JobManager Logs?

+
  1. Test address connectivity.
  2. If the network is unreachable, rectify the network connection first. Ensure that the network connection between the DLI queue and the external data source is normal.
+
+
+ +
+ diff --git a/docs/dli/umn/dli_03_0266.html b/docs/dli/umn/dli_03_0266.html new file mode 100644 index 00000000..c1eb1748 --- /dev/null +++ b/docs/dli/umn/dli_03_0266.html @@ -0,0 +1,11 @@ + + +

How Do I Connect a Flink jar Job to SASL_SSL?

+

You can use Flink Jar to connect to Kafka with SASL SSL authentication enabled.

+
+
+ +
+ diff --git a/docs/dli/umn/dli_07_0002.html b/docs/dli/umn/dli_07_0002.html new file mode 100644 index 00000000..ed097000 --- /dev/null +++ b/docs/dli/umn/dli_07_0002.html @@ -0,0 +1,25 @@ + + +

Application Scenarios

+

DLI is applicable to large-scale log analysis, federated analysis of heterogeneous data sources, and big data ETL processing.

+

Large-scale Log Analysis

  • Gaming operation data analysis

    Different departments of a game company analyze daily new logs via the game data analysis platform to obtain required metrics and make decision based on the obtained metric data. For example, the operation department obtains required metric data, such as new players, active players, retention rate, churn rate, and payment rate, to learn the current game status and determine follow-up actions. The placement department obtains the channel sources of new players and active players to determine the platforms for placement in the next cycle.

    +
+
  • Advantages
    • Efficient Spark programming model: DLI directly ingests data from DIS and performs preprocessing such as data cleaning. You only need to edit the processing logic, without paying attention to the multi-thread model.
    • Easy to use: You can use standard SQL statements to compile metric analysis logic without paying attention to the complex distributed computing platform.
    +
+
+

Federated Analysis of Heterogeneous Data Sources

  • Digital service transformation for car companies

    In the face of new competition pressures and changes in travel services, car companies build the IoV cloud platform and IVI OS to streamline Internet applications and vehicle use scenarios, completing digital service transformation for car companies. This delivers better travel experience for vehicle owners, increases the competitiveness of car companies, and promotes sales growth. For example, DLI can be used to collect and analyze daily vehicle metric data (such as batteries, engines, tire pressure, and airbags), and give maintenance suggestions to vehicle owners in time.

    +
  • Advantages
    • No need for migration in multi-source data analysis: RDS stores the basic information about vehicles and vehicle owners, table store saves real-time vehicle location and health status, and DWS stores periodic metric statistics. DLI allows federated analysis on data from multiple sources without data migration.
    • Tiered data storage: Car companies need to retain all historical data to support auditing and other services that require infrequent data access. Warm and cold data is stored in OBS and frequently accessed data is stored in DWS, reducing the overall storage cost.
    • Rapid and agile alarm triggering: There are no special requirements for the CPU, memory, hard disk space, and bandwidth.
    +
+
+

Big Data ETL

  • Carrier big data analysis

    Carriers typically require petabytes, or even exabytes of data storage, for both structured (base station details) and unstructured (messages and communications) data. They need to be able to access the data with extremely low data latency. It is a major challenge to extract value from this data efficiently. DLI provides multi-mode engines such as batch processing and stream processing to break down data silos and perform unified data analysis.

    +
+
  • Advantages
    • Big data ETL: You can enjoy TB to EB-level data governance capabilities to quickly perform ETL processing on massive carrier data. Distributed datasets are provided for batch processing.
    • High throughput and low latency: DLI uses the Dataflow model of Apache Flink, a real-time computing framework. High-performance computing resources are provided to consume data from your created Kafka, DMS Kafka, and MRS Kafka clusters. A single CU processes 1,000 to 20,000 messages per second.
    +
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_07_0003.html b/docs/dli/umn/dli_07_0003.html new file mode 100644 index 00000000..c0679ce1 --- /dev/null +++ b/docs/dli/umn/dli_07_0003.html @@ -0,0 +1,34 @@ + + +

Basic Concepts

+

Tenant

DLI allows multiple organizations, departments, or applications to share resources. A logical entity, also called a tenant, is provided to use diverse resources and services. A mode involving different tenants is called multi-tenant mode. A tenant corresponds to a company. Multiple sub-users can be created under a tenant and are assigned different permissions.

+
+

Project

A project is a collection of resources accessible to services. In a region, an account can create multiple projects and assign different permissions to different projects. Resources used for different projects are isolated from one another. A project can either be a department or a project team.

+
+

Database

A database is a warehouse where data is organized, stored, and managed based on the data structure. DLI management permissions are granted on a per database basis.

+

In DLI, tables and databases are metadata containers that define underlying data. The metadata in the table shows the location of the data and specifies the data structure, such as the column name, data type, and table name. A database is a collection of tables.

+
+

Metadata

Metadata is used to define data types. It describes information about the data, including the source, size, format, and other data features. In database fields, metadata interprets data content in the data warehouse.

+
+

Computing Resource

Queues in DLI are computing resources, which are the basis for using DLI. SQL jobs and Spark jobs performed by users require computing resources.

+
+

Storage Resource

Storage resources in DLI are used to store data of databases and DLI tables. To import data to DLI, storage resources must be prepared. The storage resources reflect the volume of data you are allowed to store in DLI.

+
+

SQL Job

SQL job refers to the SQL statement executed in the SQL job editor. It serves as the execution entity used for performing operations, such as importing and exporting data, in the SQL job editor.

+
+

Spark Job

Spark jobs are those submitted by users through visualized interfaces and RESTful APIs. Full-stack Spark jobs are allowed, such as Spark Core, DataSet, MLlib, and GraphX jobs.

+
+

OBS Table, DLI Table, and CloudTable Table

The table type indicates the storage location of data.

+
  • OBS table indicates that data is stored in the OBS bucket.
  • DLI table indicates that data is stored in the internal table of DLI.
  • CloudTable table indicates that data is stored in CloudTable.
+

You can create a table on DLI and associate the table with other services to achieve querying data from multiple data sources.

+
+

Constants and Variables

The differences between constants and variables are as follows:

+
  • During the running of a program, the value of a constant cannot be changed.
  • Variables are readable and writable, whereas constants are read-only. A variable is a memory address that contains a segment of data that can be changed during program running. For example, in int a = 123, a is an integer variable.
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_07_0005.html b/docs/dli/umn/dli_07_0005.html new file mode 100644 index 00000000..f910393a --- /dev/null +++ b/docs/dli/umn/dli_07_0005.html @@ -0,0 +1,15 @@ + + +

Constraints and Limitations on Using DLI

+

When using DLI, you may need to make adjustments according to the following restrictions:

+
  • Recommended browsers for logging in to DLI:
    • Google Chrome 43.0 or later
    • Mozilla Firefox 38.0 or later
    • Internet Explorer 9.0 or later
    +
  • Restrictions on the SQL syntax:
    • You are not allowed to specify a storage path when creating a DLI table using SQL statements.
    +
  • Restrictions on the SQL statement length:
    • A SQL statement can contain no more than 500,000 characters.
    • A SQL statement must be less than 1 MB.
    +
+
+
+ +
+ diff --git a/docs/dli/umn/dli_07_0006.html b/docs/dli/umn/dli_07_0006.html new file mode 100644 index 00000000..4407e988 --- /dev/null +++ b/docs/dli/umn/dli_07_0006.html @@ -0,0 +1,647 @@ + + +

Permissions Management

+

If you need to assign different permissions to employees in your enterprise to access your DLI resources, IAM is a good choice for fine-grained permissions management. IAM provides identity authentication, permissions management, and access control, helping you securely access your resources.

+

With IAM, you can use your account to create IAM users for your employees, and assign permissions to the users to control their access to specific resource types. For example, some software developers in your enterprise need to use DLI resources but must not delete them or perform any high-risk operations. To achieve this result, you can create IAM users for the software developers and grant them only the permissions required for using DLI resources.

+

If the account has met your requirements, you do not need to create an independent IAM user for permission management. Then you can skip this section. This will not affect other functions of DLI.

+

DLI Permissions

By default, new IAM users do not have permissions assigned. You need to add the users to one or more groups, and attach permissions policies or roles to these groups. The users then inherit permissions from the groups to which they are added. After authorization, the users can perform specified operations on DLI based on the permissions.

+

DLI is a project-level service deployed and accessed in specific physical regions. To assign ServiceStage permissions to a user group, specify the scope as region-specific projects and select projects for the permissions to take effect. If All projects is selected, the permissions will take effect for the user group in all region-specific projects. When accessing DLI, the users need to switch to a region where they have been authorized to use cloud services.

+
Type: There are roles and policies.
  • Roles: A type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. This mechanism provides only a limited number of service-level roles for authorization. If one role has a dependency role required for accessing SA, assign both roles to the users. However, roles are not an ideal choice for fine-grained authorization and secure access control.
  • Policies: A type of fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization, meeting requirements for secure access control. For example, you can grant DLI users only the permissions for managing a certain type of cloud servers. For the actions supported by DLI APIs, see "Permissions Policies and Supported Actions" in the Data Lake Insight API Reference.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 DLI system permissions

Role/Policy Name

+

Description

+

Policy Type

+

DLI FullAccess

+

Full permissions for DLI.

+

System-Defined Policies

+

DLI ReadOnlyAccess

+

Read-only permissions for DLI.

+

With read-only permissions, you can use DLI resources and perform operations that do not require fine-grained permissions. For example, create global variables, create packages and package groups, submit jobs to the default queue, create tables in the default database, create datasource connections, and delete datasource connections.

+

System-Defined Policies

+

Tenant Administrator

+

Tenant administrator

+
  • Job execution permissions for DLI resources. After a database or a queue is created, the user can use the ACL to assign rights to other users.
  • Function scope: Project-level service.
+

System-defined role

+

DLI Service Admin

+

DLI administrator.

+
  • Job execution permissions for DLI resources. After a database or a queue is created, the user can use the ACL to assign rights to other users.
  • Function scope: Project-level service.
+

System-defined role

+
+
+

Table 2 lists the common SQL operations supported by each system policy of DLI. Choose proper system policies according to this table.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Common operations supported by each system policy

Resources

+

Operation

+

Description

+

DLI FullAccess

+

DLI ReadOnlyAccess

+

Tenant Administrator

+

DLI Service Admin

+

Queue

+

DROP_QUEUE

+

Deleting a queue

+

√

+

×

+

√

+

√

+

SUBMIT_JOB

+

Submitting the job

+

√

+

×

+

√

+

√

+

CANCEL_JOB

+

Terminating the job

+

√

+

×

+

√

+

√

+

RESTART

+

Restarting a queue

+

√

+

×

+

√

+

√

+

GRANT_PRIVILEGE

+

Granting permissions to the queue

+

√

+

×

+

√

+

√

+

REVOKE_PRIVILEGE

+

Revoking permissions from the queue

+

√

+

×

+

√

+

√

+

SHOW_PRIVILEGES

+

Viewing the queue permissions of other users

+

√

+

×

+

√

+

√

+

Database

+

DROP_DATABASE

+

Deleting a database

+

√

+

×

+

√

+

√

+

CREATE_TABLE

+

Creating a table

+

√

+

×

+

√

+

√

+

CREATE_VIEW

+

Creating a view

+

√

+

×

+

√

+

√

+

EXPLAIN

+

Explaining the SQL statement as an execution plan

+

√

+

×

+

√

+

√

+

CREATE_ROLE

+

Creating a role

+

√

+

×

+

√

+

√

+

DROP_ROLE

+

Deleting a role

+

√

+

×

+

√

+

√

+

SHOW_ROLES

+

Displaying a role

+

√

+

×

+

√

+

√

+

GRANT_ROLE

+

Binding a role

+

√

+

×

+

√

+

√

+

REVOKE_ROLE

+

Unbinding the role

+

√

+

×

+

√

+

√

+

SHOW_USERS

+

Displaying the binding relationships between all roles and users

+

√

+

×

+

√

+

√

+

GRANT_PRIVILEGE

+

Granting permissions to the database

+

√

+

×

+

√

+

√

+

REVOKE_PRIVILEGE

+

Revoking permissions to the database

+

√

+

×

+

√

+

√

+

SHOW_PRIVILEGES

+

Viewing database permissions of other users

+

√

+

×

+

√

+

√

+

DISPLAY_ALL_TABLES

+

Displaying tables in the database

+

√

+

√

+

√

+

√

+

DISPLAY_DATABASE

+

Displaying databases

+

√

+

√

+

√

+

√

+

CREATE_FUNCTION

+

Creating a function

+

√

+

×

+

√

+

√

+

DROP_FUNCTION

+

Deleting a function

+

√

+

×

+

√

+

√

+

SHOW_FUNCTIONS

+

Displaying all functions

+

√

+

×

+

√

+

√

+

DESCRIBE_FUNCTION

+

Displaying function details

+

√

+

×

+

√

+

√

+

Table

+

DROP_TABLE

+

Deleting a table

+

√

+

×

+

√

+

√

+

SELECT

+

Querying a table

+

√

+

×

+

√

+

√

+

INSERT_INTO_TABLE

+

Inserting

+

√

+

×

+

√

+

√

+

ALTER_TABLE_ADD_COLUMNS

+

Adding a column

+

√

+

×

+

√

+

√

+

INSERT_OVERWRITE_TABLE

+

Rewriting

+

√

+

×

+

√

+

√

+

ALTER_TABLE_RENAME

+

Renaming a table

+

√

+

×

+

√

+

√

+

ALTER_TABLE_ADD_PARTITION

+

Adding partitions to the partition table

+

√

+

×

+

√

+

√

+

ALTER_TABLE_RENAME_PARTITION

+

Renaming a table partition

+

√

+

×

+

√

+

√

+

ALTER_TABLE_DROP_PARTITION

+

Deleting partitions from a partition table

+

√

+

×

+

√

+

√

+

SHOW_PARTITIONS

+

Displaying all partitions

+

√

+

×

+

√

+

√

+

ALTER_TABLE_RECOVER_PARTITION

+

Restoring table partitions

+

√

+

×

+

√

+

√

+

ALTER_TABLE_SET_LOCATION

+

Setting the partition path

+

√

+

×

+

√

+

√

+

GRANT_PRIVILEGE

+

Granting permissions to the table

+

√

+

×

+

√

+

√

+

REVOKE_PRIVILEGE

+

Revoking permissions from the table

+

√

+

×

+

√

+

√

+

SHOW_PRIVILEGES

+

Viewing table permissions of other users

+

√

+

×

+

√

+

√

+

DISPLAY_TABLE

+

Displaying a table

+

√

+

√

+

√

+

√

+

DESCRIBE_TABLE

+

Displaying table information

+

√

+

×

+

√

+

√

+
+
+
+
+
+ +
+ diff --git a/docs/dli/umn/dli_07_0007.html b/docs/dli/umn/dli_07_0007.html new file mode 100644 index 00000000..250da120 --- /dev/null +++ b/docs/dli/umn/dli_07_0007.html @@ -0,0 +1,18 @@ + + +

Advantages

+

Full SQL compatibility

You do not need a background in big data to use DLI for data analysis. You only need to know SQL, and you are good to go. The SQL syntax is fully compatible with the standard ANSI SQL 2003. The SQL syntax is fully compatible with the standard ANSI SQL 2003.

+
+

Storage-Compute Decoupling

DLI compute and storage loads are decoupled. This architecture allows you to flexibly configure storage and compute resources on demand, improving resource utilization and reducing costs.

+
+

Serverless DLI

DLI is fully compatible with Apache Spark and Apache Flink ecosystems and APIs. It is a serverless big data computing and analysis service that integrates real-time, offline, and interactive analysis. Offline applications can be seamlessly migrated to the cloud, reducing the migration workload. DLI provides a highly-scalable framework integrating batch and stream processing, allowing you to handle data analysis requests with ease. With a deeply optimized kernel and architecture, DLI delivers 100-fold performance improvement compared with the MapReduce model. Your analysis is backed by an industry-vetted 99.95% SLA.

+
+

Cross-Source Analysis

Analyze your data across databases. No migration required. A unified view of your data gives you a comprehensive understanding of your data and helps you innovate faster. There are no restrictions on data formats, cloud data sources, or whether the database is created online or off.

+
+
+
+ +
+ diff --git a/docs/dli/umn/en-us_image_0000001078931615.png b/docs/dli/umn/en-us_image_0000001078931615.png new file mode 100644 index 0000000000000000000000000000000000000000..cc45c153215c02ac67cefc230f3ae80045959c88 GIT binary patch literal 302 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 z z3j;SpS7`Q_h-MC+D>Q&vJD=Bg?d^{_3^>0^De;74>xhZq_qr_X4?@2tLSyKmwj6=A z2q#9^19oDb|17I79ejrve+Ug%;*)34cmo}(P&lkp&(1+V=N_1npPEaE#a`&N3h=;J z#>4a$tFeU3;A}tKKCP5SycB@q`YYEO714MI)BO2ctxKm7X3yHfqqj`lsdMptv4tJj ztKJ=Xr7zE-&0`MeD?L*+8T3*7V?sM$*w~{=8{(W8AKjRy+e5aAjX}^Snt))GaT^uJ z*&pC!rEamW`tvHCXfO&OF5>lwD>nrU!ik$NC$*E8ZXHGqH9>5SoYYPgM<$n0l&ykc&oI|zF)U3(!mO(6(}SHUG+$yu zd_CK*qYPvACJM{xlpY7f)e*EFZh}9UA~is2)bssuM%4|RzPb=v?H{7E&X|`vHK6Cc zC<@$NBEe3P+H@B}I}3-Cokog!FWNeWDVJpuNA%5vx@rz$`Nn60ltlzVgSsGPj%0rj z&|_rch4;&19(nP7W#vS5@jQke`q21d=d}Jj+1D%;?u{_6au{W#8b5qYJIT!wNMGx0 zf@x%BQ5y3zDSlqL{XSH^=QkXY5qWk}P+)Gfh9^Iarh#!#n&4bMP+{3v`5rqXu>@5_ zpoaXKqLs^7y9HTAViJeiq*sBnuL{waD+rjW%-clE6m^a`;t0h}|0}}-JpB26)NEJY zU#9v)hJNMMSs{ejHkPij%jfG5^W)?Ec_NL`_!!33?EII`Gd_REk)F>& zz0!It)h%6qpKV!jj>yhobCK7hk8_yzLm;qS&q> zR$luEaZ_UIIQrp#^_OjYEBd$h-WT3~$1ELOOdWCs{5LKv1&gTmYa#WeY<+U=l!d$=LdIf6Yag8|P1@OKx|D|}>=2OR2-M0$+dv2eN zrZxL!IDVS<&Gfe4j@H>t-$nK%IsUxqx9zczFPHS0Zk>f~X(R8eeP3#~C+=IxdPmC+ z>!?2;ojbDW-EyJ6^}5>Wg|^Sji?w7oc3z7Bh zbUWg3j^Fegzq;LrnA^AO_j}&IRF05j&PDn77}h<+7I7i*CIL@0e>7%~3n7dxtMSi_iY}e}@=WECC zex~2AXLKt3L%za^ndBy&Tzqe(_;L8WKRFzo9iR|->Jv+e`*RL#B4an3n8vJTw{x44SjQ) z(2hbJ9#hBBU;nMws=xj(U#ccg*IM&cNw+Zbi#Njb@9R28T|7G>p{^d8TzxEru@alEd>o=?a YKh?Ajk-tO00{{R307*qoM6N<$g36c}_W%F@ literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001104091730.png b/docs/dli/umn/en-us_image_0000001104091730.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f7f6e5ef53df99e968537171e5f9785062a002 GIT binary patch literal 17869 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001105517798.png b/docs/dli/umn/en-us_image_0000001105517798.png new file mode 100644 index 0000000000000000000000000000000000000000..50ccdc025dcf60dbbdbf5db95d36159397e5625c GIT binary patch literal 255 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 Vh9j|NKpF7|oNzt^uXGGb`wN80LRA0& literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001142261092.png b/docs/dli/umn/en-us_image_0000001142261092.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac27c0b3115e819556edf4894f5baa3e431867e GIT binary patch literal 24572 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%0D{I3d@SOJJj303s%fUm896PMxO<1FJmx&G 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

^gkh)n= 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 MU3OV!8p_Nopgz5Z_mH`#Nbz9{( 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001161799601.png b/docs/dli/umn/en-us_image_0000001161799601.png new file mode 100644 index 0000000000000000000000000000000000000000..ace680e288cae12a537bf7230f1962b8227a489c GIT binary patch literal 5047 zcmd^Dd03M9w^t{pQCns#wH%lEl~!V8R+h^s)?_ZJlPPYvjSM*^X`|u-DrJkNGdY=P z<(hkL2r8z4`m4x7(@_#c6iYM3jWH2YK<Ryus-U2-)zRVfc?AVU7$Cp<=4;^lxIxM?@S_-Y-u{$AU5^eA__HbGq{~SK z1ww|J$a(HzWPC>>M81~ zt{zE973ma-qxqQC_A01CtJvnSx!U)C?wyXXROpyG08^;ELR7w@`o9x`_Kcc~v{ee! zv%rVHi&)6?Haf{x+OeQ%atrtWTea;@MAFBVv1Pus_2phz0Cl-}(wp7baM8H#;rkKk$L{u&Q(D0F^tG4$oMZ(?28(k@)CjTSkhs?_e{jXawk zRZg9I3&&LaOA#Dxt;^5BYUfTN22ekhZ9=Fyuenrpa?IdduT<&3{YVn+Z^;84M^rs# zgq1-EzNcA&jOsti0$0(6Ah$AXt#t-Y&>A{G=ZY1No^d)yvPHz|+sxI4^JB5GF_M>E zPW0SEbK4z`Z@ridylqm}_9^SrE(HqL*i2c2aR!;tFi4jffhoc}8>8pABhzJxGBMcl?{_$62noGJ9 zB8#hij$M1#mEcJdq99|qTI+CJG|}^yX)3){X~4o5nF!&U!ApTOx6CrEGFq{c!jkj; z+1u+zW3~9Z+}w;-hUq7$;2^||3n@GL`+?9dW-b!UTSB`S!+4`(^`&;XNr7ha^Zi;l zTU{rnZ4P{FSWOYmd&Yj0?1@;oeMjJ#oLJy`3uLyS+TZ2a#S9<^R&@pA;n=Cgf+%`1 z6ev)~H+nichr%`D5SX{muhGnat7>nIi94dgu}}OoTe>uAdFy7F%fi)O+Rd=X z=vjqi42TI)QhlWu@ed>UMZrz#&12000Xjm2E~nB#)Ej@Dxl#3mVHQ){Hvcmjnj_BXqT_rO2kf(ViT5Kx{8>Q4UtkDvrDeanBr>Jb zy|HALtZ`(7gGDDa=52r}!9;o{q-d%r2NOu%45Py+2A=Y(`D=~pxqNDph=%>)@+Sc1 z6hB}0Q=A&vbNRZ->y8xdd$?@IhjmW=JL&G}rZduYShK?gym%>yG#<)H~yXmB+P2a}z57uu%aC|Qu zT3Oe15AK`&PcL0t2(g;rA|$MbKD`8HHRK9K^mQNWk)VEv-zz0~PUGBTFfjoEh zCWP<(txChCg&S{7Lop&kj~Sl*lPK+p4UlxyhbHYqbOGRgi$)w&v-+&&6XFq@(2Lo% zT(MB-#+wei{}>76{@N4|`73m6hqP)0GC6YUoLhN&=8QJ}m|f>++&C?4D$1YVC-uP8 zq`5&9W`756ZVXW++)0*L?adgME*|+s9!O0~Tsq|18?`dS-COx5kg5uiEMNl|y^`N|em%G!42vK(3HEzo z@ckyiCcrj35fUPi{8pVqN>JQ2DxrHiMi@>lu7VZBkKWcZ4$AasfUEQN}DRWq9*2WsfjVjvR`Y&6@`jOCCA<<36F5_X3qaS_fXw_&(3D`TUqdML7-8CM zr^`?Ybmiw}y+r7&*8Yf9B*AKZ?X>q-Q9STj|9^p~3a;dcol8*y1)cJuy88-8emlKY{<1tackgyT^hQn)%7B6eSjzU4`@K@RRe0CxXZ2-fwOz%xK|DC%9vQ>f}}`Heu)BLHPy( z2V?I(j}4@7<{2ru2|PxMgF96x9wC(0M)t}WbPL&Du_0EXhF zp{yCOr@Gae>GeLK%QsB_zVzg?iKtlo^Jmld2Gi@N4_%t~9;Uk2HG4bGzAHi!z9Y?B z&#x}e&VBn?XIh|>G(eTUq|(|Aj!zn~U^NCYk>^N*<|o?oL>mw=WU0j`1lpP0@y`ZI z%crR9jw0#OS7jsf3k+VlUj!j@@a0K%vC;8~)pt~m{26e(1Qnl-d*-^0uIWNF62*E= ze{yQqQ2rp2N^=U{zZsGKexP7OR{PN_ioT?2d@Elk3;fq(0;c}JuxZ7Hb0uq#4{px; zQ#Mx(JsRQ88>LY8+y(!<_m>x+lCv#;_$fZ68?IIp==G?~uMQiDR#)FHgqXx_sBS>r z>sFsh$7mm92mWK{Cc5^ZJ}gML%c zOhGS}&`=>Ukl0@P7b1NAj7@wa`J>J0(Z!vkKLb_RlFs>bI12=<)-9?GJ7+bmn3 z!)kt-3~4qo2?&GoD(^8}+V|gjeE_C`#HI~w-&Udmu|9DDINy$rS>Z_taD%Kj=YyFK z8`h>AxbqcY63U^KqvZom#vP#KhkuYldML%vB!Q3_{9#FRW)}f-AH-a>;A=hsMx`e6 z@bVPA$HKmKN9zhr*wvpX_GumLe%8+SRD4^D{3c_f9s{@ z;JKm1BH5!-uSQMj(c3`P_Qn{WG#rFf?18>yvp}x8?#Je;{;sKE%38=Nr71^GkiB|V$>gAv+ZtJ!dd(_sJ4$ukEqJZb{ZJ&`<5n5V z2^-v$>J>srmuwVS#5&v+l)~2cn@Y0g58n69uI;Tu&+SnsD2|Ro!K^TPa!sS)@HggK><{+ zzD^XQDk-iqVb0V{?Zo;v(~=Kvf)-o^8rDIV4?V|~jVsn}KBcS~vs&{qY&zU$wr!5c z(SaLmY`M#Is_$hOxs~k;IEl6hWe6khw&(6Q zdw1T(Jt{4`KnOkOffQ;biJwAOj3uqaCgOiH;RJ~yG>nrl5i7s-B02?wC{bLBGjOPt z-LM+Cy`2H58ev#^3i_6(P4)~FRoH8k_mp+^PsP`G80MeBHSYYc!%Q7Z@W3Vq7x$_d z3S9QKh;;^41}(0WiafeCdX#6m#y|2SSR-9n(UEl)Q^IW!mpqC!hWtO_>VJH7)rT69 aDUvO2PB=a;Fa}<>DLC4>o~}C;l>8s~s~Zjg literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001174159614.png b/docs/dli/umn/en-us_image_0000001174159614.png new file mode 100644 index 0000000000000000000000000000000000000000..74aa05c9f3c476bcc10891654981ee623b301196 GIT binary patch literal 4645 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 WdjFf+g#~`?&=~5P>C|Ys#{3sZ#pT5S literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001200929158.png b/docs/dli/umn/en-us_image_0000001200929158.png new file mode 100644 index 0000000000000000000000000000000000000000..e01c6ad11dd6a9aa1e15d57a1eb05726deb9764d GIT binary patch literal 13743 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001201409084.png b/docs/dli/umn/en-us_image_0000001201409084.png new file mode 100644 index 0000000000000000000000000000000000000000..dfb9821a471b318309205d6ec3ca6551eae30263 GIT binary patch literal 25524 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001209489750.png b/docs/dli/umn/en-us_image_0000001209489750.png new file mode 100644 index 0000000000000000000000000000000000000000..33ed35c36aaef646482a29ff95e778d0573ff734 GIT binary patch literal 632 zcmeAS@N?(olHy`uVBq!ia0vp^&Oq$J!3HGP@_K9lQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`ISV`@iy0VHUVt!TQ!=Xz0|OJUr;B4qMcmulw%&&w7>*V0UpjfdgSfb? z$iim*2MhFAtvO3qi@8Rfz+g^%p+mCESg$|MqZ} zD6_E4RlhTjgHM-O&3zEK|In_Db#D%f9_eBX^qJDSf&a~MRc$su!}#+Z88_I!J)R`W zd_87b(cOM5RvaVpjWiq^T`W zOX`h!Y%=4a^%>*s8?tP-1+8Uu-#ML&%`Elyfdv=$?B!4Uu~NRnT%z^q*>{T=n|=AD z-cG;%;O73#534#Gd;2b(dl$#=WKq-}ct`I$!vh{p{h2X|E{cbChdiwISZ9zUkjQXw z{oNgv-HqS7UfxuF{(G8UWw&8pi(@Ju^XJO1g*7n}KN7^w?cNv2C0D8+EHOiSj`(^( zbBqwXVp!0=r}F!R69;1MCGu1|Tbw(PeMDEZXMf&Dbwh*g=JhKSb;Rs#=bZE8J7dYi z;>G*eUJV@9@W7YibpG$*|596Q%Dx(5PGJX;G@3UR&{kq#}!9IyfA7I456+>d` dZqHAaqRX>_5A2)x1ejVFJYD@<);T3K0RRB20*(Lx literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001209516352.png b/docs/dli/umn/en-us_image_0000001209516352.png new file mode 100644 index 0000000000000000000000000000000000000000..33ed35c36aaef646482a29ff95e778d0573ff734 GIT binary patch literal 632 zcmeAS@N?(olHy`uVBq!ia0vp^&Oq$J!3HGP@_K9lQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`ISV`@iy0VHUVt!TQ!=Xz0|OJUr;B4qMcmulw%&&w7>*V0UpjfdgSfb? z$iim*2MhFAtvO3qi@8Rfz+g^%p+mCESg$|MqZ} zD6_E4RlhTjgHM-O&3zEK|In_Db#D%f9_eBX^qJDSf&a~MRc$su!}#+Z88_I!J)R`W zd_87b(cOM5RvaVpjWiq^T`W zOX`h!Y%=4a^%>*s8?tP-1+8Uu-#ML&%`Elyfdv=$?B!4Uu~NRnT%z^q*>{T=n|=AD z-cG;%;O73#534#Gd;2b(dl$#=WKq-}ct`I$!vh{p{h2X|E{cbChdiwISZ9zUkjQXw z{oNgv-HqS7UfxuF{(G8UWw&8pi(@Ju^XJO1g*7n}KN7^w?cNv2C0D8+EHOiSj`(^( zbBqwXVp!0=r}F!R69;1MCGu1|Tbw(PeMDEZXMf&Dbwh*g=JhKSb;Rs#=bZE8J7dYi z;>G*eUJV@9@W7YibpG$*|596Q%Dx(5PGJX;G@3UR&{kq#}!9IyfA7I456+>d` dZqHAaqRX>_5A2)x1ejVFJYD@<);T3K0RRB20*(Lx literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001209640030.png b/docs/dli/umn/en-us_image_0000001209640030.png new file mode 100644 index 0000000000000000000000000000000000000000..ae39a88d7203a2c5f82e1e7b2f8f784f72ac678b GIT binary patch literal 547 zcmeAS@N?(olHy`uVBq!ia0vp^K0qwX!3HE5T)QfPBx7-qyA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K&H|6fVg?4j!ywFfJby(BP{R&S7srqc=eJW0^9~#EF#JAdx1?HbLb${S z<0hL$4T=1bMrodHdmN{FdZ|U86yxQ0J;=-wBBmLvZuOU=k5fGDNULOFqFc-iK@?_+ z^9|*a`1=oo`#;<6(Rie>%>E4wfsQzU)q28&RL>`zHNI=S|I? za+a=>h6N2J3RCUxxfGt3JIxrRb0#>)bp4liD!WQnhJ+{Xm)U-h@sLQdp=l!1D+j%v z`&$IgKdk&>e%_m-(nE~d^xCVa=M(&e_@p0i*xO#!eo!$er|0saBdlk3ZaME2H*MOr z%J640W`_+orc8#^VW$gxE zB?~GAEzZm`n5y1l_|azDyydSC-zw1C&!i{Jvh;7-mHb;$zK1Ga9}3vs-G209FRN$a zzB^V&k1?r-Ssc0g&wJgI&aIUlw?h8r^j<%spViHq*mn$T_$sx?--y(CV<+zO0T{6i Mp00i_>zopr0OZ}|a~60+7BevL9R^{>V}(L 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001254569529.png b/docs/dli/umn/en-us_image_0000001254569529.png new file mode 100644 index 0000000000000000000000000000000000000000..8d349c36cb5b90111da952b49be9074562bcb085 GIT binary patch literal 79613 zcmaHT30RU_*S5{mG0RFTrzVf(kcp`|VQO0Dl;S*5p_!VR8JYu9$I8lq$|*7>%LylP z!Wk-4oG}&2kyEB9sH6x82>jUlo^yJ?_xt{R;f4CZ!`geTz1F?%wKk70*`1f%esH^l zgoLEkg>#M)5?eqL66>CC-7NkO_TtR%;-_`tj_1uJ%6sK!#eZz{H?=jDkf=cHSiQ1I z{P(t-7u>@oBzCr}{j4K|7Wqm@i1Mw@nL6F^nG<-|dK023kH4v{n6Gr!8@>&VefIqb zH7WeFYr84^mG+USb7felG;}1z8^Vd>aZF+NI*Gf`wuXhnTmLxp z%R~NC6Klxxuz&9>|~^F2G#+nzeVr8S3{{HAlzZKi3|feELZ$1|a8dDH^V>WZvQYf{{Or)+#h`cB#d`Ta zgs4ygu%vRRnfE*ws4zCd4Etn67OiLGP&XSVS z(P8R`2~@=Yy>M)Bfiy(&F>Ag=OVDy6C^ew_vuubC0!wayCBMrUQk0wX)KLdPY^mwB8G z|FO*uwTGB<8}m#<%5&c%s;D!4hUQ@EM#(6h4Tdjz`uHu0ER-l0|I! z&;tZ}pZf1Yp@=Q|*}YX0LWBkfhr(v&~$qX}zmkAZUO40||FJ8sQq{xxQ%`VRYEw7e?bF@7ifiZfmw zkt1v+p&j=ENDn3%HPt?wGwcgoo)+Ec7+mjDU+h=xbJ*j8d-4PVKE&Vlz%BV$z`>C( zfn-4L1FuX60O@InRh->8!Ve-HQ*stop1$j(ub=X1I@z>55P8s7CAE{C-{CN`1u{y z?ai(Oy%&Betl37nt+O{?6+~E%YN*)=^Ohj}G=S1)zRk`ciBA~`T zt~16owkr%6=~QFUh7a>| zO{#_eDdgZqk>jFy6mb4z>LtOj4(F4J0A7b@aS-+4p@bulcjYn9(QE$o?{R9wo{e8k zkBvpX>T~_~f^VE1NeT(_P)3-+{H?J z`8{7@ao!yRJm~p?0?rC_zbpyf5Mu9@AK2x@bo&Z*PN5SqaHn_CrYQ)jy?|Dl|XrD6OrFiZTXx}m6aUCa@jaMkbBQj+MJa)-v!rP}d z`Gc(fpxt@*Gf)Su3uq1JZauN7xvx@VwFA@)r^I-?Hd~wIxpioz1UbjD?a4<@PfO+K zZ7haoyC&WmhI1=pOs#q@Eg*bc5OdCI7BOtKiMM-$OGYpg1HnVmk?toH_ms4l>0Hzs zjwqH6cKAf%?*ehuM&Bw=J@0>pR?K*HOEKR`Q4<8GB1DJCAgfR`h(lJ&(QGYhQt?aF z`W#$7QbK@eaK$?A*#aLINJ-_Ss5$w65{KmiaTJ!2xUAT;yi~GKVh`^Ua9!;WTgx9j zdawk#K0H*XG9^4z^+i?5Gxurrw%cJJ>gIqmEu8GCiKi z+>hp){>GAIJrm;s$hPxQ>SgUV)&>2#(x{~ip4QRQWs}>>Cana~a)-rR;nxWq$W#ehD%@|L`YtlB@&dM|9)SS;ZN2v)DVA9HL+=ot3|{_5{rKSCey9`f4P z1JZW~SdGs5Yn)`!qeUKyLzo9Z=}@HJPKe{gVSYb7Cg0ZIn#+YsJ zB)IE|k%*hjAyDRlzpdkL)LBuao}1)QaH&{~ElJKB1@8=!6x5PtuZovRarrClp4O;b z8(X#vHz&5Aa_wtMQHMarN8~J)pVjTHxcF2)Z68X!ZG4(h8IS*fdgU_i?0tsrw|n-+ z$>-SbrlYK&+zAAY9K5$9DwrPq*>V`+Lx;?w@{^iENVZeUMEY-H8|_-}O9TA$us?m& zDXE*2*Pw2-6(7eu6;8SAUT&eCiYPr*khp2GGNvz~WQ$mF`$xe~(Jf~S0LNA@tj?aF zbgY&*HdE8YNe00kE?7n(zQ2BSDcbhU50ll7Jq4$3D7bcFQwsf5O-IjFOAl@ywhtvg z`jJ<;QNbF8$#}(!J??0?!^v#K+HdyNRI?V89zC@CZ`AjfdHvbeLwgqjc~D<#aJlrz zOakf3oZA%}*&S_uoYzvWQc1%Tr?B`#pak(8Vm3c^u|A~a^f&TDZWoS=x8h~R|LrF8 zq!&JQD-h01CT_H!aw?0l9tJQqX?2^rFU^LVm(=U)7b!4H6P}qwdP-m9#V@@0*^W-K}`? zTFE7$0;0pvQoh2If=_~kku_aS`S-B{{4LH!3*@@eJ^!}jqLAjbB|X9N&rGEGQkd#k%)W>l5Ngu(^(`)j*>wDaN;Rz&-D)5SK$# zZ^r8ZYLtE_nx8_7Kb%-^t9B`1D!@8#`!X<{ZnTtHZrJqHoXR9F@nc$9h2w;{soflT z{FpTx;x!j1$cy=AfX5fUibSE973_Se7I`%PX7^arY|hFZb;Bvfk1ufE3lMd7m2gFd z?bp4&ih~mJRYmfIFe1i68}OHsFPr`i+yVPm8^z$>B}sqcST;48%cayEusdbtFS*xT*?CPZrsINeE)CM>Hx;R)z{L-VYjWXdhfMvJ}XLe5z?i@EAXS zM0ZkpVovR>dZ!7QM)t#_QPCnl$PIXpYe6R-L+5__7HuJ#--_J+{*S*?tbgmYbU!~z z87!rE+sn6 z$#H8t!>jR(T9tmvKAaRtG)?zjjJ#B2EwHx@U*-FPd412HUGZEXFEly8x~QQ&Wp{!( za8YsavmDX0&NC6mW!qGR-Z_X-g@gsSMP0hK?iR5*Y!;nAZOq|%4K%SuGCUBASyfTK z%6Qv=IEn_d@P$t%+p%1+BVd~q#LZ2j)cG#FkQ5ZlLL8(1x0U~zITt&5{%z>72jEXr z*HUon_D&%53@e@b^j3>rH7pJ^eDKg>Tb?@%_?W!6!Tr77g*%Nn2mV;qt)0*qX0pNw z(W~;9WNyEbAfT=y+BM>zo@GxQ5D)m#o7px>kC zse*fLNd*tOhws=eYPZbOyUhje-++HkwqZYE9{|3-x@yc~g=bG+?>RC(x1y!+aKy!= z!L>Ha1-*Ug!k_Ew4}j0XBWC=$saO_K#aJ{$z13R;BSBA*P19J!c)@op5VhSn7%fM&+G2HJ9DX>}dNu%Z1z}~EPVA0t2QBqCaSuiG%?mZd4 ztLu5CJzIW7I(8i#`^=47dToarB5e z3^EbrnGjB+AYj;pNKP3AR+q)-_k)`>(?;C7!moncO5e=k@8sMP zYE{6^^cN;q!&!`@ZxO7xaU6osE-+GRW0P~*2mR4f`ARGPG`XBa3wRzdkuNhkFy;!= z-2i8QCyzgnEn!e{B*f8g$JJ+mbl{gQCnWB&KCI!aKi1N;_fH(gVvkpZ-fROGGbI&< z%R{RPS%;SrBS%6emMam)%;c<_ijLqA(4q0ulUbW$?V9IVemgrmoxY`8hwi<4*KD*+ zj5=mEr$CS1~1SUmO5_PyvbF$F@xL-*1^jSy@_kbhQN}-m;AvAqKgavSd=-SS4id}*( zx;sr%G3!fYvCWtA6s;}dP*%d6!7Hi_dfiAz(`gnY**G@;GyX8BxvZjpUdlucV(}ve z2A8tA0&eR*!UF4X_MNu7CFJ^(?2~~*d?+t{E1wGppp0u{@!c_Vdp2IlGolWv++JAr zf6>L_TEhwR0C3Bg6zmP4WsJYHsM117#BMFv`jX%{q{=&OIc3m$?cH_g7A zh^1Q+&Fcza+3EJ!ml#GCa>|^X683GnDgL!XihCQsm@FJ+d0p|keqXID zS^hx$0d7f^$yPYxLY(L`oXD_wJ9StL!Cq)5rlFS)h?!e=Y|_si17Lp<1F?+z-=@v2 zqK;a{eJ#f(2uSQ7U6Hs07K5XS;2~0vO3#X%-s0x7Po-yH#J)oCc`Xq*hpBCZv|#(r zo=tC?Te&@q&0Pk7xYFg70h+a9;^{5RJ@Sg=i70Id_jXmvqba6jez&@wWQ(LR5*(X) zvKM3Izw|1VJr(?Q3V0@Vmev)9w}i#c9Zr!O~Z7M_SFzoh0F!%5sbW{r7GK$DZM3p>=?Qb;xsgY_Q4 zyw8-CG?90YOmTJg1f%q#a{nvzQlAK2{y|ZoALJ#KI6t)NKxxV8TzX|qK8L#9tzV%z zDb1^4MO6SnQ`Cwvd=u~zcpqHP(HMtET^Owwp5EN(59VDW)^9|4Qku5$r*O5MdGwoi zoE^GDFY2VUvOW*Us~PVca%&zFCiUEd9ngMLD_R~SQj107X>b>q{*S1wtXa7ItZ+J- z+WJK}qK!PryR;3aqht=A!4u3;t*`;39i#b-5>9j-wq`zV9?tVU3_4*CpVX}TG$+QL z?+*RQ{)=}07mU8U@965sSE0Y>t$?e$@^~})NX}S4D%SU4`+DDCBCDUlr zsaGS#NN+N}*$-Qx8tNm)*UVLe-c9wUx^~NR1x<*wvKM^Y7Vo#APuKO#RM5uiSfBM8 zSUsZ&IlTf6KAP^~{d@NboT(foHHuUO3biLY5j}d``>xKp&9}aIemq}p6cIPuwSYI~ zH#PqF*7emsS^?{Mgmw2FYO?a=YbkB_YnpmnLb^Xvs%VUH22SCkg zl!Dcsugk}&%~wM-v69ALIXoQcV-d6s{X^#96o{=EB4h?(YAHp=NeMJM`>ha{b( zaL*QC-D>Og_WdhiWCz;J?#3On6@3kjRTbwusXmd4^D*zgFv8ro^d;PXRLm7M-qAd> z3*sWMf1CJp48jk>0ieeJYs?=)eG|E`hj(;TP3VmdB|_!Yx|>PsAp1;BN_RpC+aV2Z zr%pC*fz?G{?q)x%5NtvktmU;k{w{<(NB>EY6z{O zvajuS#bvJuDc()i`xo<)5dIDTR9p-B?@9mfsoj6)>OZqY3H7c2q_96DqQr|WbzxNo zrK4_F7Rq++FWJhw0^M)uBIX(-LF?fxgB z*Z@;EeB>^3n6J3-^ZwO;CzL-(h4`rj3OoUP&+kFoqqe~8_hX)tLtzWHo5CY>UikH1 zwUOQOuOu7ctfXz-CiT@PTLK7o6(nh%Ps#!#E2OO zzBswpEHSuNO{+>biCL24=cw4{+>(VaSMrC6ak?)GiDMC>$#_hIl*x~aKk1_nT_vWv z@cHiSW1t$R2Vw}>`#%#!u_gQ*-8(b}uWx#Lp#vo*9uF(U{`k;Yxa)rVO46tQstx@+ z#r*r78#Ej&@}8W9i3FVS7)G<~k~jvJ-?sUi)cvdS)kp9F7Wj5gI=aya+u)NBXT3SM~a~Y$G)D z)(f=2-|-ZJ?9UM2wH*0NVav_7+GgLgVr5mU3(tK*aomE&aH?JV{Alg7eThj5$w!k_ zlGTzmleLrek`0qhdg5KdjR&VcmHzvaw!ilglMfOz@h&$Pl+9TT&f=z@RMk)Rl_KE57uD_++KA4@Y5XqeG zIRpyu=~i_r`=tu`8lhFWxEzV6D)MTU<3lLctLG&I>;JA0^?S z=Vi5VyKl|+pc>U`;k1dm#hk`!7^OLurNMbi4y|XJ)b~c_zBgblb!kSr6q*&RKjpth zgu$wPk8X4HxOcIC`D3dRb4Yr`jsdFAxRjk>lb>EusmfLo4fzkyzKDLPz!gV+)Kg+! zSV!EmvG}#V?4otV5i`L>HpbH94}rkVaYVsNXV${Ee7Oa#Qj5F7MxW@}{C5VLPLuuo?QSqqO59Ml$xE=z0O=g0EL8bv!pD{?t#`LatjU&?G?%U{IB#noi{2c&lm z8Whn7rfKOD-{5t~C%;zEORokZdA#06(*oRWZc5`1S_(favwX?>_`BZKne!&w!HX6M zo-(qbxmi-|A)DNrY{V3mnX&hu^$C_+Nr!&V^ezZ=h@OB6UBzseaQMfY8(A{t5~UIu zH}cY7A3ILphpy%=@4>T%dsUrO&rb#5Uyips1#B^%sC|g-IQqy6i*-{%M)!KdP=PRt zw{cLj6w-rwp2G9yL@KU&N3QDdVZNV-!w5=kcm5H({firbm0l(mTKFS9m_s&ckX|so z$C_@H1>ZK|cG&lG3dEXyw`H!@Ci$BK_Sw_#q*nnJ{(DouLZ3c$Ij}ne;pDfiG4@8{ z4cA~*tp7c^Jj{(+-7TdE-6ca5(kD3(D${-H76p zUnHO9uY?%Y)0__0wp2=8df-2Qs~xZfuq$dTiFd;^O;%YF+^Q_)vl(#FU;69z|j=zC=BE&{qg z_K>IS8O@kdZMOTi@2)c8dGeB*_dS<4K6e)V#8fnKBl04=Kd9L(y>sAbWKcn;lSkBu zN4mid@f?)-nxObowvNkh_$GRq*(7twOGg1cm0`Fv=VPWjV9bX5AT3-ZLhJJ1FHP|MO2 zpl{Q3i_FNOj4zwOt$STN`cCb11ajQZ08vuS zvLgk2>wct^^Ap%gT{3VX%^nH@0~ba$nTLn8gHZo?g7&zLfPHIRuKL~l=je6K&(pdh z6q%zMd+z&H@U*-7BeH2a4y6~<`@%@Vq2j?GaZn$093>?|akkt^hraGI_nq%iD;o{a zY@=0xr^3j|OHm^(+Rg=?s$a&}BMpe>h70mRd&3PMBuPJW&m2`lzO?Y!>+gPl2;({b znwNgecb!*e$Lx??|4~r{+JJiPi{;KY&n_{grxv|Jy&d!an*GeOJtv zUS6k8g2cI>wXE<6^*=Ctd>{>7W`L{hqM0_X4cEQleL|~3komVuHL(e>p47_M!pn38r z6x#Xy3(OKa1L6Is_-=Gne__DRv+}8W7rmNCxe%rph|jRe#|;E?IsneZbsaZg5C7TZ z{AWO9v`~e77$mjz7ziB4^%F-4_H#i7`fK9_i_?L#`;T2WFF5G;W^a1K+vVRrRypAA zsE4ZV;ixH!tVhw~j$1H}8h*vB7vKPEb&L|-n)OW!f7w~ASr})w(1eLuakkv3B5<#g zr64`5y%Tc@>&y$LH|CzGwCeac#146LbKs55C$BVk{`b-@$!(pu>W$g*_z6YrL~-qL z^wL#$wQpgyevLz(!ecy8yq5~1okm{*bU2(yy#!**LX`_;5Jv33jqnQ`wyXi8Y;>ru zF*p2Ywg2fX8b*k*ml%fM-SqAb@}O%(!7(eV@98M~YTtmnM`zq@jBTUeo0Zs4FdXyD zgk^Sgj5I3eO>$IvpvQ-c6)x$|pOQx7>uNfsO0RCZ-0{wLa+VQCOe?6CPFI{Sam|xH z;{GphD~(<@F4b^|7W4I{ytoCh&~u{S&)b)l7+L4|wKp*vFl5p|Rgk{q?(wYXYKL>X zdd>Kly|kaN>l{>D2{}U9=_#?(Vuu;jh$iKufE<~r?LZAa9AYo~7bno?o}s@s_YlTq z4X8u5CB!0x=V*TDEm1n8lwYF(;#1Vjs6Et!G&@2i|I91=3ERf-L;1u0)x~nc9BcEeDtF>nV(*;|)&4}&Bg;h8{9C(<#SlX83HE87;8Q3}SH2dL zOg{o5eBzzwtnO)jTk1<%N zSNa|WVQB>;`qL>@--A@jfbqYeg^Z(#UPzDjOTQaIZ+&cDaL>EubuL}jx7EUaa$|@U zXWMi7`n8El0H7&@B_PAg&Z=(49+l5rQ2meyt27S;OZmECv;7o}RQxf-PxUZ`aIpjo zy->Zg!>4_)*~+v1Fh4bMR;!WC9~e+OFDv~#$KxYWEr#s>PtO|wp}wqz&vq^ftSRPJ zi}~!-1*Vh*mz${$VeL6&A}U;B#hgpaX3@ylcV(Tj;3*YC{^TeABDXFU?qlNqe8h}( zKe$0qa#-9;u+B|F>}u}u z7cH|3^AO+sd7t*S7pzot4COz?VjF_^Q~BzLI@R2)41d~iQ+~{6A1ZQ=8+UQg zc4&O5wvt}gms@_caN;%7lF{Fxw1!NDwWM^7aa{wd&lJ)82XJP7wLzLNk31BaH`EO( zuoEW<|9DR^ztpPkQc!vOdwQOgk4%YU&2o|>=zEDwhI?!qYM}U19NwZRo|Z`}y*>A% zD(;9cy)NHIa)yMaeKCFCspTT^&*up;kYb0K$U=ntv$sum`RY_%M;>fFVP!3yp{}{b zC2ePi)3YM0;+=0&G^APX&x)6XPi>M-5>JtWtrDODt2}3JHB)re>OEB5JQ~_TWMPi!c9#D`b zB5qb;%i{YF5^D(|VJ(fmf3)n+SCK_N#dw4Oi2LtuBXPAF*;!(z(s{|<+ra%(`L?I% z-yZkCS$(3f6EO_I4_>HGT^-eIpS=7p6?3tj{XJfEMwi-bYTN`MnSWfa6%JdTfA#!w zejl4Myh2{+(WC4f4RA(3a&3N@j-_+pbd;bRE;5mM?m`<>1EJ%jYn`^tn-e}WQop1d z(6Dz&Ym)zLP<@W>b}sPIpVyt@JLuUrmXP>e8X(Pv^Gd5aoXDKIb_^M*z^OUES`S=O zh)k^Q-pR=%7TPnG4(rM)DUCBsV!x5c-nuvxAFZZFj*~-vV7HAK2pYYJlM4w=wvQO| z<-%(e%1R1WGobl@(_&8#Smk8*HAC62rV+`9$Gbw0K7LWBB1vnvGWn`I(reo zQikdJ&k|g?2QZi(qR^;(fNxGW7#W#(1M5MK=vAdG{+5T2pZ*c~O%ViV_XM@a^;nB< z#MEgJF-l&#clIU=c!u!pMzvY6(^q1zUExujja+BL>#1-;AH{F7JP0zIooNmMs1$IF zwGctAA#voQHeVv|Mh+Y^x5$EOeieGpG1d!U6hUJd)b@I?N`}9UOqlH{k@2a2;UU)3 z(!Gz-yB~9hJR@7gjS7c4tW1KwTJfKMKQ?SNnh$Kw_MKsv@ED*2Bd&P+_6QAIdpIX1 zAWNp?GW3_~GcyfMMUC7p#Pkte$7g#W3*UE4@z<#79p_i`L%5+g$^ngypFeirJX$U) z@E2*4CXpiB3e$|awqg=d0KYL4LB0jBuas#jTEG?NEGU9FD=GAa`*2{z6fR*F$)C&lF`P z{IZ9k3@emNY7jCs5*HF56N0?=$lNM>(F^d}(UpY}-*q{G)gK_2 zd>RS8SHlP`PqF}{`4$hV{Nd!1f3Zj-)C(u$OS3kK(@8s;tGYgOy~`S*`LBlJ0suK3 zttwsv6XZqwZ7TTTOlE*^>g|fMm1w<8*X>VglsVo@(UkHNcV7OhP8xWuZM8CoP88Lu zD2T#1I)OnI&9-MSPQ*uY8*k$rf#cP0Czo^uJC0`4_XxeFjG?I*qmX(OG~PUuf#>Fq zJpU+oJzCEDef3DxNNqYr4UVpkLl41B*aa6OZJ7G#d1IJMHU3373wy^7t$x0@i`JzC zTx?u$K=o-BPKLe2dnM>*ggR!=GI!BjV3t$dJ11g&%5Zx8YrC0^I#?G<7HTSo>pECQ z4Vx&Z>Lx!<+LW)aXyfj~Ne%%`_;8x#M;Bu3wNiM^Ls7$fA&%Wg=~dUX$`N#2HMMqJ zuL^`kuc{aQ;J##5y8Dp4VGB=SgZ`?)lec?o%FiQ$=?2~m$ZLd#z=UpelAo)%=O87} zXS2s>gY_?%`&+#m0~KFLHGz4CR%HDGO=qRpky>MgTE)zl#ZAVdLH6x#9@9IS{AjYE5`D7x zEsJsAGR9`}h#BD|)?qw(k`_?_8wswM-rA!gX3;Sd3nxY~n5b!dq#Wd`sPWChqmkf-)G*n+MSH) zVqz;`*LqzM6Xl({clJdo>#KLlZs2X zv3hNvGK0J$XJaSBAQ1xY;xpkWJ?M{de`pl+Hv!U_Z@LDaN#X&aMuo^A$alhwb&PY8cuvft!==>byKD_-`8?RIWq$_e7LlN9${M{L_ z#DM14R!u9X^40vK>3dc(?|;kOFA8@!xoSodB|0u99;-RLdZYt?JS@h5pm@2?NB|gN zT3`PxoAb@fnUV*NeH@Z~4aHinuo}-e$ckH0b{+v$C(kHqt{ypoNk~b(&hoBlCiy$r z)s*aqe+)cN^)gDv{RaE97DNGoSKmdRyx@6V^o9M#{vc#9psH|&->W|evt%tyt){TZ z!8h12Ef*43vNw@8)-X?JWSz`jTGb|HjpR?CbHHi4mg0zzgVR>m?T7v2VP5ho3_02k zJ=xVP)X>ueAt8^-aU=aPE%TqJvx|Yj&Q#Yi&MIk#!GhymNHwPIPx$?a@B6e=GIMYrA5?el>maSygjF?))N? zGdmy);lpjH=LngcDX&g_Bwu4elND*Q!4lkUpy@mud(yJm{5FlhaBoKZEr{t;k7=;`dG;-1G1IZLm$8N|IbH>Y}}b`qja@H1eq z_yvYw{tUKe6lj1S6MDhlB6c`YE;XZ@Mtou;It?_$^bsMHXdPqoWa%q4M5&9&jvcq9 z$PLbico&+BoF@xrs^1p5l2UuKE&e^L1^?nEw`v}lOmd!R2&pozLQfE8uN2$hSW;ctLG(DK>LH&mPiY0uL2aKX>e|p4{nngcB zH6N!6U<3Jc;8{bOHq1t;oNy3fBWn7Mkw9MZ&x23wXYk`XG4oLadH$=OFssoiqCHCJ zP!)R3a@xJnI63_J(klnpKw4W z=W$ll^=Y=b_!c@R(5QdWpTYN`;V`{N zYwEQvm9r!EPBHbdg!}tvv`MTW}$634c7Cy^9}aA zOM=W1U)F3IFeBO*K8(O-QU~=kM_`(R^L{j-Ok0SiPl@i#d^WaQVm|0qOc2g;GY>bz zbmx_-qIxUF$`PA>0*Osl)=`7yGU)Y>`*~sSkDc*TvVOFkr5kO_m%c3@HHaw(V-uV5 zmnx;)G=8yCFF)E2mGO#)7xI&yp_i>oSUa48Vq|%QX5o~n;K&$nDq(i@n)Tp{(IPHxGtfco`}4mV7i=c!Q%)tWBhZftgXKS1A-2Oy&e% z-|@Q9U(UScrL?8A;Ysk=mbl;e(?88{`1V9aPi6B=m6Ih8b&B^6 zG4!IEcWaP6re|v)_%sy|!}Ov>mvB6TL0`lcs5ZKV8nh|heqM|BdH~nvR?{1gm4ktL zD=O{kfvbIBya6G=l;8kY8D=`pBW96vF2_3=gZZz>~V=4V4tLp``lkl8-gY%d9VYD=} zoCqbn;!&RhQY55S7UL{8vjPac#zj5y=nISWPOSfZ>(Ks^CE6HTxUBC0?Y1aTG`L^t z_?y_Oev%9SI>Tn;7YAS!8#YIED;O3y8q*?0IBjRa^A`M_PvFa4V1w(Pi(S!F*>szg z*5|k?8~X^bypo}@7@ag3XLVJN!msJV&ca+sEgCM<7@e3SzWU?~S@n#>AZC>uZSXR#dO z1AQX+^>80uLVj^=-h$y|mF8{Q3Bpi8A<&Yj@9iH3)b54w>PKBl6k6u@i4hwHn;-0FWNRB+PNE{L_JH> z4h+&#Y9Mq`WjXVLMhzq5^CXiCQB8JWY;V;9`=3LwU|#EpxlBB zNgy%X##d}m{0t5FO?-e7kX~PIqtO1wH*htK0?;=cg) zPqwly!EY)ca@Yh%`~?pv75BBh-f4c0QPmKq#H?#-9`=XE;s(B* zP6|~L*h4CMhhm*knNL1Mm5PjCr^w-%4&(zAHOwB}DXnmY7UuJo(L`cpQtE=-MY{I4 zR9;;nW3pl%rxvi>Y#{aK4B@ty(g{$F7UHpirhxASvElJfo?E6Z_4_ClbGTo` zcI%n&_cNT2LbYLNUAHHiKZUEAz#D`{vM*r;DRMym6+@CK-%+rnQi~6y&Jcn5w8H9a zX&z2YIfN93*`o3zMwu_pnPoZ2d8WaT{5wP3Kw?!faZu;Of;KenzCmPTtQRtR5-G{4 zHQ^H$LJ$3F&c{yv?0s1$@m^>~KH6|H`Da63Wez~c4DYoplE&^RmivuZj^vx4CWW&%($B>s;cBOW#EfQPzwgODT(?BpGM)hBVa5i?z&|yVN8v2~f*x@71ZOHUs%7i{ z`R@0QorBrbaWc$Z6~kothlZ`ok|q9@xlW?=cql4N#Cwani5Gz>UnON2byVS>papZ$ zD7enB$?s7GS$VB1rqjre#w|>#hY-%#XEU1c&jGA&lM4)^uxH@XgN6%1h}D;TLqsgW zR^<7Zey7jBR&dH3Ed22p9FFj?K<^CfipSG&5%IP6I(}nSaVI_obWh4r!cdA;!S3$G zz?^5-Ou)Ahy^|gl$6a_lpU*~_`{YuecoxDVS6OkICZgtWzZ(7>-BNlOow6-_mDA!h zEjUo9Z%Iv^K9)V%w<-_1hU=ruTi_X$N{+Cjz{DZE+Dp;Umrb{WSC(fL;z*Z=g|?TI zT8#MDV!h|}4`Av~4~fsoEa{3lwyrmRw11r|Qp3Mos!$1CGPM3!h1fga74^xOU@>hm zlbF!URLi0&z62>rChh)N`HJ$RX)o|Mh%7bhr*IWJPlcBoqPNWdETV^ z(s_|&ZY$-5mn-|*X6naxAkjWIH z8kE28_s3D`e**l^*?r-+EfJ}lSngPFY^;Za8sBX5hRaogvbPK7D8nf%7n&+pIL3%w zDdJDJ%c(5a%f+uXr1>#?X$6L`{4v}mvtW){1$)mHD<`Xh|LXGz7sSPH- zyaS;c)|cOIIY-V9^_iJ;(bJiE*i|HVz$pQ0eog^Ismo;p7qeG$XobDD`pu}Y4eblo zi4out7!fwdcMQ3ip_fpab+!x`^7&wRO=wteLsQa@;FvL(2FrX*Z#j`xaz>NKE2PB? z>y4H6Fs;Z}*v7TNk2s3Q)dLA4b=cF4v+3s~=iXJxzJH&86LHUQSribq8t(kkP z1T^Irg*n46GLH^r?U}wXz9lfOwuruc{yNLg*=J;|;rILDXM&gg-y*t}oU@xWuF-7m zVr;s(pUJetXSJoVFp{}c0gU3-W+kFY1OO`8KJyc zvDtImMiA+Lu*5|va}qEn6XPQ@e~B#9s9E2{Yt*hjk(5Add6RQ;aimLgz0fVU31)0} zANcZ0jAU(B!@^6Z4RM12`Epj<&X0r}+$`o}`Z8mi66t8^gcRCtJDSE<&?spck&v)W-Aygc3G?6#J^`Lr$2C)+S zeVFa3ZU2w3_Y7-tYubj{_J#r?Dkw;abP*7dE=?drN(x<2AeJB?ARr}R0Vzr+K%_|v zB=p{cTY6VWK)OnageHX0LU}Jx_r34;d7tmQ{&0B6L2|7%Yt76#=bWSVe#MLyhi6pu zQudcjAwQpV^~oiQH5CXY&!m){p%_JsuF_v$H&pVx@}sb~qpJ3GsLdVsH{38Q`w&%+~J(ND%nOT3|d&d*bYlL+*#+~;nEc{$I#m%jXp~d`|f>(LMRWi!ZF9-zb~PhS7$KtB*%x+79pv^A+V} z-fAZ;okK802F|ahNSOtYco_O=wX6%K2PJRrV0 zmuej67RD2bG0N%tUR>>1?JcG|_bD3+!p$E1`rc(uXH{Qi^Szhz*Rkiu#O?QtPbz~? zB^GCRe@M$7+H>-wIS_RJ9i`#{Rsv%s&dSv$wL&=B;pNZHw@0ftkv^K1of&q!EnaQ1 z6NGR?Im#ppJ@O*!L#kA@w@?YiIBCaCr}`N}UAq1|^jOV+QR!G#vF=E7-?>jSM#+oa z+t1Rb%9l?kR;vVb*&NL#9s%%Ad%I+wv>7tv`bJS+Skp_(vqNMe(j)tnD^EF9xScr( z#?uscjbhck=|Deqj~v^qm#CY)@SrJaY>o)0z)N!fn#-n!QTonBeOG+CBeN0Nte#ny z^eo51XSkAN1MN;p@fc3c6Z|yLU9M7-*A$dGsB8b;K5^qM@eSI*$88_~pkho{W$Bb; zFLsp_L%lFmLdj6NJV(6N?Dx}ks?x4QQ#0w*Q@!ng5{ce-cEt|)kKQJCgj|?r5O_XH zUiNOnpXgtl7W_V@N_u^xTL6)~jt*9yMmBh#&k3Wp*n5;nca3zn#uai|S?o(>O76wDl$|@5hKa&A9_4*={L7gcQP@oL8k>?7y?N~T z+?xe*>b0Kev=DT28@vU^)bulkkuBl~$B=QD_jQG>tA8n7?p*Jet>fBKH=$2n&vtR3 zZ@o1bGocO5w^I{xJPOF-sYGL`Q2rOiSiU+<3=mEEE>#54;|h;o_jV{Q%=XBWILhOLw}j)&>9(e0E~yg%{?))+C^(J67RUbk&F&Ct4(cV(G2B@AbF(xEiP zQr`Z0w2o^)ca{nd~1c=nK9BF_cyVmANIC157sxX5%5q z$O7AlbH>?y&`2Mgz1XQ&CKuR(#BQ5Dbu)HuI+MB{cLxP@gxXE+Anyjp78peVxw0i$_f-0Q z=^Y2QPu&}bUOMsPYR)g(;k#;T{Tv*YM;iF#8GUo-bkX%`K6euJs}{ev)5|^+`l;>8 zZ;4{mjO6u%H(YA;LiM^>S!~m?(`yH|#ck4M*CH6N)~Ve`5hrmIN1E;mL6^%dzg!Qw#<-`w~Sc-TUIFIb;l|fT4&Nl;m6wIFm1ijCvx#~v&1Ths+>0%KX`NNv;7+uYT_k+Sp1vy z^yYydV;YRw;j<7)xAg?Ph1cV(ZRfnQhnt{3r4)~}x~w~W zD@ICH64MWA9c{YU=y85>KHO4UY$bHU zA+bAW$j;0qbVaso#w8QU(nNCS_HE-MuFZ$$sbXu-CI&?ViXzgV6H3sg- zS^3y)&wU$T-j2vRdC}hW01fF?cM9vq8Az{c24ah21HT}zI7C0gR6rDi;tuJU993m| zqk2CQaz^-k13|mBVysy?&)=3kg-=$!R_Ea{)BBfAbr{*0JS6st+4~s#ux9<#r*9$l zbJ^*SGIKXw9@odY%u4fE~X|Nu5TkSi?s&Z9W)&`)SxqI)cq|4 zw4CPCD}q4z4xVKSf5r%yZ+PI_j{Z@f{AA}V&sG^Dd8dEOt&UZI>R74osQk@m$2Ulg zekz$q5I*hl+a+7(LQ0DkfbzPmplzu>k@dDL^RuDTV@{JcpVuy{K1+5~^ou{{#MR1E zxp;5nW^mSqus1E^q3(!fl}>MsQwpA1))jQxp${(WymUL^*80?nk=4pQ;BK>`qqFCq zz(nm=btuqMmmf`5KdeM_W#5u3GUkZrOmc{n%v7{VQs{uPqx@kn<)@!1Wc%agS|jPw zj7-iUKZ0O~@rdk34N0-fl`^;JjjT>^_fWrb!LDQT`jN?cqEpg@vJrhPJwB8h{dRkO z)tRD_V;AlIR4AU4wi+N!DiSG;H~xZ=pl#l+AnXEhMu(ey8YOD7BQbFoYo!2kG%Y5psqlobLEXC7W@*bLNJKi?IKUvgB@r`<{8j(_t4`>kDQ0juSTr z(&pR4@qoId?%VCU0d+Uwea3+vZ;nN(kpilTkC?Gls|GwX9x4>f8Cpa!`4}4yK58n@ zrxtpRkz_pH;UPAqYXg~by{Pn|-{vcJwbV-4ZjG@gQ|JXieWUxagC}jNBF~9QyNyuK zU+s2g{_~h<0$}Wsy`*sPeLiJZ*YfM7e>Ye$8L_sI_J90vF1Hr4)$+jd_+O{v3iDOD zcHuu&fQtFgUt-GP12hT!UP!)#9JIebYximQKc9r}_B;Ob{0DkejX%%eEHO=oZ0%Mu zRu}5(^8p0bH)V$PPHfZvgFyKLqIBuREQ+*Q{=*!I#*yP+?GZCEtTGl3Y2qU9KXs zlKJVnr@lHJdZ&DJ^TXB@MWTYI&P~D(aQw%SO~ga?9KyS5mIy%H6W~r-;VfMeIa=?*2X}os0u+%SD8KsFLO=6 zVt-r8AGV({cH^Ut`z)TeO`-MLqF55a-j`Fah3rH03c^A>P14xwt2UAT5-I|e3-lqudZYslt?F{FDS3N~<|&SR>7err zEXy2GvR`O{kKE#+b6=FTUp?CVj{$yoVSPpFOpanW{w+u-sE^;R)b^q%EW;;A8-~|v zdxQly_lv^l-JVvc;>XEc(kn6#_fA6n9({RA5LS9~Bm`*8nDVwonY{3vh#vaZ5AqU) zow_JbH9=RUZA#ngXRGV@T>kcmJR$*$62o||NfHaUYaAcHiFr?U@-)T~uK#e>9Qp^} ze-aKL^9O8E{zt%(i2}k5TS7}$p%mFnk}xTxirlaz)JS~lE(uX~Z6vk#U0S&L1$UfVzkTG_ z$LQ`XkT&hQC%j-sa4Z#|nVvp?8V>8iyL4y_06^LACr9EpCF)k+*aHIZJ>i9j51WJ2 zb3di$w2+fZM=@tLBKwdUU%?~G8$as2D*0iWU%~ND%{4!%;jRD;^}qFOAxKACLLx8L zO!0ecWW)Vv+=i04slt##*m|dRsp4ynym2II{fl|>3$0Kp1Ut9PKS z)fnT9>=%P3@nViNy1m0spT;&g*p%m@W0uvQugO%f0UT$bJE!FTIw(aDz)Vk;e#o^t z{0-2F{qy@D1_65nxVN9~@7_ea6_GtzT|noM>ir|fXtIQRyn5*erZ~Ff7{<858u8CP z|K!r1o&CN%|MPx;Jnx^s&BO!&{sr{2z3=?*YX*?u{m<`Q#Wc2)cAG+X2#iUqZ{C}a z%G1hx0fn+}WS;`sgrH0HQ*SP-^i`;Ne^_ZO{_fe|KIOOF{FgI;ndU&07L<2HGp;i4 zlh$tAip68U#B{5)ODI()&Kw1<`d7bP)^B3Qe}7pd(8@ZXb%NKUcTRDJUy7chHQfA6 z^I;^mKUr@`$gra5=kg@78lha19C{wtc7K z!Y7w3tgduJV;XI5;0BWp;Dz1%UqjCP#bs;1DF=qh2}YKpybLV|+5NAOM+V(hfL*cw z)b9eEk3V$$|Ejm)fzUo?sQ?%K{^9`MIFl35?KMs<{$dGq6_!jO)p58L+eN%_3^?m{ z?o!o!ACUnZ(Y-}$7lG{(&gVZ%pa;%UNa1ir5SS>}KJY1B2m`e5r8? zZeo;O>iJ*m#16>8VgbzY)uUJ|ylX8I)0z*F;0XBPSV zkShOw4C972@Kp!1RW+}aAyLtxn-7Oe(7_P<*4}pmwgk}4<~Gt+WTwpTMHNefYz^0K zma8Ug*8|EVjE{Bek&I%&x+JyyN7aD{rVoFQ_sqm@(Z6!lrbyBD6fUJ4v1Z5NiLYv< zTmg@Y)qI)css+SFng3d@ySF$*V6Wg}2d!g5x1j9*d?_bc_@aA?n z-x2dX<3VYl!3@~bzX8Ql+g&JuRf^uJ;K-12^dGLI#i%r0bZ7L%&-cwK%unSG%{O(L zJ3L_Eh6ah>^6rc|_2*f-8|OJx_K#JtEm1St=P|}(PgEAqK9BWvZrz%gG_FsU*jhWY znilKBw#2q`o`&jZ&tH>@9d0LXhFN)Z)^1Ym=E=rZ?y=tJ{Msp(^>t(h5Nci>26Pz~Mtyf){fs36 zlE=MI?ri{y5%WG&2|ec*JwSo>`W|Ja)~jPd$DQcOBjw5s0C00+*G=^z3lzN-e;B$i zYg;10Mc3LsC!NWEB?`-SDKNs7*-~?|E&uUY1#F+tl*TqvBbzOf=4JMR2^;(t!19hq z;2nu`^WoY^tS2B_yZzF#m6RAizp=txt|^6?m?Dd>Hce)$;w(MqioEDOT)+ZZxvO|g z%B)5uTO0!rz}>bUlx)dJfB?08&6*k0<=+?BwU<-M7Tzcj zL&RWX_pzQkiKPF*VttH~8CF{rpIN-hZAyK@l<|KQmQ2ar=EEvYI z)p(S{xWtTN!4q)ME`Rf%H~1i>wwegM{a&G34oNMmZj-_oW%h_b&2D=J8D|ogP|<08 z@Ot-DLi!vpA2b_*=YwrIIpSUQ0;WALlb_o6KkgV#dk>ZtEn?ZVE>jjykgtCF{) zH3+BPkf1ncK|pPjbGNVoXdIgydbtK%E`RLi?&L3L4>Yl=*bE$=a%@=84++~8=V1(i+4BukUu!XpM4`Rz85`r|Y^V;dX+d{awPm2<$zt=oOWo=d z$CFF$II|a!&ZkD$>qd|BRBE6=Gvl8V_#Bh2kBc;T1yMQ&T*n1W9K5hGA4Z;+u9|aX zBT5*)@Fk3KCdE@uc`4S9I#U9c(MGUkNUFX&9_hC4&C&6Jtry(tzS)t4yCS@8f5^- z;mObcp$+~V4@h2&)_SSp=4WRsvW@edbqcz|Axa)gw&8elb8{eWoIUs^952AX5D^V; z&4#DJfqm6dT9Q4ECA+Qp_OjD-F+bd~MSMh-uga)bj_vIfGxQa3AG8zpKuq`v2GfzSZ~Bqt}#F zBW$T#3`6IUD%bWqbv{a)5afpqRfq4J>$GpIb^0n>Ps8!orUdr%W^~fKq_%f8S5_c6 zpPzp-zU`cRU$e7)c)r$sY&D93Ud>DXDu9}=r8$Jl3ON0!=A2gG8mpm|0a8KY?zEM7 z)$Q;je7qXYKQ`PfoV2nR@+{M|;w@bqEk>MU^DSKS>%RFCy&G#+Uc+Vl z3_27Q=q=i&4UUsm{^ZV+|yzWzXRiyWxyNfNg52_??uV#<=?x0t@6c%o*kHSq8J=d3ztAlp= z{tR`Ay3HcSVwmr&C7`?$&9n7GtA%ayu*#ZhOKjaHa#hfGNl-XGK7M{}aeQ8XXIX#b zw7%ju;u0o59f4mC9D`-*9mImiiQlDUf=L1}oi3qAx4z%9711fW6f^o(3e%u(jB6r4 zGsIawz-vokG(bg{K_^W?^D3eog?kwO*roRElo4 z9SZTO$&SI3j8$Y+g%8`nRI-Pc2}$;J_105eL&9y)4OCVDLm% zB=3qYu8H;yL72Aij^A2~9!nvl6LR37!Zv5}+Zz3)Ye(RwK~%~Mvk*?687@r`I>Iah zoN|5F!S0TD*=5tASn&FZvSVpCab2&f=Z8*NIgfEfy}M*sIV)BAch00JRsL+rhz+g{WJjf-lf3EUyf+A2aiRyx$rBFmdD_)`6$LLXN{Q=+_=}X>(Tp}OqlmBGg=gWw~-fUo?5p& zv86tHw`lTu*r&G7acQcmy_#`6}RZ`Wd|_Wa7O26*$Fa!X#_6-f0V(OYa)R6q*KY4j2@MW z6eV~pHl9^~IEg=b6p$JKWXQ}S2%6M#B0cwN-|qc~bm({q4DP`wMdJlJqaiZs*cNyM zSXC$jB88+fgJ9(&m~1h4{uedi!UCsooTMnd}=alp`-UNcG56P6=d^_E{AEiV2j` z2Bo`&rzNPxO&Odw^*7Tdm2i@qc?6fSDwi*E0crN9y+H(0Dp=3aL`Aor#3mabg>Z|R zwrl1M2k}@xJ{>7>HuG#~P~MYkN9nq9pSxv{#;sL*I**Xj@-ZV7$Ep z+yc>z?&xQJ{jIQ_6q^#}UAMff^j9%QjYeCVn{_t7uhz!=Bv0wf+y{lVZ{k`cCM@X@DXvIoCwW2s?LjT1MpoD+9T<%^=d`43!@Hp0DL`B_%X zMVN1>SkPk*TVn>oqca4Q3@SWlDb6Y)N6CO|YdzN9v7KblRTraTzQr2u{6Z3~gM60r z2K{FdpKqzpOZTFG{NO4w$k5vEanFiePQ?%ejD!V-!zWKDg<_XV^U=9ST4AhN>>HtQ zap=x>iETb@7tXPN%kITNGA8>}KM7&q8BGU4_^=!Iy*q@Ds(L~;bq?ew6V zY1=rT%^J9VhQW!?7d8Se#+R2RN!8|?Tk|C&` zQv=D36hQGp(OKL;i1R_?&&>h|Fj?IgSl=eSV#Ha!ZZKhUW`1;C02aT`DFGsm#G%xI z%+Jk^Y|FdebmT(|pbJ7xAK#!!%}`IbW8ZL@zCTp>j+-v3(Ky44?^A(9Kv2)EFTkzKxV|5$5}ynsH4571uR zp0wJ|IBj|oi^|cf^-=P5M@17%vj(9u?TAEZ0a)XH@Rx~m-(C6)E+T8`g{}AA0WXDiLCn zA@me-)@C4pk5`Q)dwxZVq)eDtZt3tv8|MK7iR2WgVncbTXC#Hb>&@vSHO`@0IUA@) zux3G~w}nq)Z>?WCG0m`1=Rth3@zEciI4eHkM3f&vWC>V|Q^`(0Tnd`5)-Es}0`>E- zpiFXXN#X_$=I8*>k$yb|4=1=?+*rPI7r{fW5NZHFWi`RtF}A%@-Whn4%tprotYY2> zuxPjrPVa9(>9TFKl_bzv_5G~?Gg`%l?LJ@h=#{31v{~+baS(p-5g1 z+c>s+X5Jw$f~V0v{%=1Pi3gTnlRc5bdF6>=)}h6gBK>q!oT$=yV62L!h(F`HA7dyQ zuamV=2vqXE-rOt3VY7j@BGv6K(psQJFk6zC_$x()u8-oa#l^27t_~EeuERKXX>na( z*?CKOKc6^e?2DMd!@>EmYODZn5VRKU2O%>8&!y9jqWCE3rZQ`LiYX#fcPc4H&b7M4Ij;GHSlqFWqVplmm;;A%_1!(SsYUKl z5T}NS4x9&wbc(PW+P=o9a1>vUMnY~71oJRROG|^`Xm{iAyH(Hm zfc5U=zqT(lwD6-rHHqyYe4DGm9e;z#%J2pe{~?x-TNl)5euG@;2a*E<$yXhl0uh`v z#aPb_kyS3HyB@!@vph~9&gi3(O!1%}k-SnxuZ=Q7pEWF?q}(7HW$s6pd~S~ZgG6}g zp!4O%!n*YKna;PkXQB)T&qijkvEc=77@OgOw;Y3th2X_kb***Md*U4rn@01jbJeL} zChnPKRGn_*)7*6ku#Z%7*+X(r4R5rWF1_YbQ+}?+-WFx)fL?gunzs*reVdbXal_ zub)Hg+u>lUm4l;s)=~watxyp2TN%hWTov0A<~f&cIa!%5g)l07S5&azWfP0_2+^^K zFw29USv$wv3e@j^Jz|_RVzE9^B}B|_!b@M=3H*5p9-xtNr0bO+Y(aD2v;d1PNE|*b zS*Am11CzN7uK-zTGgD@`A3T+OB6s6N%9;1z4`#fd<)n;rx3U{-mKG85S)I-&muj&$Q*}a9f;jcTS^skhq%*0ovs}3R8w*5UCz;y!Xd)B zU7;yjH)ejiU5Py)+Rr*6LT;s{fQ(B`WQ++tH4(J0>rv?hj%+j(L%9i&%ZFAhFfp~i z*ps9EcL`<|G*$b+7SA6>E%n2n5f|y#zy)8+ZaCjA%}U_wNPQTrCYVpE=JKb;8)i*4 zZ<|47f)O4kp0Kh;Ca9Hh@V;neO=)#@k%$a4EaNZ542?x(c>?c(68mHlN9L0Wx*BuW zFnyz7nXMJ;7b}_43|)u?nW<-Sx}-gumCz+$)!&p8DC}=xX%~RK@zDDor6IJ_z27vw z$tf?&PbBuXs1g3;yW_kV2)((`55^vM-s>~(rON9!ag`T$0$yA#M_ST`iJG**Blg`i)d|8WU*%K_vb9V*S*^fX zA<`lv+yL`Q5$YnG3upew*DY*L*pQrB#1(eCq$Ke34!biwpZxGYkQt^=5KJ`tfO`g# zpe-%lbqo(y!(^DUBMo1JQr@LUdCp4sr^8tE_lvH*42=AuCZb`R5g}mXS~7cqD?5p0 zynka2yKJEfA_pT?^R?;Ifmf0XO&HXwM;PmOXG1D^Y3kjq zI^o%D969ppVy_@FJ6eAwHA}hEhsCy=nRx7oPbWouuYdIZ*76{LpQdGftPcn8bP+v{ z;Fbk~2qW&_P~o2g1pK@yjetUJ$ABuG$HCN=s~iNel$SNUe`ziS9fXG)u!CNF46X*V zAN&><*$5R>Z5U*gM5Kq8@Y|42TVF6Py?wmk5^>qaJZd&LY&qlMz!{@cMYE~f89ume zOBpQZlr{+NGBIqeO=Sjl25iGJA$**4HDIApGSwqt%CV4-+iX-Y3k1xI4NNxrlL2x#UA;#mHfyo0Y3i_MAOwU1k zje`G0_xQ6XjYtt4>7(t%m%36FXQBu|x?8X>v;iJ&Xh;YS2Sa57@!&k@%expM!-=$m z&?EWFVh6?i{ZF@NdT8{UUeGPgd?=Bu&tkrr7@IL{9Yj67p{qj@f{F%F8A@&KViiTR zB?tOvU$+xpQM;Ohpt&-#OPgQipe=}ta^>eD^VG#4xTUxsmDv>ggfyqwR}~K;MA&4G zz&3u&AicN3aR>mas0X2bLe|QZ77$Xok-T z54KaHx?ma{jjI96w`0tn@?#r}0C4r;m{7TqHV!ApMhQw6H?nzc0(j}~DxJFA=2%_B zQLTvc8Y20(n4P2jr&r1xGrQ^0iOa<`f@5U6HnM;bxeWm_O?xPQ&~E+4BOYBsTcy8T z))de2%}aEfeVj;ulAU2 z1X2giVaCf>DpGi6>A3on$&Qz$D*jZ7uz^IL$qPZWhM1g@6NL}4@0u{pDlMc-P!CP& zTn*sBvb0H;Zs#umO*DOO9j-b)VQsD&qWRXjAUjB9u*@-I^`b}<&^J+0gz13*j}A)g zlmLJ`+xhP`Yyk=ZH3}ZHaSAvZX+8CXEj8iGfHT)A$I6R7m9Cow3QvE8cN@CLly_nP z-p|j7+vSZC?%k&DPh-k}^6E+Z+3y_>eaBR^x)*1J;b`K?gpn`EWU=rY&8Mn6+iU(L zH%v@kZEzi(2=u8E2xj5K3Fjs)BZ8SVLJ(}kk&Ah34?6mV5B%_Yq=xC4>>MmL&S>bn z2b_WjiGYR`IU-8Ar7+g5q?Fx@(X8XJxM7qwLKJ#D!c2#hYwv#BdCs#VMxZVhWM`b$ zCu(xMm2kjLH?QeTb`2CWcqJPSM1L)cU1~C2jW-U{Hjj_DxP&&DPnpZ9RP6tY>EQBu z6)@P~KgC%Utl1P5d%N6Y3bk9};vRM#^I3~zxHVHdg@hj5BO|Fb6;B$`6Aib0BpW>3 zzkgy~{hD%k_&kV7!r{~PR-1V~$FWmJ0P_9E*zXqpx?AmS3F-U@j8Jw4!Dm@Q^9=$l zZVdWX_<`3@o`bC@Lda@HC}lufTpeU&DovKmEo-D@bx9A48Ex_IL+FwOicD~aQb58P zNMiyN^%)UxxazQo^+G(r6*Ly?!YEob*#>4r?XqaN%3lsc_+0G-gL~|T=BcGKa>nSP zd_&UpWHD3BU1TL^11d5*vguf#fU#qt1vwjDY>=_Q8>0p5m3uA6Glfcu2Vm@uu!Wtk z9zX-FZ>lW(e$rlKvvLauXf{X9dzWr~Z6k@7d-xfJHfg-j93p`gSYHcVkqxa%gS**C z&u3~(bxFq#H%Ys%W9}bPZ55SK*MPpZFYH}R{t^}_Rr3$CE zL^|c0SKyq^;7qb4SN;$Xl#c z#2M&_y$iNEX!l@}V43lbhoMWksYdU-1W&t$^WdR~cIv;2^0@MPU5lpIBpl+T#ItLb zjL^NqDPc<}6~Q|z$V(pm#BtYTr#M)`V>IWgPB zW-}~jdVaJag-s(SAr^JoUf(rqF2pnIj@c)$*GndhCp^)xqIJC=ZAdQ_jP9qj956Kx z3%Wl+g`2(DXdEAMpsekm|2u@{WD}0pTAJa_@evGm!=P^s)mN@>b-klqfh|u4+6>Tc zIOtoKBJ^Jl#)C4s1GZO8YzY2&pOVJ@S;ceRd&j+B4+ll5_DR6$Hoi6}JmECaiasL5 z1p@-mD4~1J`KVlE))_k$X|dZ1-{FFZu}<4&SBg{HOz47!V(2A}_sIQ;{rkw7L*HRL%FW7cLp79~&`c1^cqa-%jAd7nC6rwmicJY8mb)DPS);ee-~VRnz{2$D8=%e~KZX&(%I?t<0G4GR0p9jv zrwh)ZWcUOD)j2Q_4%zBBUj7`8$7OM`pd*Hjs*|V|@We#V ziaP)#ydSMC<@yjworKN50pN@Uz1x7`sT#Jz)AbxGHZpoYy2cy}9_sb!^G>nP^-$DC zBu&N0mC2C5EVq)XYX5onI4nLgl8=#>2+8H4>6%`~f?I)z6D6*+D#hotzGlRLu5IS{ z#36ESea=9}3WS=4CobBK8dL<`;Di;u_6Pz}x$E5275dm!-r}uW> z0!hX6IusWI765=H_kvYpkR`RoxY3a<8z21ktx8f-Xt)#=C-q87^o=x|*G5e*O1GGM zu=@v>XNF&Vp38Nt*?j!xX8R}Kz~c&b(v4J@4&^hExphz@5=C zxQk^|a`n~(pl5$EGyTHxTF1{xC+Qa+zeRL!#-KNhyZ-S4&*Madg^MI?0jNm9+s8-+ z7;p0evRel}b5s=OCFQsWjJaU&`{i23uqh7`M;3C1}2a#}}5Xvgu7 zqT~geRte1kZjeHht@U&|^>ee3hB+Z%=u0>ruV=OLbFp}v;;naINj3PhUEPk{PBEK1 zJ}1&z+{q*v+Aj2z2EBtU7S=a9(mTZH2oH>~JBY8NfC{b#M zZ&7K)?Vmk1`Q`WKkOUAE2=X;i(S9+CViWlEm@w(f$H@o5WPn{z$!x@>aFpV(Y#5#m zE?8+La~GP0X2#q_HnB8PXPsSz)OU*;`+f_&-o));2)rrf#1g+DwOvPS`-8RaE|d6| z)xX#p!5;w;i(k)&Um;mI9^j(?{sdNAlr=CQV7~Se{5YQA2UNVx%NI0MJ!oz$F#-}g zw)a!2I@L-=!MO&NEHPO+=|)TNOb|2;QajDi22LZKXKYFcHnv1z?anmDEnVo9DoxO( zuQ?sw$Fy?sS4u)XrZzUT{ximoK|*ERZKLM549Q~Uzfg3+rByP>Fn{X@GQyM}m0OYc zBEEl<4kZ6X2-F_{^vYJskrg9E?vcdBM9{lMNC%eaiGd37Rz9Q{S)U@)C?;xmP4E!O9 z;^<*eWlNAXfOVCRR+%3m52BJ+J zEHOj0n@9xbgyR^$5BdjG{5@m7Reos|98ZR`CBT z)J{{J1H*%X885j;!K6G5kYt+wd(h3&$8YhIwp+!)9Pjq?K8jBD8?bN=gI=r;{QU|+ zvyp!BU4_ZLVDcpdQu7`N(R(g0&tT*%77SEf#wHf@5Mhjr1rYN-m>)nrU}sG?ioBLV zDuM@4F)F1uL)b8(7eUm{0<*HsJd%Q8`fCJWVN5yydr}aN$3U2~#W5E;UPilwL3JAM zq;p_}-Gxo##5D=mIVc~uqB01)@DKzc96z_5!cYzg;z<)gyfT>c@fB&+jf_*xLgB%z zs;CTph@GKGisxiEH0d=WOU&SvhJCKK49|j>N=G&{z3oD9GVLdpQW<57deHUcUsm}K za~3!mzZ2y%v3S#6Uc)2hL1O_FdzN9U+d&jN?sZmVhp96T;qSUun5&B+gfvz@*-0mk zZ@;xh2%H;v9*UO8hTG#sY~;n@u@RHu_(i9>M*urTJqrMbtue?fZ73{yRC`iahtn8) z*;M4-BeQncQ6(P}qqO@G1f%qx2hS-n9lOM-zQg}(62D&%Mnl2X(@}DuNP`0yJ(fgv z4rOW0)>e^kthw@zrXJ>7rk7ia&)blDLzMHvP&SXNRV2nF@ZA+W>J^T_zCJn4Ddh^; z2$$oU%GKz+!x?oWVDm=rF)}rxPT=}L{|x}RJFO|az|2s*ZK8b6ir|C9IG@xqEVLikF3N+g2Lvf`Jtts=7cQeFmH zpFih6eXbRMVEjkHRVnD3uAddXdTWwdMZx--=_Ij2>hvw1eyvi;vXSK2g;>&q;V^#_ z5HCl%iN&2b<1Ff#*UGAIOZ`ydO_yNtQW(mUcg8-O^Pi3xSf+rjVd*ILl#C0Q;S;Ts zV7a!JC6VcoLu{5FA}Ma{H2o<<8Q(UKG)+YyB$|1?7fR+y(c2!C?=8cJyJjqV%GsLkOVuF8D&13qUHN$)Hlk3ee$C@h_+~NV{8{%#ac}?y{|ICr! z_w@5xAT0uN=WzV0X1Wm@_~SnK@rFBE>FHRg8*X@7Upxl~>a!syrw&FBc2E#ta-Km5 z^n{e_*_9Wj?p&z9+6N|FE<~lX;4s%himvq`06~LGw}nw% z4IZZtq7tO<1etZ6RR*RjK9Z5vAyq_H>ZhB9tz`h?68HZK9BruxcTd<+(pkN#PHE#e zyOTY><}p_4V~5Kd(=Xp=k1j5tO1XBwr`?#n-fdq6D1C%ACBZ=T`^^PMw0yP}Dy=qV zb;>*Ar*4Z6-6|{rhP7j3&+65D=dSx8!Ja#JIaa??f?NJOx8ibKbxV8#PolKeLoP}S z-uc36gwFW!->brOZ7*C{0JoFG4AL~_&fvusUV2Mqz(7d?=$9@il&Wb12TaFICKc4b z+~AqB0fWawqm@=?NZ5$D;f5=A$Go0S8a z3$lrJ?*2*2t!=hHv)e`MXo@By6^R;FVb2-Y} zZuKudq_E142os#6nW-s`DKrgNd1G)PC`4i=D$}rBZN2(pOwlsbH*2gJH zD*b7S$=B=UPIjs)S$>xWx$al06}J{kgW58?pVb^9+aQ)zMcRKLIZqhW^-Nol8lYZrc$lA(usz-9`GR0_TXPk$>P zdue#01|I*=i=b}rNK&5z0}_^}{lZ9T)VE8TU3K$s2>D7WHOg9-TLwKL?*Ku{byFi8 zkc@&N@VUgWFX%^PyH%%3-zzY3e5meFv7cxtvQxKl-YB!_OqSs0gYoZ8tgDUVPViJn zXMVs#ddT+hB<=mW#?ZJNkFrl$Z$GHefX}N3 zl?}A?R)LY z0{%>ZjRuy(w!H-y)NZPQV#}2G?hr5#CUNNTLWQqMkcL?XP6C;T=P#0UG6c}03DyWv z8JDa((H;O5fJffcc*P;AQxM2fInC{uN0?ZqHt5r3r8!5UZ%5oC3WR4!nUaD z1^!!OA=ojs2UpgWPvvJXO;_a3aobp;+~^~CfY0Z&o2*iuhyupFHa-AHsqfJJF*xl; zVnD}(^RI64Tuxu$8(Hj34m&_kcGNd@_;KS5qK-1o+1yKV!AqC(t;oC>+iSoCmb>8U zUIpYhmQ$m517KNa@)?@rSC8Xo^n#jSL*^dvN|9GhgSDI8P1Sl7A4r;Z(5k^%uRX4O zTek!q?PVDa=oN*4zQu{%2K8_!tGy@4MSxHih%0Plz;$YfFl7h-8{kjS^XF&(Pp zN)&SWS|?q~a-LZyy%Ef75*R&dX9s9)HYM zB7YX~Ad}m{xLE0h8As{F=N9E*=CgSfVF?wj5+e7*@uX9H@q?5*J!4vG!20D9X$Av* zn;h~kI!y&4$)Q7o^O92;uha3R`$|h|zYg2%F%Ed>@$aPqzEjDn!Nj2PayzV9qOZI6 z5DnV~^|IzV6biGsAloPXa~)5CZoNA%tN#c6oRxurK$ z%AAm&##K;Cx~7P3ecoD5`D77Vc=fY$WPMK&dloxL7QJ)f@6%|DJH zf`N*x;C!YS+_Xx#@RpQ#J84a*UkDgLn7jNt9k%&R8rV~aInTYwRlMi!Renlg4EFIJ zKNHCk@ZC+^=-A(C9p5DD;J#@VD19yGbFQ%SAUIni(X{7)M_QLcu8$00fp3W^#$dH+ zdB#DAF~>AodZWUtp+{w^d}KAk!HOemv78Y{?O@DEO;J*mEhX#Tdf+RbeB90{DYFYE zXC`!|q0J*pHOaD0V%EOR-Om$F0ZFshhI}+-wVqPNF|)OmMtP-V#C!}(7`*zV#(DNg zZT`oa%STG|l?4A;yMudc=MR_-?K&Xg?Gmbd$d-BoC|>r~T(K2VS(5Fb3Bh~EeI6xc zS6-2VPt|CX)smLZaV%X+=g6{<4Rd0Zzpewj=wSSRNc-||DA)gg=Nv7xAyl#(*@;qF zBD)#;EcPW^7*W6vieZSwY?JZ;~;mfZopv-~l-8Z}8KU-JP141z#Z7Kwa?^#npxNM#>Zc=wS zsFeJOsd@!Ew`w*gU(RB9z1&^p$Ci1k>Ee&7>zWXvL7n#A`2s%f4+T_2oYC*7dm|uW z?&-51^5J^)i@dOV7K5cy5O}aozvPAZbw1AEi)U?tRBuiE?O@=^KOl%zGl27!hAaR2 z^N#=d=beGDfNQanJ<7U&@mxPvzd)&vk&#d6VHkgD(k$DZh-N_<;1B9kPVUjpT~htT z!hxk}3c+=9iAujEvOYzBf2{vBw9{DU=Q{qrjQO$o^-^I_d7mF-ozfYwawVsIgN?So zqK|CNGYB91EthSzR*dkz4_3_H{QzN}YB+trDsWDWXkyK40j<+2QTke>OPdArfxmq4 zI2(}zbI%#RAXY&prryR*yGoc#NGnM#dPKdHhX&|3=}gM&^ql_wwx9o`pa?6p#t&+uphd?Hw>fZt3hhr8FvoGb~i^Ds(6u z@g6gu@IuQbJ3Evjr~6@UAJ-OJ_$tzeZTC@^*judd9sR5BiS)u$oN06K+K@%P$A15++{OheDYG9Wosw+1*QBgLVdx{punJs|=v)*0f> zQPu$)RJOir?o^ezbW|whBSp>oN?86C&Z25xwA)4N=P8@NkziRq5NRQ5OM(qe2H5pQQc5F^iN;L49;aB0-b@zkt5Rib z9Y|AF3+>FH3PthI%6f9nskd4J$t8qtv>rEVBY&1>Vzt^q9tDD!g9q~Fu{_fvAW**=Fc+U{K#zQma%{zHlBfps| zzc3QXUZj$o`9NqyvQp;VZk=wbw7E_ht{5dlko41?fnC1xl^+Ez{-E%8*t`zR7d5U2 z_Vo74S%DVCt3n7`TOV%Z`t|O)Pu-{uP`gM7!`lUF`DN^2^RzFzxoaDyaUcazfFXxsc zFDJG<7cSp;b&_lK%dW7Bp{p$d%Kopt>}R~1F4y&nICs~0EKfVp7QXrhIzwlE?&;F0 z-y0Er_cYj9tvhW(pf>}imQn~-JAC5x3)r*zxaI^GRzO)nD^a=m#c}%m5*74)6V8Fd z(<5c=_SR7_f(}qZvEh9lE&_2=Vf;CVrK4?iPo4ESsAA>%u8HJgGhmtXsR!Po4}Nw! zH4z_8t(_FhtYs{UB?-iK`Yj;Rh){n}ZF&HB8EW);56p`(Jze@)69Wl1zsiTc?%DtE z&iVj!)vlZ3n(JmCcO>&L=~FA$YU1IuYr7bu3k?pr@~SICjgI3z!um83M3lKh--)FD zhQr(P{6pve>dQal1t9P59rx0y3dpa`=b+?HiRO`(?i#I6g_lGlxsE0AuXV#w{2K;| zD56~jF*jl&H6a;HquN(W*|)uplc<4&a$&W?Hlkd3{2PyyD>pEOoIssB{}u?f6N-GM z9Yx{P*Yn`0lXUvHZgb4(rGjE?CXNuiL)(XM)AlBSwl5VPY4;3P5AW7{mTvJV(4r*T zvecrO3`3y>s*{Ed<}CaoY1=_3dv-7iVE$y7@cEIllpT_lo&Z~guI;f@i)B=$Rz4R? zZfu^9=tRe*Q4^NDmFP#um|d->bxD7nZ$0xyy(XpYcvLtNC*maZ|I&e*xo>yi7SbR5 zx+}xi&1&L5n0V9N-(2pz3S@X@&<>dh!|ILZu@u)JnXDc)yi(r?S;;MgzjY-qtj9I3 zO(B$_aFJ#9#N)ULqt!2NWlvf~243@Rc-C%J-&6p0mc^TrMH@vrJYrn@S{tX1(n1#N z218%cyRFv0j5-4n5}}cm_1DyP^M3yNdk_TD%&YSeru(YH z?E3U$4v@bw=X2wwNu$w_U5ZI|ozr-6=;!MNjGqO`)=yR!6ghDHem0H^0rk`L;EoeR z&jLJy-sp3b2tm}XZpT5Lxk>{v*wo(UjxA*tL8Hx_zLC+CFYXSV6!{NY-3!4wXifrJ z2Pm4QqUx*X%DC$68}X}JPeNqO8>GxV36jMq*8;QzD$g|5Pp+@fx`=EGD9Rr8Z&nt5 z`KOFWO_*-^yr3<##>lPS{Yh7Cy3iZu>1n;6Q{N_;WQH5MzQ^CNa8i6{_GF?@;V-ta zCqu0TfCWA(bxB{r#f-yyQ%Z?#*s7ByzWVo*`VJC#eWH=SDalb!3}?|zM~*L>Ho&t9 zE6h3g8q2e)Ib&G4O6hTNpEYdXGq+4#xozarcG;9h|3DcwZ^-9BQ z19ML{)y$RIH;g~<wi& zXduFSGiv-NJp$a%GPg;am)_qEcB7h!s=PbVgyUIq!yG?5Hr0#0Si}6`0x1z?ni0ZK zi@w*#Dy!wh%wkS?PIHQmwNw)jtEHCRTS0i42H+}lN=O{RiNtc1@?Aue+IA9~7+=VS z?!JV57Q=59>o^sv$5z?%7CL&a(?vuvqhMdMUYsjRxXmY1aH5_ zXFXd-wIyBXSzVM*siR-)YW}MLg5HaQ#as4Dp%_y)4G6Ge=c&A#Iz;&KSF9*RQAZHx z%%Pk1d4^O*fm_y9_1~CqN4}%4S)CNA!m*hOqigH1x~-=--6Y?hi$6P7{9r?vd7w8q z(NK8T-l@f07Q3>0nyQqxGkk*zu_yCUh@Ld3JnsEVJL3Geq- z)N?V01z~J!18NHxpY4TBG=CdZblEd(UuGS|*%E6)^72|e%7DKTJAX|p`-1H}mQW>g zGmO5*X1@_Cod)s+%|b(fH^zyhXt4n?ZPpScXcaqmf^sEnzWenNKV+ZHI?ld3dn?q< z;05|dy5C&$$6`IT$AqTL{-5S|=|ekbi&UB}FUsCdfotGZ`bC`PW@m)s32*j?|aElh6wuCnZI zma~4>UcxMAwxrz@YLWjw^i+Z1o5Q%T@-1`C@%|f?7h+q+NJzJFhZK4BL(8BsbnP){ zk2qY~PnNZcB5l&Ya(@2mlkqA9gvr(ts433tmi#oEeESHVaH(>8z6f+7hVG~qu_n6k zDu|r@N2r^93^7dFg*cWn7A6*Q<9_`{83|qa*NK!fTxOFvBQh8z_jp{T(O>42bvx8~fHFwZE%GOn-Oq z+^YHypg_TNL&od}FAwkJK!yD)P@qTtZ$N>}Ov-sVk zPg^u+Ty{>Pbu*{YUoyIq^C-LLZ#Gnbp1U0fMER`GLlXqVr)0~8n@!&Vi6 z#zhJpcy>ujnJU#!`f;j~YZx$=+lQ zeB)g-EkAGpsa>U)M^C-n z6S+^!{!NnJChKQ)#nS>qjhDbUr}B;KrKTKbOk2D)G(!xPeq874KYrkqtZB-;0U=|9 zY@L*YJD(-&=!!O(iQVb;0(O14fxLXn+?Bv(DpB0h>LKGoEL^y8_J~FukF48QDW4<# zx$A)~u1;F4)%Q9-Q_C66_vV};JY~61o7|^_a6ymBJr~Aq*g`4U#0m))OMTHcq_w4Mz&ihw zlrOSB#k^z|V&n3&RkP!F2;gZD<@tNUDty+5J@xZx-k>c};H>v5m6 zS9B7gaK9V(T--Rb@uqW8xS|Msqiu_>AmW;28ccZkMD?^W=k^U?`uFB{xD#n`KTR0h zejisCICM51rCzO#PAIYt@mK>yh;%-O zqq6EC_oX1?mJ2c?hiOnHhjoRvUor)jK0#Gz7{;(P9IaxV>wEns80sg<1z0EQyAAd0 zDes&OIg8E8FsT&H_=aTZb}X(8jA%7RM;-5H89D8eljb6ga{G8_2Z(d-#7mx7PP-;DFi&kzf0 zu2N`g2AW?al@+x%k6eE8_V`(-??AK}H_@7CZ;@Mdu&HnwNNb9u;diu+gsEa77IZ#t z!j-#$pqgR&Usg}A6Ulzx)lzLxxbk{$qE|7S(jkE{5E-SUC9R34%Zsoa%Pl~&5yuux zL~~%dr}m;`P_kOcMZw$8Q#T1$@|c_nJdo5w@liOUb>OgOwF5q|`LqeB(@G2{mwW>qA{#HcSq*9op$gU}b1D9kRy50!| z#;O0suj=0hw7FTe*Za{pmJSJHwZ10u-2mp;u0%W z5P4_+EIYA!|5Vi@GWYVDdm_3&(KoBDEwJ#@=*weH5-yVc4m=}`nu^hVg6FTe64Kj< zi4em(r(;$AYr*I>xxx>Ov{X;%qzFe~PNUyPQ)q3*vMe~!nPd-YpVpS}5D{}t- z$qTP#zhy8{^ZCA`)wr8}WMBt~9zT7i?$EO3Px^%E*MkM75C})NU)0ltTHe|%^hzI2VVRyfA(SYgw+Q8*thC3P;K4Av=OK3#yaSCJYiBXHTYRT~}jd7&DZ5op~J8 z_gs$vswij)&&$cvWvZ@0WFd_a_9BmiFMX^Y@^C2j@hQchyD~nlcF_4510T`|&}WIU zx`!ZB!1((X#J~|~9y;{x0-u$Ix@6X3nMQ|79f0Co9rc%FSSx*RNRX|8V?9wpG16M1 zFpio`;6bT%s(ZKveDsgATMCi{1hmq(Ft_ZAVg#7f>aZ=NILb`_W8TpHN;2Wl-MPoF zc#5l<-gmQ44e%UprFYkdDSH2W`k0s)J3URY3;klX{a6TmJFybvV0kE_gR2&Tu5m~qj&Y#T5klSaHe{?qX>vN~FOB{@2gh?e z!TE~y@Nkt`YGT2=<3dbnniy6Y$Ig*H@1pv{Q_U)hs*`6`$3fLVq!wvZ0%@{N4vbZd;iT9v0EKeVYtZetDQF{9rTnawac(mDPE*EG%5 zhjLc6wG~AwC0S%umNJt+(_T{o{NdH2)pn3HZdc*X+q`!StAX3*z+~cKa~p(q$-w4} zQdT}X9nACYK4&pij)-}6PK@Vw)QoNgha!vuf2bRUF1xgnC?7TT?)jAYJ}R5yj8d2^ zlHqK-**N)i7t_b{JD@9QFw@QRJBGgWQT9i5K^m)g4F*bW?ewRU8l|)# zH1WHm+)L7>A#acVcJ!DGLMzkX_NM(MyHF=3KOYfr_?o}U3yTo9Y8X+Z;NY@_ekVx@ z9m4UB*CMV!{R|^@9R}2p3vXg4;2M$>l_t*DCFzOJqPI;SM;uqrX!~AHSO} z@Zijcd2kW6%^#BK$R?v{!EPiwS|eFfiQDCMT^{TS)~VX%VEme>5@|Up;gkT?z*YPA zza8MQ5{To|cTRrZawh8s_bfy`*vySk?XxIsV8w=e+BOYqW;<{euk$K9zrQ)3;VjTA zzgV@7sX@H;*OrR0MO^qLr)9eD{DaXu>`E+IuX1X6i^T~EpOSj^2AjKb%{tDc%wWiY z_iS}c|EY{?AMZg1w6mhl-7%bd#Fj=JX$v(vyGmGa&AK+TZYPSAkkIRf02!mr zQ&{P_`;K+MhQ#Wq<7t>4`h27`Sj!G~>u16Xm`~QV<9I;eD6FqG=FNJ3ApFL763Tf_jEa=B%^yZ*;%MJ+XH9GC2XM8j-5_5gD5CRzd_3gO+}I zTh-ZzJKQS4#s6{Iu4CO5WroWyF~uU4f(RQBT+|?(-$Bu+9jERs6%N+wc?Wfutl~ zgekBna4Den8DO_9!p|FVXC#Eu%r7F`%L>={T??}o6lgj{xQRJiU2=?etaJZFeUi3} zHd+R;5kYTQz)cBeyFz6wT-BzlAjSD6H3wPD=R=sD+Wx%A$; z2$CfjVo@b{>5m)ZuSIhnv!<+v+B*v~o=ZL_x$B$%+NEyo*r<*upt^t~fPmx8RIG1K z@Gp5C_d?Bk6>whi*10g?%C>uGSn%of%x7?f0rF|rzmZP>JP=J0MAU_jdUsN$u>>o% zj!2;4RP1M*8^Y>O2g!mBD_CsPUdY0ARIAE#dfkIRe?JQfCW?}v22rOpoJF%2k_9aT zuHO&p>9)+JVv46XC0m`Dm|pY!EA_j_5WoJ&C0gpe{>d@twBQuc!!h|P(g<*d$g`VS z=`ddsG7U)nQuXeA$;)Ld3EfF~vB&C>D*C3Ds)B0`bW9FSm zm_bo=0w{q3z!%TVHWUr=iq*(K+_g2*tQJLW2P<;_FO|O#LMeez3;`~1EF@|;ZOSYJ zuzfSDndq=16RSmr_wToe0;H7eTg_IiW>r#YTg~hlVCMA;s;y*_v^v*Lr>lS!lCw63U*m0xI(#i8C+MLZCDVU zpkR%#rgQpYqUN*6CBj-gjPo(9FS?C0r;EMID!N~yD*)QmUXjl?p!+sZX%+G^S#>rN zpbF0`Kf#5m@$q|0%AO2o8Wy~-7tf18r-LAk_sq|%T_X#U37Oxl1mk?Nk|6z}jYi~7 z+rL6rk@)e2td#r&LI4m}FFJFP5=p5vK~U=b7Zdvr?pMwQ4ZPmxBB(bsl(BEKd6F#X z9xqQLFpZK)u9vW|;67RN$J$=|D5(^FZ%@64QL2Z1PE_9CbqqjKV6QQ^njLKrApO~q zmobD^D-7zK%9?rZ#Wil;AA4GEY4l_}TFBz@#a>@*Yqolpiqf>w2lt9$Xu@$=8Gem~ z!IETSPdSL8D~2(|!4Sr`-SLzLwIs1uya|R9 zUJ^IxNK0zFe2g8H8Tr?{p07oYZ^ZCL<;v#hL$xT#n*?nvH6nrn7gj9Y%jwbH3XAC< zWPQqQZUwV6Dxy<0u>*-j$FjCH;6F-N3B3FIW*VL5liH8wzgKsJbiOCX21Xu=zlr;_ zVO>VA6M-wTP@S5q3eXm1x)tdWL`azKEJJ!yy*mOqtz_8=n%$-AAZhZ^&7EV8yu)e5 z@qxLEFGkAiUp=S_eU;gqTT24TTTz)ZwTqu{BNHh$z*nku@8BA5fLqXr?cWi;s~G`$ zZXUCBdGjwiWc%)~tZw;z<^>_VRN5X~&}Y$Ky9h38r_H*Y24h)*vQQh$Hkor^j)~%! zq9mAbfc>nOkX7gIXDGe!OE6p}L*E)zloyxXcC^;c{P+nW9P{fY=_bp|QJuF9$8Mxa z`dQoq(hSG6hSNA7`?bX(j^z`f_vTAekH>B=0&d$K;bdF@l48#H=A4W7M|VjwBnw5Y zQ1gsvcfR!y&o1IjK6kOta)rPvr?3vC0WP9i=32*{-6iM4+pNv3=fkfui=ws?D^ELj2&_eDC;p$JnPw&{oUucv14A|?#f(= z%nH?il+VN{eLMp#quz$M;Ik2HzU?3W=|Lroh+q_e3b}T4CQ%E7@XK5a)T$NHH5Z-X zs;Id9bja_^7yOldDHhv4RGQ1+b1(hrx@|G?Hy}o?lRJ;R7c}Z$R#)<{U#7e&KP-7J z;AV|>&9gcXPX?x7ZioD{5FXT^e5(bqlzBf5lZIb1{5>pZ=u&2kV z8m9M%u0+7lT)4IuapLCPgdm<7V$Un|bX8WdH0n9sC9N>b-k(M|53q<=KhNl+9B>We zMCp=U+|VM>lJ%{-jDtq4TOz7>*2GKS%cW$SB*B__9c(okE+5t&LGYn(*rE5L!!O_5MUNfvO>{R!4cc*Adha7~@`|Bl6eM#Ot+NwrQenR2)teH9;*7({!DbEw z5niIC1@%?z7m(7Dw#LuYJ)bgEK$Yt^WrFlpHm)e1cORDdYEdo?*NqnLU0oBmq_UbP z7Hd3OB2on{t;+C^Y-JQQAFVg)Kyy)D=4x+)Web%uX3BbO(jG%J0ZRLN$I+KSh`AM> zT=Ih9NO0LlftzC$mhm?l*P1e`Kcg?e4QkuPhD=C!FVy+FsWGiaL(jcr^R3j5NM^?; zji86LHV9{ml)Jx*&vr=(dy>`Wnz@NSxs>0p{&y4V=D|ThRm6>a6N=^R*Fp98WJ1G2 zcRjzO_J6FV9AKQKEkoWlAd^5S*xl#^GpKI>Tz^S?;*~y!3r3U2D3aK%oK;nRZm3TL z5xbB>fs@5T4~YWSkBmH@b-Edvdm@o1LNuxe4m=wHo+EZrzD?g3D#)N@M(_8tZD@TN z3$JI^-C(gKCVZZ8aF>QON4S*EH1^D$%Xa1O=B)`Qw%B)C7Ov&YB*^zOS?+ny@R?{& zxuNAc6ZHd=Ul4lZQd-&5I(ylzx=7}scRfknuifr13sKmkWwXw{baC=Q&qU~H7ox;y z^!nrL4~#}pv|Rc}%JaGOY(u{HS{QGgK|QtubfqHuEr4;_M|z1^r|wt_Df|&X^HBp)0k-~ zy|x#WqWY34=ti_(0prM`Hp|(BhTo~yu|!ey?8|0cD&~Isumy>Om@JKAWV~cy6ebGc zjPc`*e9U4j{gD5{PxA<{l$aL}IxX+!Ymu^OxDD#dSQ7J)FUkNl9}huJzid$;y$S&{ zPA+`;dMNAKb|ilA&!q!cRnvAzH%P*F17H=sHv1;bD^E3``Sk*59uti|KgOlG0ki&N zT3kB3xSN-saXkEioow}E5!=}MeJ=~eS9&L7nKQX_JwOJ`p*gWoT~c2tegi(FRLn%# zxb)fQxb2gHFMY#?73;`>psFicm1uv5f&SqAo9Fn?hYfmpziZC(qkG+GZ(R4izP}-S zDweJJ=k~|+THpsGQ$MeOqP|ozZdyv_U?y7s34@-EcUFH%9zU9Bnm|a8=tM4yzc16D zCT*AtE2<8kjYNuqnMT_=@XIrj1$rgB3Bh)y<^}E*^;)DM-)b34gF4vTCSvnVl$gG` zs7>i zclO3e?T+Vvi+syYCy1trk#)IHVIU8TFKx(TTsT@JVZhi?88EJfxm>C5>jT-Z0iy8h@&*k9Gm7lX=zvq$-1n6P%badmEL-PK&t#}Odf zQonBUbSG7$aMS<{ZP}bha(5-i_U88IZ|Q6hYYugh*OpzaEQV{#<<^?4-u(^KaFcdg zOkF$-t#JZ4-%;$uyT}9aU%eu!%4SuSm%Z@8EjZjCANE?xXt+fY3;lS#-F(9Q$0u}s z=3|}&$44ZYBo_kXU0FgN`tGnP4~s$9cBO;?h@?EhoEQy*C`7L zFKit2hvy#LYWU&N-OwL9s}%|&43BBcoBy4T(Y=!kB7`{f#BeUd;R&>7%M?m!WX0+b zO}06y^!839t_W)=n)4b%fG9zOce9h7lFc)96N5`TUE^>>#|V(#gf$(D-j81IsQv_l+82!Wh92)I7$w@BeITM2z~G7Ae#Z|8)YP zTer>$Gr(^DxhWGwpwyV4qrp9t8qo?82=Gf_BTxYlT0itFf8EI z#Dd&gqBKH96U8jtMN!Lv5enXgM~;sAfgr~6I00{Fn%`rAX%)?^Xm?me$K;WD8a9OZ z_;|^>|2A2<-FWWcz1y7P-#fcs_K?KPX5|=uW91&W=%b5uwi)KpZPKU-!jTG6$`NTxwdLNThYfAYK|1eeJ1k=P1xs*1bN zGRCO)8BUejK;GSn)*RJ~mkoG&=O+ck)u*G{Nj`h0?~pBw-AwLRlylNuCb4V_G$CWMugt2@Y; zO)oYtKK7AYIdYS`HQMW|G$c_n`?s`19%b+AD4AE7Zh8D?-)cHio)P#U?6{YDP0+9% zYFZ+J;O7LUrl~eg2Y#8}p8oYBM@vm_%xe5h9Ei_(_h_WCNA9_&Lw};tw^v`kvqL~3 z4Ea^)%<7##;WlQ*GZOno_m|m?>EhX)w184@123&5mI^p zm)OFPuL>68%_j8y6}$@D&t|D`@2Z&L$G9~;0iaDUS$92 z^tJF?njnnw>AFMKhA`Zt(StwPPrYB%ARqp-c>=_#e9cL$_Jp;!$|D6J{XpDGUDLPM{khn>Fh?E)>#O$9kUgayI(OalAryCLogP_!SFnk^MAL-VuKDpcJ*4deZ zmIZSWE`0K`e>h{}Nu0}`JpWuEk?#uxoM(w-g=!JF71_l{GHUWfml+gz?WMz&KXm3v zrz%&tBx_?0!0Zj3Gwn4UD{q^Q_s8}n^&L@Ayu{^7+%#eG_=*un`kjMPPoHJ*?rUWP ze&FKLX z@|H4l9T?)eW|zh@k`N*0oGgO=4Msa^zuJZLYye3naX|g`De^6NsK4t)cXvqwpH|oK z9s9)(BBAba6D0}(7Y&sa6q9oTk;`W~ep*4ngiG`9uVBNlLN&&fll_u#w|4R_c3`{E z2ca#ySacjcUSSK&m_+3zKj`O4rzpSFJPnDKIAv{5HJgUpHHRfyL6H?91Fg^)d=)%? z*Q3NGG-fN>Nii>E|K`V%oOIPGw($z~bU#ybEJ zDpwFGtJd5pgT9$ys-dibFRM2^Fx4J~F^xib8W#rf($GrkQy|*w3H@|WDGaw%QTZjg zlSUMC42y%R)a0(*XAX>^JHu9bdx#;0&$yHM35WnL ze?L7DEVr2db`gJ7qpFV@O$|dG4G`q?xk}Mne&oJjxwKR^uDn&ar1zNZ6eXT zX2j{DVem%I(Q7vhg+JRXt^QgkChMKEtKF4|;Zut^iKr~G$gd0+(h%7Wy{SHJBpfZA zOMr2}t^JAq`9;AQ^j@}&isG@hrFFBCiKEcFYbyzxPH(vKxx2-cuh9RHd2rhuBm+tz zR@cm0mVGw(7e_b=Fno=uh#T2QDD0Cejr;t5#RbYM>hij|B5fK%O&qo%Qzl>56T@z=Pb}uRZD!r* z!M=^*nWjf2t+TfzPb?V6Vv>d@N3Jzu3Nqy{FS{Q1GyJ@E@AXIw*rPSWoslDdFPZd@ zgO1E`m$^6B1zoX(jCz6BZhDhcB{1}S`L1)+ev#igTBY=5aAyAF2?QxgM8E?};y`a` z;yq!`=cC39n;FIa52wq6;!-CR9KVYDke9013YLzsGCT*{&UC0NjRvmWKl7ZH4u?`8 zaEa!Yf!716F{TBnaK*lFnk9GZ3e@*ue2oKJo%b+B{%9Oh_E+CNW!iEue%-6o_`Ki? zB85Hv%a|M;o4+Mxa72%-^^e@Y-;SN^tA%X|VQQ50VF_IY(bB&}UTW8o24=uyB*FECLM)OMfrA*N;UHjxXr7;~;Qy>j*ypH47oTTD3C# zCD@~Gyl|1Mmam3t=VZNI=5@0=Hgm0?_lS?A1heGAgI#El+k1OOl>f%HsO(q3(>c#r z{YH1sfkA%{-ypBr@Y?V%K+LVmb`$E4*ID=VE2u^?@m~F3D%}Mgs8;K41?(;$a{jmn z^thpb@GCtW-_+37?;&I+dP4}zYT}{A_6PyebLP&!Sr`HC*Cg(t|M~*H^5Sj7*sX_{ zwt{}PeL+3t`WkUPvnOk}uHRkjt(5PXJJ~WdDod+Qf0gm&x&v!UPEZnjAJy_2E^A6; zqbu*v0D5KSXr6cutWE%7fQtHTqR$~bdQY{+r!nZDdmT?c+NO+b`#^{I`_&i!YVx!b zNP{_goUy{g_0LfUq6XMZn&4QVBnIQ2DnDl!;RBPjC3RdR1w_b{*ENuK%UdtkbbrI@ z99}j_fO<+Gy6c3Tq{&EbA|5$+X>TXRCvi)2gh+8!Nvkz1fTSrykW;)M^Znwre{FR& z@tDiGqppcstpuDgXD5YCCVBlhTSxQWp1H$t?Wj!rNweI;Tk)3t7lc+}CaDPg(w+Oq<{w+R5~o4U!c-A|bD+<)i< z(;m)$?^zQGR_QtwLaowKm8)M=PC$#ILk1?Jd{^xOUMLu-f3!kXvYi;-j^yJugPiiT zLa`1?s~bF%^i4+WMPyp4eYDX>;vAc0tZub4q9-NDC+K&iF}bHX9P>rZEZD4k-M@h# zODW`WKdt_FSW#ReQA;|>(CFKpTbupAwQow(@_LR(^-P?*$1R1BFn`0D{ygAPB7u`$ zeiw=D*D42LU%M_^{4Z+=*H<;0AD_h%B22N5OtFwO82hp5JW+WM2h%c^Q8>QkR!8bnbIe%xwY zye>OOo-2K=Fs=?*HtUk){A(is`YCSmr{S1X4IqHP>>7oZlGi~qn33xzEF~{8bmRE*Zwgr70dcmZV>I9lqevI}i@Qb<~)u)(s zO$MGP=%m!PmD-lTf#s8Ev*H}A@K|=>wg~e!rSQItzg-3x)RLN0ZC|^QX$?N3Q?~Ec zW@ypeMeUMq)k{|0C`?(VQU^mCl$S%3+3U1PKOt8{eq7F%N?VJ>T8TBrF()Vr#!cYR!^$XrM70?VO;x7Xy2xf+Z$BUQr^9}q?}KAR=AUWB*Tpn;)d6^Ouh$f> zQbAl32s!+_-{|T14qgf&k|HZ3Bt;`7$kOo=s8+EkNEAjNS_ZR3>UdyxnM*-0SB&O{ z*KheuE;`@PwD}N%ITuYkkOs3lpGKs4X4NVv)Mal5K2K2sy=Ah*dWv)A;||`# zYTgO`i%rr-0V>qM^RgbQMJ4ig|30P+b{5sb27kf|7h#3FB;8|)(_!b1KqnBTwOpua z_8%-_B(1u1-)g*JKdA<-p^HZW-G+AQC8OJ@R;d+b4kEjRKx=?@4uljx$KqAMnDEPI z6fh2MnX1+#MI<%PjTu$WI&u*8%Pma(ZZ9zF$wy`cc}M?shiAy zibjgUb+YEeNBvb)c-PZv_te2YbfTKj*mlWo>Lvd=VQCMYLGA(bd)*uL%DIXm2hV-g zM1&lKXgq>Dy?x*BhAZJ*elvqA$%)q?4r)@@KYnTiyZ6KI=5ca}D?R8MMu5=}G(#Nb z_qzx(V5{TWqzXI|N}=hJUFMw>=@~LAfvR>}LU+Rg&oQ-=G}Nbb4a||>m|UEDq)4W0 z1|Rh{p{{7A6TfxPxP)EbtFP#5CG<`T|y zuXQPD;n&v^XP{Yfp~t|`Thu!b`TpyhuFcF7VPddOLHNEXp6L&PkymEV+zXqTvwn0C zY?&IpV6M8;dAP&+DN5<{=}@}@mt~3V83Pd)3%=}o@yNa4eSiG={;p{1Zv14~e{=)Vl+b%Mwzd=EnSr10-$CV1ho1#JSw*WM zvsKvrVhnLXhrrV&xlb2nNmw_=6`SW?ojX!qa8+iPCFY{Ch=Ay*Owz3W^2QWYCBN4< z%(u@v7ygZzy$vH@UcxX7C%+lhSzNd)E?Z#{KTm_ONJiL{|wf z8*j!TF-Z{3=R}04X*r^7!TS zs7^nt;d-zg@P`0LGM@%>=at03wDVu@V)3&d`x{795iLMsT@pP+_YI1BV3?*M8fOxM zTiAfF_$|MOr_e1ygoQbtn{mMa$=ap4{cWn*2#p+ykptpJwc<7-W1ntVmkm3iO0D_Q zGBd^f_Z;R|GF-MG6^VLs6svs=5uK(};Z@v~ijjlTHjiDn2;(JG;W&MUSFL4+r%o2fF=**g&@wDG!#o)ys9beySDP&IZP2USjki> zAaT5%536)q6Mx3#?f$nniFH?7*R!Y?r)7ykhWlHbi;Vb&kS2}Tr?>17cG_F|)aNe_ zPMcHyr2A32*h1&^3RV(}y3If`87O;xuFS=?ohJm8|FE!+S7gYR;T6*NHJ9%Qvda)) zEb-q89))}~;4BZQd|Cz9x6o?5^kz8w*K!qSWM^E{%g0>5!~(&{cRft5d`ml$_%K8B zTLQJoJ18R2EP4UxlTmuP#DI7V594t4iw{06cfk zu8%?2a;<%M-qAbO;#~N^`&U0l5U_;Y6aS5{{!u)XCY7>~MCc8xaZj#xC5ly#)xP{D z?R;Fjgp$N8^A7`s`JM0jB~AQ%65we7G9xt(-md?1tWN8XQw zbq2`it|PYvKh|MokUm$YH>0pK`RHUbE-}#^jGDN@-cHvYiy?xXa58&*+retgUb6R~CP5 zQ>64d4BTmmf7^n)mnx2UY<%`xto(T7u=p#xO7!3(9AmBjk>mHZVF z)sMUG+vt%KAVou_jc9_4>+a}~#q*5ZG0Zw!{5X0JOE4}{CZK_yk@|>8-ABa|n29V_ zu~-_}$aRC_L^Ys7kgIYiFN2FNl24xv1kYQ|+%`P_we!luto57o?G{rdH^ytGELb*9 zTV(xwTRsZEMMCb`B+S2tB)-ZySFPZi=K2OzX4^a6wb0bDA4G)~2TA>PRLmmD#Vd;1 z+z--PrI2~1Shc>EZ0oOq#E`yLTJbkqr8FKj^&n%K(mlh7Jd(|oZ@FtW1YCi~`BiDZ zZ5P>(pIdHa`N^-VNih7NFbdv@JWPP%cP}PRJ0-+IRXbEE%o0kGhjB?2j6p-TQlVu} zl{0CUS3>19@HkD>;f-8eanOc?z-+f*%y4T!)ax&$BA1_k8SS-2~e0b#JLO~>p za|+&eSwh=0b2K|fyQ46nn)`T5jmz?sEaPc^Y=()J8ee>8>H3vSlprFJppcSCV0u-R zbpu!T53lCase<>Tf{476$cp#*A_@UI`3oiAKE5p-Qd_Q;&GW4Rws8G1$F$&uu!LX{ zO%&v>UYpP@vm*P3u*VI-bGp~2>C57Zd5s~fXb!x6mi2Azxx@Yaw@-Dxlr}WV9qghR zvQWF8D4d4ot0|`i_q)*l08gB)b^rNp+kY^ye=WlOy=$!T#0%IW?NV)Gn>IT6YCYXd zbnG7VBf<23uGuc);iMp&v3rt+=DK}SW!;O@vj2y!?+j}y>)Lik9lIikjtEku7m+9k zh#*x;s7dHWDIz5>fT0%)7K-#1s8D(Jy*ZOuW8&tSl3iMNSMTpO-a~(F6KSc#7S=-Z)dDp4)zAwFW4C zuqya1F?cKrx-e8J6HZ%`Su+R5UF7-L*DJaCRc1pvpn>b-%k!&#{X6$TzI{o1Z?Pv8 zea>ESC`ZW;b%Sw_Jz2ce*0kN!bgsdmZROHsh=bBZjw0PRR4zWe4(nW%jGDtF|_-IHhKTVT$t1@-F1_ zE`g{#)8j6e&g&EqvJY2>hTNyfCWc~2A5JV*WDK%uJ4&vPn^gya#49=$( zW6IV&^}sQW%i1WBv}E&01;_bFrtmx8B3|vVKOvHfX z%XPI;zw(Ojy*xi>%nOpA_iup4Gs!@fh6s^u`jC?)0+D^tpQ|_$CNdkfB$60a5lZ1( z^rLDhHqFx@?`9}{ssk}OXMr5e+p$z>&b8$0BE6P`nU^(Bx-?16H%-!t8C&u@P2PpP zYm`xS&ZsXFsu<4vlErRn`Y^Q&3p@4WWW|Z?o~*QP zC>M9$nK32?IA6Nl9~BZxjU;uVN_=IbIb};x1z1wMufuegZ)NasT(p&egiw}-ueR@b z*a)tkqPuvJ()+5hnNK^U$(Afz`R;cV{GlNR)9Ner>qKpfy)*u)dp7jgAJ?4SKkQP* zskCr!0yjoTF!{6R3xk-(`Pt(5BRwY^>0T+q24T$APxg({w{~3Mqvl^;mF>VlNN(C-MR@3{WLGbT*FzQH!5bAt6lpUg!fGksG)fRR$^{AaH^B2 zc|&@`kWp2xBH_B_hy+NU&mp9E@k1B%bP*mbBT}N*3y3W*YQInpQVx{429&+f2~I+G z+EthjsWXz+tc{wkA63y0ot~x__*FN64nEO|ApwMy(r}#6VDr5OO>4#tF+z`tx4XsEoHWcvLq2w~ypu!{3mg1^l3Qfe z^O7L6HvbOliRw2mGU zFiyUO;3UtvX2gq{7XHmxdo5@-bkt34=j0ztzj$)(T|R?O=*Xl+xF){Go-tjqCZFZK zX5&S^z*)CVEBBYpkrqLhYupTK4uLsSrNXSl@;*0n&r&^+)VL9aW~Z^uvqae?M7(_D zVuGQwyFn%shMvWkx!55wRW;H?XN>;Xb{H$>=lE*H$z9`YBLk_v1q`|oG*#1oYbZix znHGqip4BSQ6_0r#o_9kXY*uwJsnSp)$Nf6t;rX+ zrmQ*^dCEk<-r~)lrCOwo={KqlUri}WdM1uvKP4z@c+5wVAm!sH2L~p3yXPG;1v0D( zYr&V`gO>5be*K{IVrO^c6JS2h0SrzDUIAuD(0L^^ElM{cw5u*(g1qY@6^cRFLEKp# zq-Vl_mHU2!zFgeBKt|mp(_dVo-iplL_3^U{1t zbo-d7{ER*47^gRUuuM8W>hq!cm;GEqFEC;Xc!>`gu zEFS+scljJ-RIlLHX)FtwWpkB0sY#i+G`1Dj1x-xw!Mk>byI^>|Q!lu6^*?*a{nuzh z6~HEZ`+7L>&R~Er;)SFh!01EuG>e$Hu;d4;Z}o~HXQTtFVo$3lA4qf-h}@dWU}mZo zuP6FC+1l-2DNNjOUYUXDzB+ML+&fj64liFSL9}F{KBrrj)E0W%xCe0B7DMIpGg{60 z&oegsTa4W4=k;;4babKLjh8N87~zwmkC0jml0NQlgKn8( zPNt^rN7zY4Xf2CigXyh7r8J9zIe6GR+hc1075tk2hpi@9X`x2V{|rZ98jXnex=2gD zbpfkd0n?GKYz0iSKT$}?h}J~x`^}{u4JJ=rLX1(V-pL!pS%!Yhj9zA~vwM8>`_N|n z{`QTQW-o{5e6nL))ZM8h-@f+F$O%AEgF87|UGd;Ta^w{4%}q>OjHp<)#;0-dEbEoo z4Y#O5Wvh$GuU{_F_@dHvaST7D{BiRfv?0RbYt52uJM&MbQ zl3%jMWD9JT$vz0D_^G@M`#csL{v29GdTE$Z@@~`JuQVeod4&QN$>krT%|A#K*G)dd zXOL8!^j=mkQ{TD4+c0fV{gpW<`2eP`I!#Mv{(=zqo$S5KP$&Y4{~d>m_*noLr}W)X zB%e#weF-8L-R3kB%`5;P!EQX(m4Ebk){L{LZrs0=v*iS4?4-O_-wDb!Czp1T6x&+j zKpK~olUp~M+6Xmo=p%{tzMjY&X17`LTSkC4Vx)!`PbW%h)jF#Mh>!RA0nPZ@d~54t zsr<#8iRMSnY9Pex((V9JJbA{fqd)aXUguw3rg`Gp$%k>tt@n|yyRLbUWC`s&(gr7$ zq=_5WRKSXuO6JiaK!khmdzdZuFV6hu$>|@lgQebiX9tc)rfHeF@M1yOpiwlK%7+@{qRrBUPf$zy-fpU0W3Xn#ACOOnHajoRm$1>PSy99sz5fa<)0+uAX`D z{MjN(93T)hS`SWpsN6qco36Unl9xHBnZ2LZ%9tVe=bS6qe_E0bmC*X!rE8;^mCTDv z{&YVjACb*VKT=SWRLr?hmm#2Mn-_PO^qNOrm$b#plURDGrGIRP|4*Z#Z>izGTthtI zjr>$xFdcEvz%cZxz)@6)`uYI^vsh z<}C&f!7`ApK}jFpLy10c;bQ~O&ZO${zagz&DjA3vEYZu=c?8U!&)*IGdP;Wf3jm9J zKl%IiU6j?H{|$-pJ%Xe@0Z;Hh7la_}Z*R^&eWl;pEIVi$ux2;k*b|VmmT&xg%{f&! z^_rHubPJe+pqEf9G((B*9FQ#T5nr}*3gb*}yPqSjAEtU-qSZ~%xbT)?Ki_8Wy(|lO z)ac}>1?M5oJJ0`DGDrlBk~#`wsexhwoW&s!8Kj9CmNH6y)4_OS7ONv+EoLxS`N{RR zgvpw1mkfv#;^!f{ zN+r~Nw_g3XeY;0=c25Bd1ufk)*(`jFPC~1T2M1*w{QHf`Zg$rB7G%n64YoFyBP<-W zcoB6aUA*30)DDvBhG;tj_ks6<{R`{p63!P2TAfHfaIsk1s)T{)in3Mq(Zd zO~#)CYAR$7lp3GS$4=+*4Y?hG=J~2VP4UB=+;`x=riTe=$#j6`F3%{CDaQfRa>LPA z5zB?k1m&$J2CXVY6O|?$Bq?|P{Cq&>jB>wA+?Yz85(iTu7O~_vwR874rggE=77p}B zl>QdQL)0fq#gEk7!p*vE#WwVZAz#zVW9gXV#h)#yxR6CKe0GtOcw!&uTQ=cBeR{6% zfoos(LSK`T%Dt6ky;@^b^LUP`Pr;3W`O50_nabXvO;Xg-y3~qxuT%+sYk+b44G=t& z;q`AQH~oDpvZhv@{+#ujSXSMBxrASGofwMW>0Vm6KE0AN?aLTXf7jIFKj+}TGu_ia z?UOO>ZR9_Zw~^PKmqV?eqF#-Ov17Dxg`H=s?bPf@&3-qGp8LOgEm^(vUYG3vlM_yC$KS@TB+;aMF9BS(w}-#jBSKr zUjXqf;pVyifGJ;Mi|=&QQgO^joWw9^Iv2Q$g!Ie;!=f00MiTN*zH}$azA%p1ZZQ!Y zjo+Ty4)@s#*zs?h5J5^Jw!#^<$~T8M->40*wO{w$bWo-A*LHmHkx{!?(d~YBo&^ft z3d1#)gD-o zuD2u`#6ssZl{R^HHct`p%MY#%3VS9*EBbmjSGzy6eLJd<<58PkQ*zZUHo{kAjGEDelT zp|8xheZZR=r3!NtYL#)d!p`IlH)jY}UCU=%WyXnQJEY7;y4MHfk=i$IN+;Hz(zl}2 zHEW6Q)(IX85E~{ zsDJV;!#wZJvXGDG+kJ0-B)F-bK+m-YFI?OAI&;rWD}m%ceeNJlXI|u%@^4PLYo@K; z7yK)^x*6OwPRr>5wH7_^B2}wLp23>TU`Sj~_a%ai0z!oJ*Kf)~^+z1xX6U52=WE4% zq0-Kl-gz4BWq0^}&4IMKRPszt;1>rqcAeT{F3Xn#bv_X@Tlv!E4g@vYQXDFK3(K7R zs#E6iB~ax4(8}o|86i{cz_TE{?38`UhLMTw@{)R7-li1??zuQ5Ra|e#RZef{YtU6B z&!mi6`e^_dP55ogRmFg0mTOMYA1Ubr%E4WLM5D~zm@&^b-&tM^zE-9I^BHx$ip*47 zW)l4K>bhN7^KYftuJ6O{u_H<=xBb5Rm^<>jHxR%^j33`wF+;qW0OqY{2J(15#jHvg zwD(39sL8gM<9#vCiRTx~lAImSM62pqa#x19iR4+NxXconztMEzo>T8Q(X3Y~zF}ih z64xa^W$X4zov#kX7F)@@OZ!{AlXRsy-@7;ukvkcUE%UCI!FpfgoN7Q$&$?%MrjEgu++$OlDddIw)((Z{q3n7I|zdn&b3{V1ZWgbNxhdqYV*A;RB^RNM--rXv1V7 zA<(f$600?7Xe(cg$w0*O8EmVbPospI!;(>h(_(oh+5dQ#b)E)lqr)RP*kWhng5-Yf z^;9Wysi=|avf~eg%p?}OZKmV+WS0w@iKf4S$X6TZc^u-Shlt(5&p~vK`(31E|NhKR zwk9a5Ys**Z^!{IVcspm|mjR6k5Wd1j3w_vZD{s__`J62ol^u0$+R_!#$M7B=l6)wMc;F5 zxS+=%>BHhG#M(MxQQjVj!(s4DOY?Hs8bN%ex1YqP1hl9zTcwsz=EP5wi#1i__db*e zgbx?$>KCtjJ+t)|ZVtHA)(zvrio$>yz;SVR?}zZHjZIsqRs*8(ocOd7_26NrH=)Y4 z3kMbVecSL9v}(Hj=we^vANh*4x!@)M2GAGo*<7NDYrd7NN!D%z_Y$AjO7!<*DXZ>; z_7JYvsP12UF7yTCT?M5N4Fa+5#NvZ+3H3vRB=gJ-WC}VQ=H4TT#DLz^i=|?RwnQ!BdtjBd8^(I#!E`LC%JL<^Rk){M zgho`ao za%mKw*bx#|?(tT>*b;$-8Dd7=$(9j3Hfp(*Gyt%fDBcZhW?wmD%FHH07R-D+Q^DLv zn7Hcs23KRd&y%Y3i6xORK8uWAYozs&6i4|nW|<7+rMNULGYk;2L6Q*!L*MO=XtEsA zI%+_#=y+mrmhI51H1q=A%j1Hx^NaKnII>>t5%qi*>G5@)TACqoZG*7kePgPd^5_F^ zB3kB%dx5#5%X25fgs+_ph9L&grsBjpxtu^`)e14T>l;@v%BT!{Vka@Ob09F>Va{N? z9$N8t-l^_RXgqvP3IscVh0jQV5Xe;YM+65-L6kgSNmu$V2J~SMKJ)5^+T>FsQ##wz zpx|Fk9Xa23{)x6c-}{y6n54T-kd1=J(k6^Ut$LY`ztM(N6R$0~%)Ies6$Q^Up*D0j z(+=3?{quCgtBd5wI}>r>l@pnP?o&FATt0|)1GE-&5WmtfC~rX1X?LUD-pcEh4gcI| z=BZgpXZ@(p_4PFT-k7Jb7Lf=vVp`eTe}JL zMd}YHp~doar?s}5fQi;eGTtSjA19}=64Ac!QkzzNm5T>m)6o9m99RMlpS>{PfpzkD z1tQ`@1OgPSkdh!d{Xy#kX@m6BUC`9VmyGBc80%B>aAL*@Ag+91_lq^@YU6WuH|czA z7wIA}KQ#1N{~!Iwk;)tem9gIR{{7hNp_44%(3+lE7tB$Ts=h-6Gr*YHOL{4;RuQEA zCbWDk3HF0g`tz4vxYv^aW*dUf-m}M)kFPSqk}+PX7_9@TZ84Jk$q!SH^TwnO#8$|* zcUPqxO8U_LVUpdNPA-$Z_gMpTs~6C}q zYY;*}m>$Scu#n;KD6RH0t$S$)K6ovCsBYO)^>S%Kl*=X=>+e}eQ)dXmw~lrP znoTz=!Z#Yh`2Gc8Iq5UPrJaL+7{R=PX?Z6eZAsr(lTtu=S8N$!yw(;!q3>WJ^K5&J zK+?4c`yp2c)qriK_gC5c_rIH*FZ_F{9FMk<#P2z!Ri$5T1e(F;WQo6_g)v7<4<>ix z>m8e<2J7R|HC^I^6q~x<_S=OHcb-=oU`+#{DEGW}B^TeSvuGjEAt5qOi(84Ob%DIJ zI-3w+_r+2_V)9m5`6U<@7lD}dOu;D2I+xA-en{`KQzj8Y1jRW`&IOFf?f-z--pq-a z00@}Cp9BoA2=b@~;onM&zh8gnv7(`;34ncn1!#lpTxF|uhk$2w$O}x4Aw&PCTIYZ zEYS7K`8VCU> zqOn?<;zO3huk_5+Exg(H=Rm=KNlL?pxzR~DKwn83R;^`oyYyrcl~w$~AgS`~qs7+l z&NH&InxSD*muOO)V`UL*VPFvlt|5$TuO(}K%AoM2N9T~V3A?u0s@`gq*GdwrcoOJ{ zfQpDhSR@cEJOWn7QOk|F?zv0J?tAtfz4-}20VL`D9E29;05Td3r&Ql7V_%puC~LTH zlT<2`7!9UNUxvsYM7j&%jUc58<|UaXGUg>4^h5cXbu3`00{iP&AW=>Spr@p_?osD{ zSQp@M^M*B^fx7_M1MdZZ{y&FNet~m)SC(s}F?AzC-0ID;YdvR&36hV2I%94-V`i5o1fbeRlc$lRwX>FF$!Z^o)0ky6aw3lahYh}8UNpF;StvzZo!sI9{6%&q~x-mf;TYicQ z_nutx8b7Q-cQ+^vMq?bwF_64}nxmmnFQBPtQL_rS5i=rwQ52$GG--yGf)fx8-jv@! z@&<^-hzpuPN}AM2-;k{@+5Xxu=9gW!+4Rp_IC6>_Y4rs4b9*f325$$>?NaY zMIgQR@*Y8R5`dgWrL^kO!bPJ8@i|T7{DFiUc8#jS3SYXrUHN0?^OkIEIVW$t3UBz9 z@be?(6Isf@q55vY{st0+2VQY6!7{U!9I~QjFjQPLNqUP)3rkky9;kLZn}ltS6^7f; z`TWP(Cq{7&*NEY;M^s^V5fkF9n?d$7pN*MjJ!`*KA;i((dyp*9X8bPpO8jEVPhWe^U@T#HZp6O47{XjY;-mbs9Kqwqe4;C>y*v zJc51VjDG&e|wuZnILRznRmxKCqdU7SSYkNJ8b5 zH7YJ$R%6w~1yi-aj{XV|g8To4+-x2Kf%+4$HmdI!2$Av*n48M4@_8vH@(db-1{xVL z0napGTCORWDj9F<;$V^TYj)g9{dyz;6V109&DS4<3H!7ECYEy8=F6$r!r-id@gvKYr^1MVcAP!cm3S!=6#`ikj+TbQsrM={f#`= za5WF4bRb$?Fpx2z=yKT6M;7-X7M`?bOryhNUCs#oVXJe}1>@~RaEFcFAuci$oOVF? zCP!EoeEsF%=a9b`5nrmAsv`Nz#i0SVvu+45*P_e;kDz`6J1pV#_j7QC3-Dz37J<;C zO1Lwd7qUX;M2niLeW?Pd_4nQSRxeXicmwGSb?hui7Kr}>9s1{0jQ&~q4VgnBpsdG_XJa#M9NAzmWnXt{2hH#AZ1ZfO>Nz-Z_R zPN++%=;1;20>#t=K|JQKFe<>zJoAFl<-&Gysi+y28?8*44%J&b01!}+AAB|z9zLaV z{VN;lEcx%p6TGbkVDAVJ-f}|BXZp$!BKPA#hnZrGh#oQV%)G@cH^S{kK?bK=ZU5J* z(I`Z{!Wmi&jk3D@5FFGBf`3P; z5_S@wDQmHj1V$EO(lP2~<#}egqK_oq^q^|DJ;UDw0lJtUZvKqf)lr<^Pn6&%(_%W` ze!-#~kq>YrX1WunLtoW92u&~%EiiBElYjInxyUJ+Gy`dNu=N(YI$Rjk?<;n=O1bU= z(Om0bMtizL8(whS!>gqB=0<+{J#~OpEMFD5214Y3^H&Gjy2E!pWH|miVSxInBu*PBTtx3^_-pqV^t=#q-=tElJw^&U7$LUY7 z(_Osrn}+TUgV%JRG|gS6OH$7~hJ^C;eJi17!2Lp<19>G=KS_^M>XPV-+x%!^NodO( z)lRTQUi1~cl)H$6FQdY4E_WpxPE(%!Q9;NV-T3g_zTn`aduH;7)lwhom2R9rjj@l5 zzQU(lqbfw{TGLNd&fs^8J3fm(3OOCZwO7xjOhkk~m(%l;igU;?2>N2PrZL^Gr|0*| zc;^>mKY_j{R}L*{CuYtA?f&~BztM`~kQPSMvV6Ra_5VIJBlytmwLI^O71aj-sMJs> z6RI#mZ4$^%QhA`Uk`|*@9yNcc(|LA15oDM2AR0YI0oVT3dD#y3)jptFcf1*oWRBbF zTy4HgdG=S+2K=&ircL4t@Ps1d>&EBtxV5nu7;X7l|2xZ1K}&OXJnvLch%F@vg~_A_ zuko153YXyA{gP%gyp}da3iG$VoZ0t5a_@M=WrDeZ;8Ns=&FL6)3nSj@DA#tTDr+E) z0OfM`^b{_4f#ZZ7;(j)$8d%&f1N?`$t7s)^juR5wfaYDK&jSXpkwKIDDHZ*G+Q7PRSwb9b={j zHa`MYh*~G$;I~!%k_l)4ZL~DpbHhMcov2wN`p5bXTPg2ez!7`~7*Ntp--lEN)KsVt zu~V$TL@MN1yTEx(B~cy&B@s@km@;OVVWUFo`NhKsoq-Xt!vo^_-epLQa(#u|{#D`Pb z?!fTyGM%|wPFp@eq@ee0iHT@?z_cIvVcDu4SWn4uRC%m`5c;K;{{paEVY3`*KOtBh zoc#)bzgx{x3`A4GLQx#+obtGiSkQpM?L0FD{bz6G0LxbtEVIJ&zu+Yz7i{Nu^%FC* zat%_JZR>T_v@wm5HCD!$E_P3W+rRGoJrFJGR5U|QaWg97%K+2O20698W22y*|8xHm z(VYKbbWiTtuMvFNB{LDg_`Wpj6dp89M-%!4u2&yuvg#Q0;98k4zE*@WmVpf29BX2- zG*POKNS?X+UdG4l01dhkkk1sZl7uL2i}Io-h*+YQyV9J(lBgN{%e$^ms-k8tyzCDO z?fiiC&)Ku7K>jNEp9V-^kQw(V!LD0b2v&6fD5CvM@2oa59W9hT+3%~@mZV#(D*0^5 zIgzIb1$bwzY}) zfvpv+>H)%6ezIZ$JCSt`BRU0sbFedQ);hsGY>=vzjOG_RPZdFTTzkod1=MBjfh^&B zJ<)ALlzzhhK4jl_36@`D1HyAVyXQ!oC6~rpwSDY>Qc&VzF+r1ziaz=wbv!AR}+)w1+1N9mVTBB-#>2Ibq~%6b_1r>DYNKi&gHO=hUAO_t z{Lrtk0>8$1eUf7TkZnIF`55$k;h3`h?miYcT}UdzysS>g2tCj))pzbejBD%YMm*ad zu1u&*uZ(hOYr__;LG-v} zba>2^zH_F^wM2A8j3PnYG+*+FSwd+?_|D!re`Ib_pvVS0H#;&djH$NXXEQplmi56tNR(uQz-l}SpWk60;Eq3d+Ae57m12A z{Nc@a-vA4c)!zFwZV`8cv5Lo$?yJ`hldhB??7JmRl1nAcT)d_X{cJ=qajCJ$UaaDC zxGlm{)9Y)i$79=Wip`(B*! zpPOiGo8DEc2cecVfj0N+zUMpX56@cNFEF%V<2{gnN zfnPGteX^d)dkVdfjJ_+>rI^YIzloG|J3=-^X3puU-8Mf8i>kqGy)T>Y0GLU&GcVS9 z=Ad%v&bAZ3msFl4)DtBV$;`~Enm2eq=H##373wx*VXWQ97LEFHq z2I@_N{;u1iu^I)TaOr9jgbJuDHu zoDQ4?K?v)`fup`dk@r%bO6HprKbdjl=f@I2@}#`61ZtGV)gsP3(@1>e0`##8wk!IG zkUYgrsCUY{nYbMeByR>a(vWv&EA9%NJUIFS%pD{-Vu?CAubV68QyzPi48kftKnBb9 zyK_0AXBuCYQ1hlD&AVfO>=F$fA{FF^!ads#0;APB)Y}1sS*K~-a zxfh*7*ooP0!R7W3i)WNdj19`}p+`#+Fn5h2H#v$ieb2>VaMd?c#;N_7jq095e1%u; zfx_>qz+-c?45M=P@4K+pzij&@H)NZboamRfS5|oNe_T&12z%-(4 z+^i!AHa*{QCpVH%Rc>O}W}1oy`75J9bCRYk+qhrpcAeb4#b4_>W)q~%;cb}SoOXTK zb=e0-9igw4fFNJd>>JM1%%pb;Kq#FJ6O%J}i{Z;G#Er?%MiCpQ>YD<#D%sA-s~TCV zYa@j1yUE%{pw{)jnd2ddS#6K7z%cxeQNQ&9$AVxLG}rQ8sZ= zf5Q&^IyEWLzg%rJQpgxktn9)Tu+_QL!y&93{Fl~?~>B@(GHGf>VhTb2jRtDM7VSFSmy{;ZsS!X9XJa0x%U1(=e zMA<@=o0~LO=9{(RiUO!Lw(KQyI5O*o0>iI9pH#N2?O@#XS0eA9wwYVmUly&d+HYWd zCO)qfS613p*u^UkG0w3{nd1xc9_terpf%_0oFyPVX;4~^0|t)mdwpat5V>su%)%*> zyt?ygQBNRz&UjLHzKJQeVwqQ)KQyC&ty^afX2s`9$6MO^OCR7vX8nKx#r6#hub?>9K1FzrZ?<%_6)4%X(RH^1>G zmX-aXa`aijahA|j&bg<02}f5fnIK!L=ZnPCrfb-M?R;ZcZC8nFz3ZnBbvu`bm&=o@ zc%*VO*>`C>wd0Ud&F;aF2Ne_PY&3tg2XU5Es`Z|g;QyP%YEK=m#nuYVx5BoJOHoP@ ztGr2HY2LA?B@;Ef7zov&oODLCg1*)4O~dX4$u?dz*QnA+y4sO2zrMMmmmy@e@V;kE z+Yz)kan2?vLg{YVTK4NTjXbw8#~kBr{v8GO7=!iotF9GnYE(s+QCCpb+03U?&hT@X zf3#sZ65$`$JT(;(sIX=C#x+NFWn8S^KO{WYisiH^c$YUbk1)NZxD;m9Y>&G=pNX|_ zXjnIBrWM9Co|DZgsTszLNF?g8yLD9jC-ay6@eW^`ZRu$#|DQpTUa}H|nH4)>Q}P zFDvWJZoXqxuQ^|aG0s(-Vq6^MnUq@oNWQl8@l9?^6~D%MF1GgRS0;7k@GNs%a!E`l zj@!>nh!#EHNk{ixJ2forQQ)2BGs_B>BsSL9t#9@bHCvv|G_!#w2X=6{rxV6O$fbQ1 z3xYI-A0OgPoMC5__#og0F7;K!>27;^^DunAUTLnM&X`*g%PCCsm!FG_iEE;#w@=wL zE5v6_>~v(Hd>DC175iC53x>Jf4gYcKU{$o-#d}-Z(lphzJ?z_ zG7I+%I>4de278EX4AdY5;hrb&;x2K2QBes~fs+AJgZ7ne{P^uOG|lhXj}*)I8YDbu zGCEwH*1UBwe1NaKPIfY8v1$AthuRxQPB)iUbY(L&RKoP80*yf&yf2ybKv+rcbuvFW zq?~WlVCx@|2rI9&-yv-2^Qpg}%THUGjk}8IXUY))hZkV~Q*}n?{jJZB}gZH{U zb98k4_vgdEGb$F9&@^9~^qjtmtMX>9CLbh>tBdZG$P%d;8g;C!?UG+;Zi@8iBScl{ zu>7T$!n41uvFExeAqIJEq5a#V}GS*B?M~m)A(xc?d8H$3{44f z0q2cvmM)jAkeH9Oo9SEe)2?ukC7fz!iuUiHa=?WrI&EGQ$?wTep-vghRNu2I47+hr zs?ICGV~MJ?u$H_`*otl6T(M?bWxZ&zU&{A>-cmOZ%w|(tXgmRNAr%N?7pl_lmna78 z@a?blHk3|68~eGB(fkMf(Sqesx0hkMR&#%-DvWZogld|oB^d+T{`0Z?d%MTIb_Y0~ zvtice4t2^vg#C24kMWl~@_W8wOd3KDOp2HKG+hspPn#K=S#%)uR#e>H;fufY9Sa#r z1oq7$QFefSbMse~a6OzuS&1xbEq%1@+>+?oM$h*VMA<(NalUPi%=0qVRV?{BI8IHD zIMr2KtDyCGZ$DuX^xPD_ie86l3%CK@I5q34tk$udE@R5Gs8(U{%XF>*;ljca4C$-oeYPbyn>4Epi+q?i6U{EZYq(~TT)rmuG$)* z@V4b$(C}@7oml{N?V9~I)7E%os(E}HQNO$}gTAbG`O^6owU`V0148Kt>=U4ACqpw4 zpte#pV8xgzD#Iv%wGna`JCy}sYu6u}G>vj%>@gTi+$>t8(OU>sZXkqDLsPu(hv}iB z0r~+X1Jv?&lj57eFNN^N5&(X-kM$8(7cp>?PK;1JU%P21rp}W#MvsoQm4VC#r)I6x zcfv4ua4O{qcWIh{BqStyEi?qDBC9&VijQcz0Vn=I;J)ZipZj~oU@Kd!p{eQPxzBCs zUslG~MS>72p#!w8h*jhga(n7y;8)Oi*C{i>-1O$-*B4HAU53<+<;{25izxnfemNdZ zlf<#xnu-^F3I1?Fkgbl(Eetm0u(h|KtVT|M=nejK5OIm{8PGZxjxDZQuiwJpIkg_^mL!!>^fXAJ+6TOlAEH2cQF)(uluUhP#Ec{R~0TMjo%9x zccy&KzR;;VWz-u*vLIVN-Q;kj4Jj0@t=@E1a-}pd2IbC)acXucuvEbnw-;#@#!ejF zEPu5*W!blt50=X#P|Q~5Xi|R+Lf1xg?xXX%vQ$HhYIB-uTJRyi{P?)1i>LC&&3AZT ztFF>~^P*IrgbYTqBv=iq#CVUzz*4b^=i?629)0Ymk-^k$yRZrBUf^ZgO}fDaf?1T< zFOG=<46_JSJ0Vj#Cpro$3xVx%MBL$55v(;TgZMLpOQ3bBJ(%a={P<>`%pWMIdC_Vz zDE~%X+-Dm}qgV1%c|E^5u6}U2p2rmr+P$bs$C1H1e?3`h*40hKWa?u?^MhT*p%qiQ zX7p$WfEGPE2uobkdL;y3V$ULR?~|q#+&vWPI?0!d^J+Z-Htapc&$ve_+T}H-l(TS75uxIV57`N_8 zbVraAr+gG?%LZ*$htriYF9ytx|F@FhiPV2#Iv|67a&-5v0N6-$Xidjif~W*%IN4;0SS;b+de=%u%XW zu*ZV26m)GowcWRIfR^j7L$}#;F9QE!#6X5%a0vL1D**fjQ*H0S^c^~tV+li3>$Xlv zL4kQgN6EljtE7IS3T!lYK%#7Ij*%W|$wXWNYPfz&1m?{WYZ<8r5}B1zq?)#6?`J~0 zPeJ_WQ#!Icc8pp4xgq(it_8KRfNkp34smH(WII4&7ZvF6+1t6eY%na}eT;oC-@TdCLU!YY49!5(9wSXE5rK%v6jNSHHIbbn}&k5I#Pd1gyMe zbDd+iYUfT1u*G{?)DPcH<0%o7DfzP7Z0v5umUz?lAb%(!1So|1>~Ldad`<0QlYRMa zQ`5r<)X&F6gAv``)s~3e4sH16g<{NM;62}~%$x<-0X?rz%WdH?ov_H zV~ISq3|J!7*zpp3TTz@_D&4``+>At=UXyI3PA3bD4s#`0K6hJN)I|VNihHvLrfz@A7KX9o0igM%~Q8C z8uQHb$fohZRg}HqGuIb+G0{ge$?#|fH69Sl{ zrsLp(e;$pE?k&`);I~J?HhvJ_>cp?%UDiMwyP$dT2|!{*>n|##V|YR3KCjJnUs^^h z-4~I%YropuJ;tUUflp{~@B6p(Z{Ht{Kc8?L82mygd3*H*>4uw#ds=DTwd=NDEG1xA zGA64F$}a{hnd!$3N?tFv7F>j+ti4Ji$;i`PQw9J%jkQgoLf1R(oj zrm$@LmJz##@IvGwkF143Wxf02RB#)nYXa{$PkiHBHl8i;hkWz4`4)kV$JL7bql|l2EW1hh<8zC5V%rkhzP+Cjg zCz*(nTGqi22*9oXR1VtrXYCMk$xj+kevr6`2XmhncQkP++|t3|bb-(^q12)xz~b6& z5iw?+_$dtF)zr%~E%B)s&C1NWUrw(2BBlu|%2I`~DLIP+GBJ>%6A+31Q!Y<^!!E$e zMA4%RH%`o{2A12H17M26cl#TE-k(3NYz@io+-5xC-!5Xcg#VFSc6vc-q56L~6j5W? zt1e0X(-A^uGe->)A4?u>(tU|Ft=2j*xL!5q9H)HF)}lpeyG(?Q z2HBbFt;%=vz&p_z(-f;t<9}f`QzI^%Qm%6HOMdh=D(3DN74^C)bd) z&PztfFIjrdINOfAi)0q_L5{%7Mi+#!clkJo6;5C9&GW5*7_EBQoXkVknd!kJ1~2tY4J2%7;{$K1o*$u)VMZz=70hW5e95B) zyW??A02bPPD$S(VW*cw}YG;AER3?45IQVud#eOGY>TEA7oW?S)qj6R%tnSXt4(Lf7`L&g}nph6EtjzlB+sAWw8*NXY`(@?27CiqJ3KbOa!w!+ly}jMaq!hTa1^ zp+^d6h)Ih{G7wy`Ms%_KsQASP&Tjc560WSNpcN05i&b!z;4fUT+?$5s-f+u)^ zJM)&;7)g!9u=rrfXhDj(E_tC;F|||$|8-U4sGRbP8i}$@!-e>!F=a|R7XIdRB&OU5 zSIbHbPgPCZ&IM{2u)xLhHtDr{~|t2tZ_trR}(ZCl+d3pp2aN>iIm& z^OkcxU)x2-x@(iNLzWT6@3D%`jtxPLP{v3n~HR?E~IHFoBOS>VmQhzmu9+2 zD)%i!Q&={4$0f9lB;rU3!>|*IHm2jU*=F1CGo^FR>($x+-|xPk=ll6Q-{*Nh@8|to zy|Vw&o(F+2)5M4UadcrAzuOjP_`FSrJ|-FEyH3!iUNHOJ>C#~Sg~QJ^{3JCrE-m($ zq`x8L)uJy`H)_0tg=KFjO#bLkWLC1cIfb# zZBLc$(V@ksME$de{ZpZ1?&&J+(p!HTneF?Cwkr{uj`+P|$elovc=uFYmn_huYc);- z?TfTqZ`T&~jSh?=TTq5qo`vmivOToP!;|40E|ITkJ1lOM2u}(exCS)_?W|wGSq%rp z+pviNF}JWGo1GDEkxOIr?|aF>?B&`H=bBj)Wg;$k<7xXl(dxktl@XPx* z@}v`tk?^x@ftO1HMF&+70d^S=2nn%O@sa931qHG1KZGu`M#W?X9`9U2R?Z9knf(z^ z5~_QrFssN|OhTA-QjX`F3wqY21O(o5qTW@d*EP&V8tw$t=OH99)E=loNBm8s> z=>I3(fn9O3<51Zl+HyLfmB9k7DW|Ge*;fN+T74f#nAFNoLC`znE^eatp|O+CAL02! z1CDt#%Ke{*CIls(cvWNXtRqPOndsF^yfhKi?d5zZJT+&efqMvkAtqgH&o{+Ra(ER~ z^Hhg|wdH=G0!6?4(xjQwDIn#^T&;T zLq#|jmRK3R5|VoN$46S6eDi!~{xjzy)@^LD@Zgq?)xG*ItY^D3!u$fS4(;!{z>?Ha z5nb3NUrI{`1{tqS6Nn96^stQQBey;S!?}vl{7(YnEym~cEe$cq2TrCZUTS$k^~z!N zl2Y*b{JM{J6F+*eyY=a?FzGo!NY*o_6i&23q78{gZ z%y6o4sjzpO$vZW^Rh&b|15RAwEO0ftvS=r@wc6jJZE8>_y3T)po^kVJo`Mc(*nJB_ zU)Qyz=L|{6*XmU?9xmSDAnoIXHS?LieFzc(%Ns`8la`GOfnFFzS}yNjW!W`BK11+k z2jBLO%}2~E2E(T5;q9*sI=eb$EB&D;2%uJV53VQ9}{$=lvjis}(IxW8z{7!*nEQe?0rXI7}U7tHO0_r}~gW&X@UGg~16x)pgnx$l5~Mww+&O9sN{_Jb^BRYaE0 z?=RW5cQ)8&v%6?#vniSS2~g~jRb;hbH5aKoY5DgRb-t+wOACtOvJV;W z(kPh84NpVdXG&Ju=0;f)pv#lW)~@!t{NmkfD}0g78CSeY?zk?pgS`UN{JGbRRhW7|=npBw4nz<>&{ko11Eh~I0fY5OZ&oH}*NgQ85SK3=Ygnpk>vH2cDu7<}L#rDd@S@kW&y@%idA_6`#U?oX_n z3pg9#)erV(F|21W(&=}KOU|Angfb&Z)OjlD}cAcH-qS_x%?(Vp}(l+NemiXJ9YYV~9 z^sga%6sWYLVY5f~uF6vfu%53t3beOFZ8C>3 zj~I3Tg^=SF0$I;aZ%HbdZ}#Id+Awi!^AED)*&cg zO(DxVakp=d?g?gsF@{Pldfl;^3_NX%EHYlOALP$-vvu;gCj*eK6GAhg&&t1Hyn_h~ z_sO;fX^`o^Q8u}H7~sR?sw8(3Jc6=|vfDnrT>u^cydSY$uXFGw#mq>7qAoFp#30JY zBOGObnYMvJ^U<_ddX4Q+ca2+P`BrL`0nEvc#I`Ah1GCK1P3q}NM&KpC?}#uby)v>* z5T50)1~IJre}Np}zZT2D$NxZjfUliry#76p@E`C@3W6Fu1hQGkIaxcvj{w9qf>wlJ zN2{DXY>eB7r3*f!EQ8cu{#R=E59HJICA*#v^NBe6YBA(e`g~?vtU?#jr7_bB=)(b@ zZ}9A@Q0a}hYUY(q`mpUm5J>Fa`4tedG?lLGS$H?M&A%d&i&WH6j%vvVA&|yYnV(V? zuvUC0*n{FgY2bqGA&pOo5xxE4Uye=H5B{|95DWK{waU#yoQt4F!qFr=Q@j|Wa`DHO zjaGyQ! zYu9vvOX5>0N5Pfz2(XZl!{yX%R*I0|IFbCOU_WuCD~QDG6Mt;^%(_N3T>D(D9bu5j zs>*#b&6jl2H#uX4K$Dlj|9IF?4HCRObZIvZwMWVDBK*JBKo_(=ZI!==);7-UvNEpV zm3K^(-{fqx#1)EOOc@O31y#MnO78{~{uJpft0R3k)c2Pvi!QH~=-vXj5Swp0BAwu} z=6YO}m~+kEhQB#3l1HxU ye-?2P@Oi+YZoPYz_q2514~`-sRBtASE0wdjxj~bdS@=b^2DpiZapCcE*Z&WPJ%iZ* literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001254569657.png b/docs/dli/umn/en-us_image_0000001254569657.png new file mode 100644 index 0000000000000000000000000000000000000000..33ed35c36aaef646482a29ff95e778d0573ff734 GIT binary patch literal 632 zcmeAS@N?(olHy`uVBq!ia0vp^&Oq$J!3HGP@_K9lQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`ISV`@iy0VHUVt!TQ!=Xz0|OJUr;B4qMcmulw%&&w7>*V0UpjfdgSfb? z$iim*2MhFAtvO3qi@8Rfz+g^%p+mCESg$|MqZ} zD6_E4RlhTjgHM-O&3zEK|In_Db#D%f9_eBX^qJDSf&a~MRc$su!}#+Z88_I!J)R`W zd_87b(cOM5RvaVpjWiq^T`W zOX`h!Y%=4a^%>*s8?tP-1+8Uu-#ML&%`Elyfdv=$?B!4Uu~NRnT%z^q*>{T=n|=AD z-cG;%;O73#534#Gd;2b(dl$#=WKq-}ct`I$!vh{p{h2X|E{cbChdiwISZ9zUkjQXw z{oNgv-HqS7UfxuF{(G8UWw&8pi(@Ju^XJO1g*7n}KN7^w?cNv2C0D8+EHOiSj`(^( zbBqwXVp!0=r}F!R69;1MCGu1|Tbw(PeMDEZXMf&Dbwh*g=JhKSb;Rs#=bZE8J7dYi z;>G*eUJV@9@W7YibpG$*|596Q%Dx(5PGJX;G@3UR&{kq#}!9IyfA7I456+>d` dZqHAaqRX>_5A2)x1ejVFJYD@<);T3K0RRB20*(Lx literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001259009999.png b/docs/dli/umn/en-us_image_0000001259009999.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b26db3eb5c16d18637cf42ec2d626a76500ca2 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RY7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f{Q#|978PplYe~qdcHpEaiH@??|>$E-lKYs zoNlIH{=WXt{agNjeEnnYE+vsa@6P^D4VM3Z|074YjL2fCUqAo;KRa3ePyg!bFZH5k z&G+~Iv)?YOw0~xXv*VAuxBsu+AlZ}ipjm!J)dhoZ2Cn8aSeP9p%3Tif*8SMOVQK}C zvwfjL&y%DiUY5i^ZA~AJ>;I46r+&{tKrKf@vf@g>8=)tU?f*08YtLBNV%2yX=voF( LS3j3^P6Nn{1`ISV`@iy0VHUVt!TQ!=XzP(!n)i(^Pd+}qoGy_g*(S`*)2I(6*Wv1{BO z3%AC(7Z`fDa67Kq)2NXl=+dnCNcYW&i)RgXw_3hayE*gcIqvw)hY#4ymhU+xn{M%N zt=gWeE!$^(2otWmdA#P~yLa+2hPw)%i(mKTJ=X(N`0V4263cz1?>Fz%KD}wzEI$k5 zb9~Iz%r>H2xSY(anAQVB+S|0a$e(*`0_!#?b6Q{q5jnKR`+zU>}ZM*lO!dzY~ zyiRO>{MA$W^>1Ut_daYtx?@}4Y(cSgockMF)VsL)@9*OCJNIYHUrqzhKdbiUfUQ#J z=GUm1@ZsRD4~`F`$|__eI-Z)?-)PA`Yp=Tg*6C}~c5N-{LULP=zL%G|YS)ufbYolF z{bw6MR{!F+`v#JOI@+iHJ$J8eG!!FOvg0wkvTNg{+i#inTTd|rm d-}w1H#<;rJ8|qW4X9DAh!PC{xWt~$(69A42*OLGM literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001299472334.png b/docs/dli/umn/en-us_image_0000001299472334.png new file mode 100644 index 0000000000000000000000000000000000000000..5a0e5a9f79e6cab38b6d7d6aefd895872cbe7be8 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^azHG@!3HGDe(Nn{1`ISV`@iy0XB4ude`@%$AjK*5!sE{-7{-pN0{{=Wae@xWrS%e?(jKIS%A zhIc=#I6C9U=coUTfvl@IZ_1zmISJZ(BC!|3gpN z|KZ7-|2+Qre>1njr`s#C41sEY*PEK1o~T>fwPYTLPmRptXurm#3O-Sfnxf;r+N;m6 z@phbH((Nd5^7)e}u0uzopr0NBHG4gdfE literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001299475238.png b/docs/dli/umn/en-us_image_0000001299475238.png new file mode 100644 index 0000000000000000000000000000000000000000..4025d020e705db5f42150fc9d6b4a0d613d7ae3c GIT binary patch literal 99768 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 g&|0Br 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%0D{IAuxZ-R7m$Ui-X3PkHtxUnE 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001299635390.png b/docs/dli/umn/en-us_image_0000001299635390.png new file mode 100644 index 0000000000000000000000000000000000000000..025feec81014845c694d3b13d4fe14b7f2fb0014 GIT binary patch literal 42963 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


Cxfn48=KE*;FK)Y+o zNkaXYCOLuJz}ZNsNI*d~CZWCp;UV|PuJQ)%P*51)|4!%;mnusrsE=|5X$fr~)AKj@ zfc=$%qu9-j{C2LF&D@+#-@Bar9MV6_{3`1k?Om5Wo@e-6Qo7cbiu4`H}NDA~iquV#%)dV!{n1p>AAixD}AZ;=$g z_%E~wyyF0ONnK*vgeia{?a*BpH4%3ph+}8;9vI@){xVw7vWvl@k{!M7?BDDF<=HE^A zHFC%@GE=lgk^Fi2SQ+Hwi@C4kg|h#I_ZXty0I zsi{bfPbZAN@SJl`B~b}8C;jQSfc#DA3JJlXI9~9X#8+7~r;dUH8-?1%ngT>0Vkg$f z>GA9DR3_-L(vs|6A*O9GejH;=DZlP)jKllIjhF#BZCcOiinLA~byIC5uSj9DOT0JO zzAHQ6Xd7S0aJ=`5A9Gd1a?wBc_I^_l_z@<$95nRgn+C#1W0F5Tbcy_phusRi#dGk{ zq&>8X`a^jRBESrI9D=h+WY-|=I(R>RZNFgc(d8c?@?GyTK|ip zYV^E4IC~BECD~A=Giwxldv_Nt_?<4&9^{{sQN_lL>tJ3AWh#h%c3P5vw|_(s-?B8v zg^{kU%{+|I*|{dI1@?lA>aMc>@v{?H)LZKmQofz!)$)LOeR8DjTH9GvRrbTl-osF0 zg%$temP^}+T#43l*&A){jz%3^XFu)Qph3Cq6NlYIB=G%_JUDQhK745RtnmIaqX_kK)&D`5ki@pM83wa?RrURS zI}}Xt>-prDp6N@OI@RxfEvRU&jMU7jlwALxOiV{Gh`m7&6M`aJ>RMtuP;(QZJJpNVF3xAdX6F(+IbnAg zs~W9i@LTd>uB|B=omsRm3@?dmthpvS+0mBH$s4Uhe3mq#i}@^aS+vN^#kWLxHI_4) z$#0ka8YD8VFz76o#qN`^!YmEHCWK1$d4velbT-X!f|;9?hu8|YQ9`3-M0)koZ~z>u zw5JmYISZPpXImemU{hMj0FtqBW6kHRIKB_;kjaZ$d{lMKq#oOpQ#e*rXr zuJU}=Q*vVFxJhk>zm)|xcz9m8zn2mJ$^MHj^BQZMgyXCKyu(W$>Hy_eKIN|;S3BRnD-4TCd-`CO}tBAw77-K)U=5tvql&p`SQcwmNY-x^1gK`BU7u( z6mJ-uXH!dtur}?y95SCgJT6v0*1`h+3REkYt#wItdIb1&g|OzUX1q?KdyMTR6$71~VGSWto+uJ9%%9L2@h5y$h})Pb!Y zyPXjPp0d_pvqe{0=EHstCJotyPLKl8unj$$w2lIqh#2NI==f;NI)mbLcjKw^Q}XSg zNMlX6F^`U#l`FzL_Z+fB)OIXTr=G&+!a=~<}nJrDk~VP_#{ zF6?;b*cE-CYDf2cI{tNWzz!v^<^oQ4;Wq~d&lH)hOI1|~K^@8-P!(1L&G=CO<_8u8 zy_TGxo$8^CmuHu}D6nH~msjYHFP!nDOh}#T;|?}O*494JU?V&AKrv-}YimP32436H z<5se>jdkIb-K}!qLgNT}?s(H7hOlcsR~e9)1Q;Vb5-EoQLOgzwB8sDY>&u(qMYdk* zbO*tDGvj-suffPvVQZF~AVXY3HJL~+!ph!A3w*6IU&WsFa?RDh?K|{eXtRo_SysQ> zibF#tb61k)Y$F_sJv6GNk3#(Wj|)uT{0MD8M+$DwlGUNnDlt4qGaHI%H#96Yp$0xS zsPxx^onM*2FnwS&{uCWC4N@FI0UnM&bLeeRhTGLRKKhC+!8$>N_E<|+((J~mVOB*H z?nH6(vJo#bC_lqhv^ZkMoR%AdXZz({}Q$1+2ncW~HyE#%{!0NeVd3~kr62_!>4{39~m zTHv-|GD1~pq3gK;yc@-ISaEF}?0M3}f3&p$-e)9{`lvn>Cr* z$mrX~iD{x0%@p>ir!Rf16ih$tv`-24l`eff2{GLZ%&Ma2*5Ls}ZMehWHpCzERde6r zP{8Tq(pMH-0J1~jUUf_*>oK_s%V#OscMWg{98ytIhIyQs@?Jh|%<^*g52ekhR5|4TuE#bs0rV}Ov75qp@!bb8re;>;F z6B=zr8?lrnjiYPe?#z;}m?(jkoQo`?DvdCxXk$PM^H0Z*QBsgQm(NObkr23G)hks?BsHp~W=0)6swnvcw8HwJ>cB(0tq-YiW z$c@cP2&+%!?`#VHxiF$bZb%RAje207;__hM4cu7wBRA(?ci-{z(^V(b-}?Ug;m&^o zEGQT}m{5IlLX3}g%Gc8YdqJY(w&^zim54QKPJLe#E+qw-s0P^oo;p2(Rx}m~^>Tz5 zwhj;f=$M*fF0ji~F3c^-GT@@D8TJdtwT0-jR6rblQTvPEeb0w&AYrqKxb31>a1!uLJ&R@Vd2y@v2PP+D_} zq35I=0)bCnN+UlBJ(R!t25Pr>YujT>m{(aRns$?v(TgF_qw&@b?f>rjh`AED8twL) z-C8@jJg=%3Be#~~_=q67eFhzXPeXKx^7HW0Lan6Eb<_g}1PwH`+n$fWj?lpCXTXjt zDg=cJWTEE0&>Sh8L^lR`K-Ha!lVJCtodteVA{!j;u95leox{7h`@5PJQ{omBY+x#xzGxrl_98sliF=xl)@5+<@l+ig zw3i*F&Vb9&Po`M@#mjLlSFgFbISFI4h8&Cb5buzNW`PL5Fh%C`1R?H#jXfz({0&Ht zRJ-FTb{`(!648h7i}3+>>uo*xHqdL5my>h2!0@);c^lXw)AY)MERFp%%en6+;8eZ1 z{?3L1{_c48VyH@G0_)cZ+oyAErBqBXv!_i$m)7ynM#%4M>%gbp`9!^I)Ubhq**w)- zc#Cq=N&bam;r2WS&o!uarm4cdqyzTN%L6a+<*>_Tn2w+5##kb+k~F&Djql^2;U~^{ z$OIxkmCEkI9au!fUDM~6ksKK@T|!Y5O2)rB|J`effbYfLx``)fM9PPUJt9 zk~=aM&Z?#+8YdXOD+AObwN3YTqo_^4qNjrA9kjLyJ!O84E;+Oh8(@#LX@WLj{PYj@ z&LnIeg@uCwi*F>^`Od04u9;|f2*T%Ym||nsy(_5?qZjA?&Rc~Y!5N~T0$!t0qh~~f z&b0o5JJv6sf4`)1?`d`WA3gXYMDAluEbcaX_llVi9~}k<1naE4HDkj1TN5D0Lj{7a zw9W0VdHjO#X8m2R#NPIPNhKZkPqsz-Vy?Td-sxJ(XiI3(D(S3^K?RlZcea^>{Wm+U8*_GQcnNu1Zj;nR+6OEN>(D;r1llTkWEe zVI{0HLCmY-GDe~9Xz6e$!p9UK7$4V0i|+rL&D$26r44S2by^1L#p!GYnZ`;}6|-WW z_rtEO(V-#0I$f~Hn~-LAUh4?V)3=#+;WfB@Zhw&}B83e6o{)wFW#eyQA=2A%BnDX&)lv-N=C(en$K%Bn!&JAsyE2R9)ZZ5%YdIq|bvV*D1p4$( z?yQOt>V_8$o^X{aB-1HcR2Ih<_#IUB$o35VYyjx>)LYCt?gT4d@)fU z{V@gvi#0w)b)+PIcl=2;L??pg$WBQ+8nNSd zvXVaVrHR68>a>)*PR+~NZ8qN=u2JSFgc*(d{f|=@4mG{--6KYfax>D43|h$0F*{$#5EYO76sI-=pqKZbKAfRNVQK-&-<9_R zlQ6u==u4~?y|jF$BD)Q&k}=cL0ZP?*32}&uqN^pXe|_R2Ls&_T7V)!$ZTyY@zGPm> zgXV}X*Izh69hh40zk(9PNY-|74vPL9A63ZYbEyMk;JFb$H|~?I^h^t(mNHlgoJ5Cy zrkPu`b`H_LV^=?aKzR^4^$3b%#wk=m!FvasPn3mVRu|tsj1HzBcA{+qVeU_pB9U8p zea(2Sy2KvN7!%Xfc(s}Xc~-U3uKPo0_Z21Qt4DUStSibbiBEpY-Y`7rIY#xig^0!^ zpoW|{gx23OUuEXtO_NpcZvDWmkjt7u#!Zh7J+-U!-%Ybe8Fz@wtl2O-{0WZ3F!m9!j! zuYDI@o2#AaHFfaQLADCDvo6k{wBBaq$fn0P_o9C{|3vu_A`874Gb9`Dh^!xd4wZ86 zy4#4XIYY&A4OKonyl?a<9c{%x!c5+MPa&nX3o|^oLft8BRu#zvJRibJp57qym9mJY znmIzwwL`~!b<*{L;nuF;LSEjm8xU&~m@LZB=}lOrvd`Amo^!V>YGujar`cjL>R%ni6Z1!Kl{e&7TrR#KoG` zwr7jboAngAfj3?ZQDBS6*9h1IX&A9)c~%pIM5-7tGQ7l1q*>E3%}=T?QUH?3UL)23 zr@q9w87%1B&H_Z<72FP2ysF9dfq@IZ5wl-M{U>X6FV!e;k!tkwT*T1!?X#KMD0VFG zwjmqE!8Du6=vTT$Mdb?Muii!>|K6cR_DCqiYz1sX3cR5FvU9ewKNCt$!2$-zUbZDh zu-M1g;p((z1)+r<^+9Vfow^gHBgG3m*VW?Gis`M_orW*6(T0_a)*y8kfLGRVjz*W9 zYj;3*0jNfb%-u*pDRDV+tX9P9(Plyux28pGwi*17AVelIw7 z@Z^u{p@8rew7c55xIUki;cjO#>(-zGu>;-d5u(#4H`qNO+dIy95{j9%Ptl;O&C6Nu@C^(4Tq+4D9<#P4)&J=>p`o}~; zwM!>4tUWILwW0-i7Ium6HM6K5i+#fZrd~IwO_Q6C52(cdG-;w zr{6g9I}wV!EVxk06Ry>m2*)rZ74U&7mPitly`;ZBW4b4)!bV|?bT{OcV3Q)pxlU9$ z9oTW;b-mkpq33rpw!juK`Z1M;ozWlT9*JAmxD#zNuRed>(MEwU1;$5pWSW&kBg-_4 zWlsO8$2}a@RaTh@iLRD*w?H@WBB4I#%tfD4MK*q=JeT6nZK$OxF~iL zJXP9EYlg&~-RsajL%xGwIGj2VS`Af<*e7|N?MFf$|6aK6%X{o(nNDIP;SB3^uE1*GJ2I2~Tut&sJEC9Q-6&}RW^=f0A=7y0 zOmxbk2flh&Bz}peyajV_or{kec?-v4T4L8aj1h!tVx%J_l<$p+W1_|}LQlMUi`H`W;*?os4;}z~YRU^l5r!Vd{d_k(9&E-} z>-cN5Sgpo0ho_GZD?}O$)Obx)!7L9`;QbY8UHN=| z>kKQ=LJ*Cp-OPI*kZo5Z92X$ULT`U#Al1kA%GS|(1kOxSY7RXAca=H~e!cCHX=}vH z3mqwZ{t@F|s+`P2MOuIbgPG=5@sAn14xcNOvBgkJwtGuel>AT_0?-uF2apwHokBAx z1p?4tg(A;I9taY3dy=FOD;TPN0ir<;cKY}T4gjEg0DwK**LRHqOM9+Y(DNG&IMRT5 z{Od=G@H7$jgy+%PfmtT<$D!}cLPSvY>Vri2{uV;QYklz5Y<7`Ml~bPPWrObPW6{mb zz{{DR4@zvEp55C=L_+A)tM6#vW5zC`%K4A4H=xabKJw3|#oO$!ot||2ij}WD0XxCp z$Ue+OUUrSP!CWgX40dZz>|y%B_(ETWe_)omR#<;Xtz4VYsp_^Xzn>NDTxKf7>Tc0$ z$SI!&*{1jEPz5B507Q5u77ZVDl|JTsujB_q`u49slOiBQnW5Fn0Z$SZa1^xwO2Ne% zuU)ggq0|DoLIQMYYNzdHoTptj`|Hn5h_JBWGfa2NvH$G=v5%vV*UI4A5wkyDuh%Tt zrabbw-1C_k(T-(D6{&i>$Hg2+u>K#m+?e&5-8Fk9J<5vNC&lX!0V|cRe|LRVZo}{#N<*& zST8XsPNxo(9;G@Rl;*k)+*e(NYHS)Mr?LAnv!_SxfjA{4w>6w^ca;~?GQIlrIYf+c zRA>RoajBryM3|r7a9HH^4TDHSM{B6wq7-4SL?)CyP#+S};sPE>SW0Nn7VgfOp1yi{ zsR;lx`O$7#Nhp9Kizn53I9lsgiU~oA&R-bkVoy4z=k@7OEPSk>r#s?;>2OTqm-F=~ zP#}G@!tIa;`s_tmNi&HNz5gd$B|+mNUb|s%e_U$|H4*#bRHDx0+m{#F(M`OzuMsXb zUkC7HQGqa8c;3baNCD>WxBUmL#5&Sp*J=|EhY|9|mzj}XMdYk2Wvs+O!)a)EL zT2u0}%rmR+CK`EdJl$eq{qn<>4T6dMLXWbwC_}93e(*X&ZS}s{@7d!{*H1_SW6oOj zt2w8Y{vja!_4-b=S12fJW?xvS;MBXEZro%g9n1d?lf3)x^XT2G4f*>XUzR&N>GKo# zkuFMqE8y!tS?#x*GiURZFs`TR%9q4|U`qDuc!R08+liS-gcdd~Bo@KvhpgVC;PZo+Bocv-1<$Kg zIX*3NQ@>mA(N*9BPlk;S12R~BV~4y~)yJ)s@6B{~qdl&0OXd0bsI9It^L<-MuGi((drHt}|5Re!k1#QS<2A5Y%FK7|{3osYRmew>oQodj<8zl)hM zOZqe^fZdtD8>!U7O$iK!N^}j7X@Q%|)5a5@-~Z;DeO&K|p(i|iyo1>T8v@_KW3^Wo zJzrnK*+m8Y?p)sgxrp;B4*YuBIr>&`)B7~hJ{@!uojvd)*yp3G)>+}`(m&{RnAn7? z_BB;pVI|UAE!^%re?hL0&d==W!9aC6w>Qv26PW)!L;88c)Bmq{@+=ckw6 z4=8S|L`uHkHKF7{k>$7Rmo4L(%PEo^LP{Tm8+x&z z$A0q7*m{TU+kDyND8I zn;e8o#bHMo7W@>caLU?kiO5NadiwU>rKctOvAcJa)Ud2VxaoICzWjWT4(Y6!BleS@ zQ}_~({^W(n?6+IN;}b`xS&vc+!E29J-ky_3niC-Q`yL}!f79PJi=L_HR@2t>^6>J6b?u><|%ITdfnugp62g~Sn&)Hs& zolH4ezb%Np8G>sk{t8tT)*0~Bt@krbg7>b)E-RhFR@S^54g>u~&Lc#B%1Hb8&fTek zrGY;pV+ZmMt>Om0uM)q8j5<%Muf;elU(VgJhj}_LVwG}`1{DO-st<_!JE6L}ySKCw z9U8UU#z`|}%r99(F+p?|;4kl_wmez3tc9gatXS!m`)@_;tU3NK%gamiOKs+W zDy)b$v!7SI3A(lTD0co%xDbc#l$te?)n*(?3ad!SuLt$Lw(ED;&gPAQ{n97bZ@IbW zQ)9|fSS_^<>Vk7adPJO@&4y9d?rEw088XhM@SGo{-@o4mlx7&ZAg_cYw#bys*nN%f?vPiaFTp7vU)1C-MHq%Sc~m5sX7;9-r7(XfFmhO&F!Zmv;UPhQCjN{nn-5da2+gMozto9t$5~@BUry!9!bGJ#=4O0mkqjYZeVa@S5TwL4RHEONmVAc-ReO^L_ z#m~UYt8EjdE1q3*&&wi62Q_CSQe7weyng7SqI=vr!@RCB8ea1oww5EqtFxn&f$GeP zqsvzfS;b2?%ysN4jnw>H`hs)f-IzX>3Y;$tFeI%d41xL-F03ku?+OQHMS1IV1h+r( zgKl46-!rF!>_e#mitWUMhN!`A^B2Xv!SX)(+6Df$go)HLJPErwJKyr8VManCC>hAo z41}4&Y8vA+upx_T934|1m*wN>EB|hBbE|SGt`U*%Vd|g9cN(~yO?rt8xU`9!C6jBS zGAAytYm3q&%7@@B2n}<{6LavSU_AW{T7#7h)eIypRALjimNu7|(wY4*NR-B%F=p75 zW0hfR&At4Cd@t(8vC>R&&&d~c@RxN9w=`0a*-{J3c)eO$$2_fX0pf3Osa)g!^mLWO zGQ=-c)O{D{_)lC1|1_J77Oc!{;aSoExM21_*ZJ8x)_U4A$kFz>>wPDboE6fiMLdh(QiTP^rDK;t@Itm}XLPVNi~dS)Sc2X`j6Miia!(8~6q1o4<=l+>U~dZdzvt&F6lAKzl=T zGc!vgS5p=1I6IjfD;3WyJabpOtjo~%%HJ1}CtoFkQs;DGn?YQnb2E#Qi&iP;ZTzGO_WLtTc=spHPuqS z8&JdqH&$raIX4}R=2;rHo?vch0k9ziCPDzy!+Fh^_;jYXCnFvZsOzO-_Ti&(Yfl%~*sT4-ENY*u|2=*?8AE_*!VZfK8CDBqnuJmFgy zzRGaLIJg5F%1~SJ?6BzgWO)={vsvZRIx-58MhYNO1BIae`)2M%3Pgn$L|KPv@Wn+S zzm`B2vLDfaLFA44y+ny5xlwCPGl>VlZi5v+Lg)msB1KBBxxvgTw6uP1Ys*agk3z3u ze`zFC*2_rB0xIIof3ooH(5)-&Y;nXzMyf%IEgQEz6W)~h9;VZ8U{96aZKYx=T+5paF;QD z{Z*x%MctjM{F}PEC~<~bS^|~4STWTt-QPju%uGzuvi>T*vB>@FXQ(zAf2rSOnFFdz zdx}%3=f9YTTe+ICPN`h`24Q14hMoBMH~#@;JPzQKxtf_NdO0X+(1%QIiYfgnQWVWk z$}z969`NSVGXVI@_~z^zlIOc+<7ZiwTiTg3+@d#*h!eU+N#?lQq$)0+PO{SV>6-KPjJcGCuM7|1JUijk zrTI)w8j%CWYLbcXk@ws80Kr1BO(9Bk975wP9w(a1382NUpWPz^NqcQ~cT0`u7(r7zPFF_@=_#^*m6mf@zP7d|?`U*?e+`SE zx3(mF=y!2n2f=?bnY0^9zsw^TrhXdJ{Cz-r#7sg>V7UGk5BF_ZRFFxxW@2Gy{WU#; z7H?5)ls70cHyz-wC}X5-Xy@uEsp#6G!Vj1}CC*&sto7RnT-Z$=kBW+N2ZzZ%GC)|DsczD!>3d-#Y=Oq)XKS&2l z1ySTQdDiWx;1i`6=yPb#&vMm(yf8h9FRD}ojSI41@yq{hIW|Pn*GF*s4Wj1Y(613h zq=Gs+R?mku%&(^+Fh&f!)=)~RMh_e$74#(~b$u+EibMCl%NlprW*}(=41|~TJ%`J) zIK(O_!XbECPK?x!2Dg(l0KLj;yFM>Z2sLSa0jEmrf`7iIzTz^0+o(^b7?rOxQDttv z=Gf_|PbeDx+e=NYDrXLz?x9@2OWfD2VsLEk#-`S(W2f!nF^SasN2=icgz*8xzT%zy z@@QxAq8~HBi%JV*htQf8rkExNim$fUh@gnDP)k-*g z8=VO1ysknS+_J9sh-iS$S`M2VfB$hFGRhAs%dekSyC*6r$l)mh9O0YOK$h+x?B)0m z@qm0b7eHeL0pbw3|F1)wojrqn4R2eD^sRzX2Il@?hBU7nZN3E! z67sfncrhodS%J1aDmbnqj_>k63j!(r`X`S^s7mt!Z?1b+dW1X%e~}cn(D#ihp9sRG z5)pFKWw7{@0h7*GJ15QS{C~eYz|x?}I0kZ3{ivd<^q2jevy|}(y=|3`HGMT^_ixyD zGREw{e}s9CJSsUseM<&diUXXfR7g{no}WkxlZJ3?v8bqpXGg@a^0-=znVJC1NK}shbF0LhFr__#5~1i`R09(;iH1l*7`N)t5?;D>E6OcjJq_yf zCPRoLHdgs^Lf3bApA=&5%Pre0h#;xTvz*9MfVwmbWjm5ZY-w+AW?QK^k4d2xkEV7O zVGb@T;VKUlJSFZa3!I{Sfl|`7YP!mGgs`@@j01wD;lTV#{t0{RsQqR14K-(|jQoXu%1VB}Fdh72%l2^9$yi@&+$I1?+MR*dWM;}IR!-Iw z&t-*d0}(CJQLs8UB@Z=^faVx63i6b3Z)aHqrLX6Onv^|^!+nCtTaln}YdQ7aw4+%p zsnj1gqIg)IzU=c_xDgFSb(Wv{C3>5>;&`s;{GCp^17w7_E6JoVeoQ}Og;w=JIo_{) z5}}0+&I~v*H~aH#+bhz8s`3D;4WVSyZkXdg+vISeeEjNY#(*F5SeCf5FNC8A!S#c{ zAp1;?_d4V&TwU5~|hGf&nt-DM-Wy!l0N`z&HYGQ364F-9%+m#N{1Xfd=wQsW;*QRJX&wS{A z#)DbN$_f{uDYPOYXH1k*>%3^L56u>s3=Lp+GqkMPFjRBSw>d8xYa- z&9hl#Ky%Jxp|=WuFGY7#B);qHI*0PG!$o*Yt7EZsc6HUHHHeP9EW&^TaT>#GN4vR= zoF=oL2v#wL1cqv^n~&{$Y6N*Ni<6bn@Y{0QdvCWiBg}T#xjSW}D*T5e2@hb}2$r7HB@DMg(d%$|~_%{@|#7T>4`%|dco;Pa#!~_q%TCBR7D#9{H^h3#c z->OTW&ns?tUTA9_%hCTA+sZWfN1nH;nQrX3cZs;yQvWPH1v0D_P{_=_G*Wu(Bw)LC ztgi9#GtO1X1lD)VF|F3+dP6d{Fp(yd9DvJ@Dx>$VfBRYc1t zNeT}9nf8uI0qFo~990OB*LSK_OFt^|KD1Un=3^+!6?|%CR`PUpqFwK+pU3JZ{eAm+s%I*ub>?bWFlpkM+^ zog)RKcd}w-5e>@}dq`i($geR*coVf!ly99+I(yj3KZcOoN4!HM6ju7`I*R0=;_r)T z9K|IDGqv&mA|Lb^ya_Y{BH4A;W9Q>b)=Yo$s9~xlw^Q>GuHffog7VTC2KY_%5X=H{ z^1@v%ZR8^VAw+~3;PjFzOH9-vQ8iSx8%yKLfC;pqCF?W#5+s{@XzBSee#83^N=S>q zBD|>zc@kP$NizbzNUHut=H=^zs)o6K4*4G=qw@pYQ*Spbj zXUhCHG0db_KsOCEfUr~=zohYbQ-Fx{@qfTaEh zh3az@C1v<1Tzbwo$#|o=8TZgIn_A_=Toc3z$TUJHrurE#)BjXu z{YB59ueJ;uA$u3Br{u3->9K3_*DP!5i#w(BbeEA zspu-Pv&|mVw%Yg2pxn&{RLE>61F>AX_=t<^-(R?cjTnXX`_*zmmMscoUJ6Dwzl(T= z689o|njny&B1AUAksa{z=@gBR=zxKgppO3(6)z(`Av)Eg-q|u|5Ad4k{TGJfxv`oS z*f6#aqdw%vnUgtfKqkVaNl-x~K@>giAf4<1FQ%Lo>*r)BdBU)w8#R%ywI?awk^#Fw|@LikwmYHXcg=#<50-?l_ShtNelF3`syU6L*G+dnfIlh0uIsY0)r58|jL!8KPR1ZRfumpbT!VFGj4k;GclJZC5RWW%S)-m9^zL zCMdLyi4FFOd^@C6zUbDIYWr{vM#1rw4~Kh7miE*YiC0ZcfQfxDdY<4z0;7urGI}r< zi2Qsym*xxvx{yca8gFgKY=uHCa(2}AwR#w$nBZ8{&sS{CcIIyejG;YWbALDg_5tps z>~QRuc6Mm=ZnH3f4U@5>EVX%sQS1Fu^%GWahTAZ38$B)mr$5q{%SSP^wUtK7>_9YFBK69^Sz}N_2xhVqjF!B(S-7*L6R267>Vzg{sCqU48C3b{cYi)soNwHo zDT{^OmO-C$2p8-l3|^5}R7haTi^<_Sn-yimS79n~VrQQS^$qB6ivK{L+ju?n)JbRG zT}{-HYu?7}JF#j|igLvp`Y)+Tp;`b8DBQ+SVdlEqH25p>Eu;FA;?R(&c6Fr#8bh?5 zY%-F@sizK$aGqs0M9NmZ2%a~?c1|FkAPUT-sbd8{3Y+-$J<~avpPLh58f!0*RS>O~ zk_eM*noxag;C-Y_6KMfg8-Tyw9_%)Q!c&0bt{{`#F)-P3h zCD&(=2{O)yhXyVE_8#__(W%FD)RJ?}uScCJqvhTYTD9}P>-6WA)>^3Nu>VxczUyxT z5SLQK#dctd)Gk=R*` zsRvueD(S%L7t;@@wpl8 zW1#2C>*8E2@?O;qF3qjS4fmlF zi^H}2c7w}QKb-ou&3qrrv((acBn)0FjPJL?Mw}}#Zg|!lfBXYu^8*ARKf#X00HkMn z`aRhjOOiyK{G3!P#+>yYD85zw7dYS?^t)1EtKMURsL57^DuK>(_+M}56rm9mZ-!B!rY^gf3NTs zYm`0}+VsD@kJkoA4YjXbeBAhw-;*W=Uvl|Wd$q|$zj^*~jhuh5Iq5E??f!UZaVc@B zXaj~()NSchz0+8}Iu1}sWbX}U^p{$@iTtPYlGJXZHh*Z-{vr57z77y!)OwX(9H~AnpC49x*^!&oT=PT5PcWs5Dy;fYc}SB4Gf23l(No z{q2d_+x7VRvh_+rjC+5*t|t2KR`_$(JDxoc3oJ*zx%CLAtaVwC5w92aoR&2os7T-Y zyi4t+bKP{+$prua&I#2A_TM_JYkw6Leq8=SrHmD*6#cjdUy0epb}dtG=)bxc?i1`|ES1yycA@hes7nIpCL=5PHO}f~ zHfCeQIgHZtXAN-i&%bgB({S=rk(MoBN9D*^=XSPKn71|X3s9x@ow%{c0^4N1dd3f2 z>R#JUNDKgocbAw-oc^;rFRZwzhER((oSc*b^Y1<EihwNp^K`Wd=CJ}$qw z#esMbvvvjablp@PH9#fGCZ<~mmPOI&bL}2g=xRBthW7Hk}wJfU+qH2`sV|7*SU z5d#TO-9Gs*#^2Tn5PY#byJHfQJu~z4F=>{S6@gZ)gT@TOjbBrUhAFOwUV(_ZZW&kq zy0H=)4SXQFf!*9+w6T(iRRWi9tn!3Wt3>dAj-nGaHc8YKP2H(F&FW((4uB)I&GhW>4=gkn!Z&OviFgk#$Zi+EDbEyn8p!r!3jDZ} zMO_P6NEU>T0+1#?)Y1akosRPlORZ_4V7O8tXY=Z4SCP?|37&tEMT_=!69T-`z1jmT z_?1EI>%4hsfYQ001%cch+OPC_Brj)0(0a$Y(J3GqNJvWhU1by7iYC6z3r}`nX}>%J zQ2XU|G`8^0FOsO)#9=5pN*^v1Q+awyMQy^mL#^RedZj*1xKVjDKMlMUPvApK8xN** z4X}A{vFG`d4-vN??z6UjeH`-b{@S%b3{GczQ3>Wje%bAUO-Sn;p!{@;O=hU=A3iy_}+Nqz52lz zY&O-^UEQ_Tnl0*zsK%Q8sVynw!awFA zA>wxNI+dXu(`y~C!v*p}gwLn${(8PQ*7Mu<1L9l&B6Y@W4hdsd;8N5G=8 zF_5G4^^IqX&eThZQ*puhU~L7q^MazO2A&GOt#QAP)YR*aNPs*Bhr&JX@bK^)HJh(y ze-O4vfmUn=>q^D#CUjDvMM73i0Wuvlf0FR{j-E#oYFb?n@m*gpExI0F>T*IUdjL%s zlm<5Mo1WXSrv3)PsH@t7h$z!++SPes#MmZP|Wbc}Mt|y4@$E57W z#0UMvN*XG<%TvC{3&^y%?@83yyXQ-Z0~h-(7e4E8GO;Wnf;P5HOAC!ZdtVx_H3yB< z(d6?iAqKnz%D`GK9X-sqgqSN&6gL}5o~sSF9bjE-73r~#X~L^`-#lke5b)=+O@eus z;w;pU8+`V;GnU8rtU`Ix^GY*MAYsUT#pJS~ect{)?o+)x#?Ib=Xqpq{JzLIwxAv?V zy7Zif|**_wvXsC#pNEa=YrOeN9s@jQt3t$zo<4#4C0rIFeA%pu7vx-Wp zdRhsgmB)+;JgP~UemNrL4YE>B1!9k0k>+Z_NQk%J^JYFhy3ZPFtyx{JYG5pWD(=m| z8!kC5XBf(B%uGg%wo6UWi_z0pbKoA_tW$^iT{754Rc!c~rDW6s@3F7p>lse&-^d6j z1>{DWBG?Ee24LcXYp)yDG~%fC^O?>|Nu{}4PGwz(OHKv4PLCCebgyXn`j)wrjH#=w zrJk#{x3;>e_Pd#>@}QzRwrO)FW$3w#L+DY6aZ;aa)<4gZkNy1zUq%~sPdDXw>7?d8 zpnv_OgUQ0SDlrK7Krz8Y3nUwJ7ZeoHo~Y>zT2gn)$P23Iq!jPfiKdNub=IH&(smfA zn!zK|<35~}+0tlUZM?o!TzJi|biE=Q#4IHJ{^HV#caKqOE1^op&o8#ChyOBCF&bpO zwLpjYX9B>^_Vlfa8f*JNb&5Pbzi3{$w%Z_b%~794s0 zs3PUez|wD11@Zdam5nb?3temnCO*$A_kj#PtLz;uj-wMbpg6NFrcXme<$HZvrJS{K zK5;c<_k7^``NT5X=kC_I3sTSL{gl})a9)3^Rwd*|>95JIm(}AQ-Kd_sJzF0c8-2bU zGC4=(w*Gz8SG(J>tr$y=DqlyYF5E!^0nF6!c` z^VKmgLo-ONaGd?A9T-;)3;e$S;us#lzy{iOSY35|lbR1MdiypSr%sW zI$T-D1zCQJtCg%pMock`%Fo=&%aG~ACu+92qoc#Knk{jLq7Xhsm3ZuF^}kh^4fP3w zrS*6lo<+lSqe3}KRB4*Z2+Wo#qt<2>87WrLxBPcIdp&K*zRRvJvl0TCa&`iId7<|{ z9R@NFfXD5r2kPL%3I*TN=#JR5v^_`f&kZGsF#vX}9X2_8&ZfYl1C@OcoVwXNsn5;5 z-m?|qa>WMkAKm{wmHT@1sbG8;pff7@?L}#&qZ|y5vCq<~0*#dDV-qXh~D>X&(Q;+@%3iAQx%C4j&mK?*Oum~i7l;bz|z%0dp zE=B9&KHu0efCzRlP`x+^sru{3L=WHlElL=*WPSP;B_VhM^$;{?ey?{+aU}*J*>cIFpS*l&Nxr zcbE`&*G_9tygPAvA-e<7VLhCha$$ueAxI1rC%UD7fNxb9>rP+3`*o+yJ9Kh`4i}Kk z)8TPZql_K5V<>duF0j$Pu`rOz13Yv66=eku0_2?qr3}u3xyEJw%Fov50h%rmf9aif zNh~H9Trnrmi%2b=rlXcD8UJRlJQLs{2Oh*p8jbSpoSeQCv^fGmYZYjBKmBh(Ts5I# zUDGvnPS7-?QI)?6O+iH@7Vu~zr?=S20aZnvKPr>Ye${DzH(#%5% zzAwAH%$p;g1AUOH4iz+BNMHMGHp=E_2*CYZWSRlCQ&hp$t&o*Z59rWU(B^@_Ljy~T z$kN0|llfqjdDrYh8hI{hJvK!smE_YGX(lis)ufz?s%b5c`1k`th?ka@<~rhkXohWR zIGA+mm-CU*j~A!e5Mnv8CCM~UNcSq1)il>;>dwT@ky%+3bMeroSDRO`=QkDp$}O3+ zQkg*F0OD|$eLbRw$wNLrJyZ(kT+-~H{VCXs_B$mplXOl?nWYx5by2N>iZ&1Dq@$6} zRlHPYd}wTJoP)+hi3XqPcSdZc#GIK)F6xUVGu4da^*79t$>DTNb8EG_kstLak#Q>_ zfDq8$@)#1P&=Ze#u_)y)GNk^^$?mSFPgZlu*3#Is{>Ffi#WD9_XSF#Uk-^_)+8_#% z5gU~?6*ohSkDH4>uSxEvKWg zdaKna6Jt}v+wg{vGdV6-6Z1qYoF~mGzu8*oVk%jl83{BuW8-+jK^Z_GIudF`RY$5~ zkIhgx5|XV!4?8r18U}&QCL7=ZVP99S_vf{NxOj*t9_~Tdk5Shdi!`yHse7gE)h9{v zom!RX6wiFoKjFsBv+xhjo8opMK)g;<{1Fxj?RlHD+CZduI2XG0pL6w;YDhGuZrm z)7$-i-tdX(i*)a7zCOEV6UT34W-*}(ewewt#*uIc=Ou{}4OJUf{JF^)ZdDlCB$TrQmrz~9&mzPcIZ@pIePBz+pmL~h)YmFa0(1v_3Pxv7 z9P;}F69mb#^OiSEbXEODlNyMXN5)M9m(Wf@4-kp*%YkBSI&NMoW!3V03e^zPHHVMo z^d~ie*C^d{T60tRf#2_ej}9ObD5{%(;7>U$1}lqhP#2}303#*irsZyXGq|FmtRswJ zDzJ;`rmNH1iPakr)Z(5xr!@V%W`7UWM$aH8p-4>Im|{jXUm3{IHP<~2pvhzFrbiIv z>YhG!_}gZY+w(~Ir73lgs8N65V2AZxoVn%CJU9SGl#GhmL^6kkwnYt-1)oek-cryL zI}uf(8b+u%F(xBv{Y$>O2Iw{iMk7y}8&U7ln|Mrvmg0UsWKlF0%Y4aV49gkK6zv7GU*RQH|rTi$w za&v$L6n?6;p#6$TQu#i^Bj0=gItTIsvOe}TNjVqee{T#5t5I`nOLNAtC|~Y2RqSLOqC{mZ+=PS;CLz$;AQ-23=ccO~DQc@K)9Re( z9#qWFLrP9k7&B3WN#)LNX{8&fWIJ((0!|%l&y0Qb%nxt3A2*50}PY zWDVq`3}kdSJq7WZkcO9!iH3hwjm%)l#w=9Sld-j&bJuH&bDBkC4tyEu$a!Hz^9poQ zXh|B{Lz@y$c~Dh-c>Lu{E-w;(X5oq%dk3miq?=EK``kg%9WltASy`U}hD)_q`u=DS zCpMx`10^lK&EyN}Xw2lQj`|ns$deo`$29MH0?TZsVuO)D2y40?+&efI(4-DmRCCr!Reb36`TmicM^JVTGTC8!7kB1oKOB}dsuXJ(NI8k8wUz99tXa%M4KI=6uIp^e7J6~0KFh-1YI?!AA zR8(*kGNurtr&*TQvfTG3VY|I*Vpr$C?3^WGoAVnRKVjvZ2V0v+Of~hq->l*>HC<-{ zg?iO224%h$j2yx_^7xK|KKtH-xHh2&3);>E{c(OF_IrlBl(R`>kC8|S^w%*H!X$hX zPw{@5zCaXsDt0Q~fE1rrd^J35LZVM(i9;j?qbqx|(k}567IQx-DY+4};@AEf_6;4` zeC&_H-awH8;96?pKafQc0b)gP!!R@ z`lhdk4f4lEDKxzH$2zCQNzh9cr;YUSG@ z^_{4mVaHMkz~#3EGih-}dHquPC-!?=;Shq4lI@?KSN`vwO9&Z<6KIM^tL{3g4F|hn zu-_s?M55{{-}-FU49Kij+&__x*%ZB%b9U<69!)~Mn27zQ@y#J?BLn`=oL))GEPi$2 zMEJ<5*!xH6fy9v6(Qr_++2cLyv)S$*9-1RZzFz!PXdQ+{?j3nd?^@H{2_Ev5(KfsA zP=IK>^)*vA>Rm$vK3*-*@Sr1ttbZnd?2j{h+v_}Ap4?!=JL<3qo4qg~FcZ zHHxR7xNF;HcH95tH8L0%Nmx6hpe@YIQvk)SowM90#W(kF2R#QO5robc<0fMi=cpJN zZ3#c2;fy8eX_2QB(J|1l4!3l~E5(p3jPsyH&9Yfv)Hs99i8PC8f72~f?>!%n2t!)+ zKZ}~iC16WR#N5PE6%z{{^GixdJhXDNRQ;p}?J6XVqot<%iyatDzDp?LHCs$a8}d2K z%(5J_Y#h43pdfKhEiga7GPrt0dbF&Y#Lo@JCk3MpSDHp&T3zguo;k@$3egvjrJK+z zDfm7_T8{fIR0N6akDJj_TKJR0Ti%QpQHq_@b+7dxO&O13N4uk4$jSl*3$Y9SiAR>K zvK9g!GGi4Lq(p(%P+G!)gf@PKyf;aBNL=;RA0-|jO;z!t-CBi|hPx)bKb}_W6RQD( z0{m`XQ^iC;k5+P$y7X|B^|gDQ{s`_dq_Vn*REk5C3)B9u)so_ROxYDmsGQ4^*x74D zL2NW`_@-I{Jg~e^45^qU#Y?Bb+;_nlx;66%5pjSiZz!8NRkehb`S+yrq#UyHg3_4P z`i}B;@E6j3r{v^MeL-wFnJXrl4J%gglkpmn(BDcDRY;&!k?Y)`WGyY0yX)!TQ3!}K z7N^qjvk5Z4YwGX~DF zpgclr^EJY}5WLT!ibe5Bg^|Xo#3wSPoR3Oyss?01Q&Myv?KbrN1xHy!l$0OEp^=7* z7@50Vf%Nh&xw)&=VDf&!v}rHJn}<-uIK?MQJxfFo@Idkdn9LOZ4pOX34=A1XzMr~v zHo`9Qr^gEhucJ*2(oEi9qX(M2|TmP^R zA|QlxBz)r%bYa8dX=`KU<0Hy| zW(ve?&YUY958B?f7MQI$k7dg`PSkHQ7yQ*$w97sxt0sOFVRD>IXDK9|LMZ8Av+ie> z3r=uIk$^+xkrjt2{d4(9@Es;c+)X&@R=)fv>JKo+Fl8$^ELoR&nIw-gt+RNZ6Pr~|<`N8dz z4QXItL+ZS;Q198J=ku$@VH$QG%Nm%R%=B}rNbH-t`u(=4cli_`SknD@CY_)t22fF= z19$~NDU*vYi!)%6KqV5O%+ljTNVwE*E*#w&Qp9l-5n0}{HQX}gVN-5<+j9dSEsrAs zncy89NZNNQ#s$wz-88Y9`B%C^I!kw;VWlF|I?}^N!q!<$^Vv>E+DS*=U0B6s3r{aW z^AnX+#_(#Z3#o7daxYWY6lpaZ2U8KNKviymzKVpgw*CyjqzZ^pY+AZ8{j_P&K~)-5Q{D8S(B{4qEKv|FFF{j($QRcbZ*Ovcs|pa;#MjGC2t0eKzqwA`#% z<+&Bw#yu4yxa^$VrW^}G6M|yEt=-Icnz6#<#<^}k!yGy{qh{>-J}tq0-Or_XD~QhB zw*K_1h?XPKmlqdkJoaTlE!cb92Owq?dlFMk3R5c9TRBbQ_DSKppxqHfiYEvG=sydt z7%yW0PSnu@U^G4!w^oFz`k=!kC>ur(o{f_@)Pt{pMrs^*&u^euBwOB)Yf=VXH#xLL z2%ClS4W$N|qRjoW5y|I3$Vkq?K-8;Q-t&BQV@^wa*<95u6Xg-%d+`!@ysF&q-mXDHIQVKaf4>7vChLh1 zR~Gy9L(M(3WJ>lNsII1;#MSwxvF_BDMgwwvl8c2OSwoIv6$lics8-DTXF2HKra@|Q zMAA4+K#+(Hkdm`qL-Vu=Q;LXiEMIO}7XptS#kDdQ9pc{NjF_Pr)&3S(Z)}D@VNC=I z;?SUOAYVPbK?8*u#H+|7ZR7k7y{Eef0pb`A(2@eXzt8{U*Kh|uBCVZnq`eNV6^`vL zW&BJ0-<;qtS8WN0k1j~PR$H>>{{q_h#fz8X;gOk)`LL~9#sh>6=;xfC8jdm^SUrL* z>FU^@RP{Y&cG7%gbi_{@uv2OE4GhHm2D;ZU1Jb8%QiUp9gzmw5*D!P6x-V<7-KH1X z8?>6oPhkiQK@tl=J*Fym9(X6)kru+D(Ht@)x&T+VVbmPRa4*w9LB$6-E&ZIFIdk|x zY>yp}W1)LAh-_{#=4wrR|3GVSKRFw4|MdPLTbsbhUg({BXDN76jMzt#SbTr&lu1-U z#b)kAxI(a1c|4RC>B11#TP+6?stcjRg|ZwQrda3>u`n8+*5>HuhdnuIuYLwhJ*8+%R{P zmMBPJnwkcvf;3?!xWx$)TDSR0RJZN~1OyN-Ngy+GYf&ljR?|9&a)8qn0GN3U*9K>W zjBvc6g9F~mJHLXFk94&sibW!jC)rmLR(ar?2G@iH1_;4xXsTMX8u__-zpz+gksbHV zVmd?-p!OY3?~8`S|5o?x3(7f}R`STmM`Lnh)I?W5$C2SL!1fb`=9z#TY{ue#E_?T^ zFrs_?q670T;f`t8>KkZEy&*z_a$_{oBbGhPTG;VBho5l)iJ3TnFS85+B#p#C6SnM_ z+rYF!*ry<<=fbBoar<@;#WWSJARt9dmd;l=l&&Lw1`EZtP6x|jhVN9sANSi5f)Exn zd;u@sF93@^gWQ6F+WGNKRK@YNHmA8aJF1D3yeLx$100G zrz!il>uzwP(V#yIJ~>b>Y?AzS4j+awAqcs#5%9ytpd8YQDbKPoK5q(c5Q4YY-|4bN zvDXf1UG4@siX&H4-VAJ!iW=xp&|@%oxvpub;iK)wO2xj;h~|$mqpv<5Z}Cv7?0ijZ zg0(Pz2XJvx0as8Q7yCxcH;d7^w#3F=B5@K}@%^5tMWEH;QBxWP80ub3MaMJML_zQ5 z(oBBQa{p)=uGg*iS-RJW`xTTThby<{pnM4SYUU%y`eB1_lF4q>P5c^e{z{25&JA%v z*^FGs_sYGrpM>NrUM2i!uHni|xBb#liy;V~p7H|$QEYsZAaL?1Y?aanSEUt}jGdd5F|0VdzHyT7oL7Ln0)WQmzB^Gm|l$*qJ% zq}gwYVgLcSR)W3VE%9h(V@`zyeqvKy)Rw^3h+wLS4DBB#zaYEqGIIt9{IZ`zLFhMQ zh|$Dt4p~IIiRLQfD$b>rTbj z@GR+UwxZJoAMW&r6T+&CId#P>U`+^%121q{?f67(B2OSL1cpcGt%Z8KF|B^41;3(- zxM@(9W_0_hi@=qmu*u-EGDP(11G_O#?EP=GqvDwK{W4VQ`YgI7wDkjHk9$Qm@M~Sc zj3!P)X#^I_2t~So37!YH#;nSo^9+|_$JJ|Bf@{>bI`UkVZcM-y^fDc>55ZWCp1%AO z*Fd2FXtU4wR~mkW4iV6JY*q21y%%h=U)A?t3~yB8(T$^q6J{#=^t&F)00uf3#uPA! z)`&2lM#uYyg%_v>*GBn(6NSn;tJw{|kjtToK5IfxZNYjNRMAIJ+nNp{L+yVQ%O6$U zVGA25w&G%uS$Y2xr}KmhSv7wvWh%uka4zu;wLO+k)ajFWsi6Fn!_wXUocLoIUf~@o ze6AE-zB*xkB*LHpH}$BPnCV(WMoPtlU2_c-uKy$Z|A$@x_K-lQ@iAs|hv-@(VQUqO zl>w7BiO1N647=>3*OG1B?*@t>rC?_)e8G|wyw4Xv7~Piw-VS4zC>FYDyj!ISL2otl z?z&BVUyYUV|LwlxUvT8#?mMGS{(e;XV;vtv7j5JZdJ9`pb>i}6oGb{I0f`1kK(QSL zq#wA#lUe+DEN3(edJ5SNz6FuSZU1nVHjlflo7KvT^4bJl9r0c@(0`=05BxW7J7iON zU`i$?T2K$8>0*bN-9iz6p;Ja21BlfGuMPiy_ZlHoGHigWmR2WGfECZ|EIO?V4!ExaF;e@Mqmv9X9u#(eNbm+^#u{rSj0L_S3K6iZj& zwH;P1FWQit@YY<&H`W*LPfU4@+>k65$4`FOTr3u4*B`%6;!T`_{cnEdS~LohWq^aO z#I|Z2)43fgL^8O@#F^lO-BbZIRw;9ZSSi9^xbPI>-|?9(j<4ig%)ytgL}_FvZ@4(q z;2zfj{T*x|BYqXsU68~fmz854s0!G=Bp8zprb~$?>nJpqlu6h#fy9@_ zfjK_RoMW=4pn1s(3hk}oG;!i)6HYM6cdzfh?CqV@B}KD$-BHz7F0iGI1fL1o*N=vh zp;F!y74is+-9XdhJ4ua`G5JD{#Jtw&6S}6wr3Bx#yUnW-i6^7Ge%Y%AED4f&Mv!ff zDj%B43Yg7^`<5M)OWZ|C?Cs=0!0M%~%UazZSn-8f?2=ikf$vX%%LB94FEJ!eUEO$i5#^UyCDGwhXcp3RYc` zF%%^5!^cEp@5?M}^6&UTOFnjfNy=nBbcY0waHU`a7Y4V`{kI&}jxzn5)FM<+eW$CS zVirCFNADL^?!6xY=(xaGFdkF5)~ADvBtf5X&W92;A%3JY1hXzy)wkx5 zFMqupIXI7;PEV(dDTfMe7^5L)B&(R1P7NphL`>RUAJ#iynij!6LBzq~mr z2mY*)rTHm286Q`JBGBZD* zYQ!R|15+I;eipn7y3y_nHMV?oWF%J|o+IO!a|~cWN0NIq2{q=l|I^?bHwgFB#rz<$ z{0ju`@s_#YDg9U4RFSr^1y31gL=Qh+{PeTcvHBA$MP#BFb+PF@;wFJV7NtG>%zk%N ziZWJu5R7_n3;kbp#B#oB`BA^o&6<701#^vXt%5quUFl%0?|<0m*v7hE%h%gt2)|0d zV~U^^cBiNi4DvzF2q_-~Vekfau;%+-cOnJ?POD#lBEtz2`5aNQG9Cj^CF84h=SP9&7~roLq4Yof z4if&H?A&bHbxg!$t)wiI?bN{qS^iN*Mi%c&IjJ4i#}JnbJ(Bu-?|s(HctCit9whXOt(NQg zKxRRO{0CU&*0j9eC(c;;aPji1n zt+n9)?PtC!T=-W`#i_`LVLAnPVm>{{t{xOTuK$}fYSs2NVNeK2a{P!24k#Zk_ly|Y z{4R}NepZZ?oOcVrI(Z1cPUJV(=|OI=xtt1T@JnQ#T$`?uGqaIy^BJl2w62i9v_Ydzj>A^e!Ebn{~m%>Sb_JmL_mE8Qyjs6R8ICm%) ztIugnX99yCdaeJdEmKES1}D{jVviS;NBkS;_q7y*VY!A214;e6VJI<9Qw$ABs9-$I zXHG?={`6{Xa)*7LH?RaWD#{~_gg6r;*Y;U+qP!w=GG*8^CqO9@oqcqr2z|AfW1SLs zqfn~r62WWqZ}l0ybeI>t{`}I@aHj>)7%lGi2eN#rf#_Vz-@#hh$ocpnN)U(<#qt{J4J#Z^z7dA$VB;oR(Qh>%1gpkj4&7wB2BObYz}DMVWmiL;Dn zYj-qaqqWUI;f|0(xCI#;H^K#?bXL2)sh6BPRzGjx$5k2Fa8Y@%Ei z$~h_XIRg{1zyjyy!t6zwct3W zK&>De%Bhy4tj?0SlNikc@EbAG!8idbGN-y65f)D|IE(Xr>2Gx}$In?eBP$4W0s;Kj z6PJjSqT}3z(h-v-&T&%J_x|QwndZ-+x;%HtFLuasU#5_o>9iiV#x>F3aHO=U!UxX} z#3N{u;*(mu%&Fc9n}87RZzLWiFQ-^aCmthLeH3OUh#A#qzD7DwJ>S{tEoM*JkyRui z2S(aY<_FFZv*yizN0jc>SmP5^Tr?!q4?N5aK&e!s&A4z36~UQs_!YE;(~f_HPhcq; z*3RU+>6j3t>BqFqDI@he$t6^5(0{W+ofv|$aQbbYlC9b`oks#*cww0x=>#2`SBMR} z4>%;84HIa-0H+;|p2r8tQTe^?;oAIMg>&c25G0vZVHsYzMgkr;&#cuTHa<{<3Z7;8 zBmFrDs02UZ|EgIX+n zoxI)Lx}g+|JI%+x*`TC*wUNS(@j^k+lW~Mi%4-6NeL4*cnLwc&JK1A z=eCx0R7-iJ%4|LGIoy0CB#pr$2YY_r6BU@#qjKyA1^2=M#m-IG(!Hx*WdYvX_ThL= z8(<33QW_SgaG?1F37ugKV(Lqow?s*S==kMsu3VT;{2>)3!f{ zqrvgUW8gsaDiVlrSuExoZN>h&q)t~`oOFz`u3bXd7)*KN$3sB;mF=QY_pHc11$s7>ln zB$2&Rbqi^!RUElu99v_~&zw zT_(1E07%mGPYe0(2mc}K`lq@0-v%Yf54Y^kuT%Xwe zJ_ZyZ{G-uOXp157&TW0<&?EZL%wK5qSCRkOmrOR|$1Nqx;5%o)r%C_pVuDPxcd?y= zOYY0(VM9m{?e84tzM@fY)_-<#Mrt{XAF>~jyix|SCFef>u6yG)uT>61bMdr5JfAes z;J9je=k}5n@je*Wf2!N`7eG9V-qQ*d-}k}byTKNs3k#Dx&v?5Yn&wj#4%WEUgLrz| z@OkxFd-^;xh`J-^rPl4KHHwHcjsD}%Vc_AjMC7`K`XW4Qp~I1ap~id6NbDG_(qjFA zFFYQ<-q2g!L)Z(Kj5)@>d@>;46=lpvlO+G@!?e}(eVV$#S;;z6Q5%W7FIj5)QCQjI zbk^S^EK{%@VaXT3^;E8a$j;47@6M8RyAXE5&b7Qgz&B3^sSQ__)jVI=5%cw8GV9h? zjf@Gmg7S}sFQDJ!PZ=@X%{PW;$(~ugftsePFNXh3xjGs*+;gJqMpc%}zCvk|NLM?X~sA-JIUT4eOYBC){T@((q?-(Tz8n0u%WM${wqh z-kZ-}o^SU#zkKn(-uQ+@&m$wed!LZWqnT8m=!MkIUJET|hal~tOuV}9Oi}iTSZA~d zz~jl3q`jH)d+STQGq_y{r}LIMy^K1b+tj@3@psT)B;oi_Sl)P~?|5AKE%-rO^@aFV zkX%}~zaI%)q_dvo1aw-%1XTN?e=UUk6|??w-r-?-Gf>qBD=m0}!^v$~2+4*P^y--1 z<0;px9obuy`L&wD;_F+1?IiXmKs9*uO|0)34_FxiyVB~wyWUGEW#q*fp)^`zVtJDc zknEnybTi!{(MA5I=-0M*{9|T!rNsj-&tKrv)SBAi^iWUCHx&3ki7n~OI%crzODU3q9TQoMgb%CN)Zfz7+=X9?x27MeVfg2C&zi;E^U z5`2F$HT!qDiz(koT+8Gsfx5qSwO#UA57dFT=Oh}#J8L|m`A@#?w;|PXDlmS6#IJ+J zu>w&<(7x~Ql4|SK2ey9)JQB>rc~@p7|TVKPFP z=%vk-=oluU-+%ouH3!H+{bKhmbpXA?A}-Uo`}#^tX~HgPagG|8~K00PSYa|A0=C$vIE zswLzw+tWvP`AWRv@yE9{RQ~su^!z{QbuM>D{tEn058Jc~ar96g@5j+`+DqTv-z4N8 z51ivHi|)N&E(ZnpBBnGBI7i6v9`^G1zUFa#>8=pdCua?`?YLaqG}@>1eE`{92J?qj z7TylS44{aM=&POBHxX^s< z!mfMq3g-h#=$dP|FA^qwSSpE=q1X0ISFTEbQjmM z)81^^<|2$wiSoUC2%`?8dm4_c>U_AGEf5TjB(l@xS$mlaEt;dqTnUEU@OfV2*zkIt z9FU136yf&U+&7M$XLgYzP^E)^V0`Z!IZ zbkU4?hTuotjR9iGgUI!hR!~%s0mM$J{}Z91FvXxDdd9|(HlY2+5rT!=ygk>~;w8x# zXej*#x2@?>+IG3Br?DjRLp2R*?VQpDe;(s+v6y0} zSQx>m@2z56o>GA~TW-`E${=od#{^Sc9VSw`tce(h07kYf z&RlMa>F`Enr@;fwq-lIY%6!FNb(<_oF`d6K?ay>y1bz4aJS|{cMSa(YYZB35Zw`E{Ckawisg1bvpmBakRm~rav!{#~tCl&5f1RdMHutMR%Jbr_a)zqW z?9n7>&|)HxKm(yjy-X?vDt>5SH8~V{T86?UFEnq8W;QHLbmA3C$W2HZSV5^qGj(aZ zlsDMG24bYo<)dClcbie6_ucjF+$WmZiWPG!n*bgd68bUuMLMii`JCcUi#gn!HhM%s zzhKVlpX??Xo;Sz}SKD*gm z^<$9RMe#K5*5(~Whjc}-wInPsx!o`x@K;16;J1e?{cf@mtnS;Pkd1RsP)JOjc3ql8 zK=zuvtXw40P1&(l#H|_(5XYkCz$uX}^QIlrvR{g#;my3`2ht;!CL0`!MWobeZnsa% zYHfaW>c8pRmh%7^JPMMEro9Ej=22(y;_qtW^E>96apFq)Q7^AkptGkpskX3&8>(;} z;$It&5OOhSXyc^2-(t_?#z~S$Mk#;&zVUyXWzNF-jNIGQ7(*FI;BRXXLC6+dl;j_* z`R0zBB}Ef3RcCpXUL@obn325ByPS&73a9kV+D#W-(g~?|4DVFd)qW1@6*|)zbeSWn zX`0=sx1OUmtnjhbBzX6?p~^_|JK7#~-3T?bw$P_}7qw^jvhc8%+2)gy{y=GsGsB6L zvxnPo*A)}0*UprA2uZuUGqe>s*eOYA>}a|_jzRz^e+5*pr$vbSvmTrDDysJKWf#u| zrO4PPMkY?{G*pyOIZFCRt0c+QN_elXA{=kR;vW*1$0@wZES@$7F@3J`JIF8M2UL8$ zxqPLx`4t?uNxJI zA&kxTZX2qyVU}ZmTtb}JZworJ12Q{rIS-L2*C|7Rdry0ED%@uvmT~v#J|K^oVdpT@ z^NRx_5>(O}eEKO>v6CFyz~|E4pAAN7nF6y9n|lS%x-uw% z=?gNjCW3_|@1~9vytF+2t)|;JLEub$j2+dH)hjWys})DUZ{N!I8?;?RA6oB{Ry89FiaK1h!sQy-$ED|lZ1&gMvjSg^ z1u#O6o$>N;*LQS2?WKM!fg$75e}s4TFn!DP0Nw`wG4?Ve%D!Z*_4{vTzgBejQ zMA%R0_fo5&bq`XjE5HMoFu%hMa_B4D$MqZ3EG2F5d`FB?24R#eAImQz%ZK)zF=kW0 z*C^LIWC6nN%K7jSTU4HyD92P646W=(zk$a9bjr9%s;u~=RR}ghFIbMjP$dKcSdPqx zmBmF|A828!B6LX>I@f>BX=+=W(%#?&1zx2RRz|-MzN@t`Nvv6emWPS<(p_#PB;1x> zHP98YK&d619JWJ28;K|UII4{hQYYe1lBL`9DSqU<;ovNs@FW8?fh(BD-mORxi>Ie$ zzrnc61CALLarMnuRCUQO24DF0R!UA&yM{PLP$Xmg(WCDcD``ir-B!``B`0R(>bN#O zMV4Y`jzDbQqJjI}@!}5R32um%udlkU9flq?Kyujud8PWb;XKHH+eX{R-Q9hulLsi6 z6ER@z`7n$-YjJy*wWsUcJ$&#YD3a4Ybf1b;_9{hhBc_DzyW{;|@OOx~&GJ3pEn7EcME%=fZ|6NH=KXmyvL;j^Wv=TaO67iwadNBSB@c)Tl|_aN3faPEYGLKM-)0$;J}}=ROm!9FKu9W4BqN3NDo5 z9;v=>9pJh3F>!J4y?Q1l{{-_UE382d#fzQbp9u&d?uXr1UL$ z1Tw`Em9I5DtOH<$O1sR;s^%H+9*v%dPb=I&{3 z9W9gW+MD)&ZBZH8nvnYaS9QRi7%mS%63TPQJpsN~XUGyQNb{4S=eu2PV@XYArKY)1 zTO82|kNy4TFKyv|kn?@$*+$DXYo%H9m(#((K@^{RO?!d;w;o8kVDh88=$1@FPXX^^ z2Swob_UBj@Q`GZk{vvfWpX>B0E%k)=bBS3 zZ$46g*)O|)KO5@!k=A~o(8=v}{@4Hbizar`~C)UeJyWfzCC=uA>jQ!Tw*BTWq-0I7<}Kq zZ;#t~Z?o?6aJ}S-cZFoVH}`JGQqT1=|2TtvKEOt~y0S5R_Pjayw)NBpdTBybQS$uz z&2ajDwy6rayKcwz!|JbXE9Bc!k~7Dx^k?)Xa^&w=vmVb6Ve6ORRfEYJPw@iRa>q9< zK98}_ukq@TbVj;?c8ipSDLR(V_MlUoY{iiuL z4_XJ8ch4fmji}kITgvCz zOzFWZ_jF!_P>Dsa+bx$@KKlz>C1Ufyu4q8`1_)0;8yH!m0W*OZCpTRe`80NJM&hfThZ)yjMYxKPwe-=J$=T z^POP>L667U)39C%>|5KQ>%2({NAENg{H`y%MI7Z zD%eIy9Szg%H5T;K=RK!ej?a<&2#HGnK9zs!Uo{H~`9>o4T`Z+j zAqI;{;;+@)=?(~fd}6p-+zA0s?#KEBmbFP%Wpkfgz0%W{$9KG&MEhOjQ;8$8-6(YU zfHufyZ6CrBijUPs1pQL*^c18!Jt`Dvci(L~e!Pcnw|&j}yh^YD4S;^a$JzN#u=QRW zNX%R3{gm1IelpNC9x%Eeoz(j!_^bPk)XzHz>k2c7IdJ4j@O`N{d6CoWBGZTHqP;K^ zZ_R5Ft^jMZ8(8%@^VIj~?%sYoJ-J%Y{f(bnm({Opn;ualMPT~xRiy<9QgtRQ<3+TW zcd4h`Y?32YQ+W34Lpoctz_ahC!&D9P?nqpq?{}58edt1!qpTjM>AXJM?AF(vQ?zbu zgl~3Kdrz_5uTP*g9Wfn$`yqwwCAQxm#b=z9hUJrL*;%jzdGM4|PTdagz^5&`0`NHw zHI^)jW1%SqbXT5DUVA3`>yP=o%C^6V{M@F;yW48-?{@dEx&(V?!xvW42|Sd7yfr%8 zPOyUyLj^j{QFdGp{VirKhx(iE-wVI9Y=tvq9LNsKZ{PFY^49Ln zue7xOi{aKs%l~zV!XdK3=iq7CaDTA7pQTT@+PJA|fp>^Tg_IE$e!qR+|CpL}vF-De z(7i1BdkVscG1!CB8je|HMIH$Gbj(Nq>%0?eM(Y74$W3g_)4>e=EC44^_nrE8eykXu zT2MwG$_ak0LqY?I)qnDn6ypE>ZU{`DK7bP76>aZ;+%$eM74-U92-6GsNxcA?zGXPGz6?re30CQE&yz2m!RDX@Cx2M5Ea9yGQEwdB1Fq-3BaL z^Y2~Jazh#2eP#T;T_%DL7r6;WTBLkmx~Hf}d%2LP5h|ZGB<{{IXGB-iZ%#E4`GCPIucM%GL#w<`}Zq*%lA1`;puBat<6=H^A|BZLYH@0 zG;|Ea#h2H+7A#!=8E^0xB8L;v z{ISx=we5Kxz5Q|IW|#GS`YwAGq*8c7LSQ3u)R2r|&WZ(Rl*|)G4!Mbd8^UPq+`#+p z$jjZxowb~=(wgD`BATLU24>4I zy9!@>a`v?Zv%2f=U(>d`#GBS&lGr0A&{RNSFk|E*Wzx7#sS)Z}gn%EZPX&*g{85`M z(RskU_N35_@cm4`q+LI8kQiRYbIW1BY2fdrP{-}ndiS=|SL;R;!Xj2f)c8dS(BVFS zEzh=Y??O~zX4W&Ikc6+r5P2*tfgY}JPgEAFEK3)OW`9iQGs~1i;L8UfLx@RC00E z<#Tv-A4VQGMSC&Yj;$|!WMPj>6(>6d4u2(V*0P%~P0ivhU9#zPAz4ga_|Ajc!`Ik@%#qYE7_1AUL_Fw0n z`Z#QV&bXh1eay%9Z~~Kg8=>3!g9N0aZ7;X0bE3y>KTy^i!H*U9la#x2rr-IJ6b8N_ zL;@3kcSH|kp%Jn_o4%@jgNXR#H`-vdO-lH`UUK_~WAHmrbW1Q0Hu>FlvMg#~>dEeQ zhY4@h`2tc3eV3=R+iq1Y`{u|ts7%xOS{WdWI3FL-y7}vaT^>i2ZnhDwsgHer{sb;5 znzl99C4dac+m&&J7te-na;v{zXoHstC5y-&pLe%t#oAN_n6C$uCdKKic>LGXHNnw= z%wjXX4=1}OlCfExo^H-HmlvlArCOt@ji2$mZD>@}!J+)+xJepAx)*!r?RP3?l<2hb z!>vTm{4wQ2)~H-a$emjKSwfD^ZP-X|FfwxL@8%6L8j?bnsce{H?a$J+V&%0U+jzZirl$LOSv&-Wou5{3yyzcZqn#uPUdkc7Bs6`Iml}J)hEE$!@K89k_ zznjzH$a-eXYJD=C@-J=CvrxdljiBkdaF=|_C-URh;$i=Zi69gm;G2hqkj3Xd_j%jj zhl0>d^Z2qGL^#XyU{kO0dysg-*2{e_W5E*O{-sEg=DveQe$4qwbwui!yFRIcW$Q)# zxYkn)3JV|W@upZ(ANuMgQvp%Vd3dtrGwZUS^5f~WQSaSfBvOZz`kdX11O_X(=GcmF38mTx_6*gDu~QCoho2r z46cE}1Qv!<>P581~w)+Z3mkG<8{;1BoQr4BBFGPvkdNyP7Ntg&yX^ilD@9p zxGvE{fyj+B!^Q`9Le{E_=;L>8TueavC$L7iDyIr72{q__Mp=a-g1 zu->T@s$2j;`-l*j4-@CmGY|eC_D!0n?m8dp-2CHFnoe__cSjAkjrkJ;&1|x zfsKYk8Fi#Sd;FlkJ^oj`Jeo&ks0r#LnqjD4J z+B7eAZK4N&%lg|ZJq>Xa1T)ZtBcw7hQ^O$2_$Lg89zq}Xl&}V_^*;IINHK&+-(x^< zklTG*BRCvn0p$BBke|0W0}bNEM?+jnC+wGY&6((fR=@E-f;`<>Bl>^irBw95Y>QjF z-J_3DIr8@T0i+qv21Vb$y&K9lbzfTZ0>HaC44Tw(z3oVbzxf4-;j4zQgSgIJim1`_ zhvE5$Te-E;vnX? zmVTpGqx85sQITgb0qESWxNohDi)$c~SV00}=^zl$>3TQbE8{hlC5xk*eLTOjH&7_X z4`i(i*n$WlBTr*OGfyvW?|31NWRW01tcjp4^0Nh;_?-e6a^Rq`G>>L-tEtBWnP(_f z9}O=@BBqJRB8Q0|@(RIZU-1shS3asc*LR4RqC}A;o++ux7|ddz=V1woXlw2L6)V)p zYAmIZp<+xS+b@c%3AJGs$(})SbqNWG>}qW`h~Y$1l#2h*71BIcB}UU;P|vL(`^^i$ zsySu76^;&y>hHdKc50Jq47m$lphyAtPdXOf^VorB1IriX6r@E+}70- zj(0CwZ02cSV^YGy^rW>8P@u#xll1sb&YP^K2PGMFFyF-Hdlfv+j|zDin<m-RHNJrE;OBnR}ZG*h<5pd*`%cw-Baz`l^#cF};@*`O=mo@bs^qr%{$1 zsq$GA!Yd1gKt{k&Uz!NvN{$lm6;2$L%E*0wP=h+Y$n9=Z$HEz7h%V<`3c(^t+K89x zkaB5KeL!;`#zBm5_7N7k)`$uu@?tOPbb^MHV!IltigPm5aMIJ_5e0kHeOX?@d$AgA zsu(?Ps~?pV<;nARtKX4t#(C#w``H|^07pkO9<~kt5z|y_PC=5=<{b|!@L%i8stf%N zWn2ca#PA~UWvw$W>@a@(yu71fD6V~JL?>LVWD&A*idq%K#p>+1Sc>EtH08z#d_1r( zQIHV`K$D{ZUi->9wL~RB_WmmQiEAudN!bfr;7}_@^*Ludd39wip>!6e=C~$sgtu<0 zu*6NTfWiE%0!H9ojbg`QV&B zOa%AxdKeQg^EQ5v&xm_g343igVHKu;n!g}>@o*QjV*dPqRscYhAex0&xpY_4Ls+_K z8*hL#0@_YkDNi#JK3RoVJG!!*SGOCo?2R0XrfJi19XwKkQw>M9&t?UD`K^)7=|&@g zb!&l};_!6V6g0{8OG6GU6u;*t6PB1mqn=B8bQXfbtcHiEMPsBodHUFnB;=fo*mm*W zPknEda3^c)EyI6&M2ZQ6SA$z)lMTJ(oHw*PK7`(Cd$n``l1tQN9d=x956(}BY1Zy8 zf9xb&+$QREq#MyVG5BaX!Fw;UV}io!Jx%B6U^(Gp_N_ujCQAKOS-$HB8ka1xQ>h~> zTp>lfK)DCsisQojE;*Ag?0+@HbTxtm)*R(Y1&jsnV;3F2w@_&H6kP;c7BqELa&dD* zZXFLWH>wsTD`W~fP2Hy+hl5KF6>3kLa(^4{)2n(VhG#itx8g=lq*-L>YN9R8^CDe& z|0)nW=e^Vf^!1F&v2t8t>oYg8Jw-wr^$4?AcL*}EwvUG5q6OteL9i%gZ?Kd8R&W)( z{mzvu?10?q&PvM3OF7}n#>B2$4SffjWrXky|Kxr>CWw~x7j7NwAIU*{U-V{@KH1DPuquJcbt zNSPbyFl=+AJJH$~=}##yljd+9ydg2D9;L`q8yyuAvCf^sS5P zG!17UH|DwSdXKN*ZY!;Zp3Ti++?^cii1S89%i@gMWz?HItp%!fEw%Bet8;c4tJK>K zCIvOuAFtsZhY!QmmwbS2i1txW-zOAc)L`)leC!nHLLw4bl5%h{5`q_w z8&5O3UVSa#@V47H+VZ>#-MGR%QlB~CXi)UC5q>Nj0tyh_(rMSs6P zblimX0sSc9FX?a~tdP`Lnk^h?P*5fq7ACeoCIM%d)wtzyq+o+he%8|1Ev^e;sZ$A# zXOMDsRF|~F!*>ucqV%wWZXR*)Y0IIC;j8fDrl=YvwU&jE5Jd(pUR=Zujk1RJ#Q0^Tfg@gcQH7LTgf2Az{ zPM0@5S=EO$_QYyMkmSXuIjfcRX9)Zq;Cf!H#*25_0kFk1^!vzOztwlQ?*Gs zHVA@x2ie@h<;-CGGkB6aa$01uxp_kTi@8WR`Fvf+97q@hdP|1lg5#&r!(`BuIWODNDwPezP}FiajpVO7Ob8Ryi&yAL+Xq5gA+T1 zSEX=}0mMznQ!d(!#Y^NHO=Zmj@v z3{EuR#~tg=y#0B<_e|W;D!tNMPhm7w(XQX~;5s+u=*552`#}Kw7oVvY>XYMLofP&! zczbZCcZ&d8Q|ykzI!>1!oGWZ%%`Zno)TU#8A=D%5Z23oTM08>>g8Q8Rx21;^%niWC!KcjbMcYY)pU?ekr1E_nxK=*cxki z)9Hs3#*HjJO8SkY*-bbjjfIVsIfm}}x+0sIr=uRA3MF%$k2oh-pj#NmtJNR1$?N8% z6QjiqSR&&W7=<-7Ke5r3C+PgTbbV_^6pHjSsb6OPS56Ei@~B;NT^m*_);f0rxjC&! zhTs5p$=OpFzM_$)SpOLy+{sDKpF0bxL+5TM*|f`zowHfhq%N#*51~(3&M{!a(zsp| zDk*r__&`FONjfTr;wf2u-~hc8UV>7kMR0jm0n^x3Ph1|iw74m!F0UeY)?xmA#~=0S z1B~M05KLy}s&~JM&AT1*0-f3j2~uVS(OtMN<8rr~)_`*5fT z>EjiK{p;R&WyTbZ#C&L(pKX0^2^(pdop@=tW@q0DI%V8Ij8^5lc^`8pHD|rzPu3;O z1D4>rs=WuEP|ad4K&js2C%Is*K%2dJOFO9$-Q&rqEP9M?@uGC zm=>oG$WL~w@>U3d_v86@Gn3t^tS@ZVxRr{~!;4WPwo=H>8{JJl4A^QS#G7k_VTpMiCVL)vRsAgIH1>HDa z&flnH#~hIaH9Q=@1MCUX_N1EOyZGtgOPc>`Ky&8qKmEiniTb43Bht0PW&{nH0psN` zuUxxOY{O%vNbx4|C|CEDoG-?306KCPrb1Cr0%zR6{)7;E%OP|lyQPqu^q z&rbkvj0TKtr<~wRLViy^@aCVr@<6jEMc}nRu-d8~lc6Wyk4|NurtmLODis@M^XEz~ z`v!viiTcZPX%o^)ZIApPpO$#CEc}UCd{wpU=|h~aP{Wese8A2Z1KyYl_#;QcFzW*D z8?K>t%Ym7|=*$IPgCa?#)cf#0f)zCBlESN|7e7hGvE$s>2hl70GYM1(+^JiciQ`pkA@Co#va~e)&#IcYN)P>5YV;4d>2L4;Mzxp?1 zL8$*?Is308634eFzrzp$``jzpKdol{+Q(_?3UqQaX-%a^Bv91F?1?C-7o;j%Hx&yO z*&!p|_r{+WY(Im}39I;D6WhA6Gy3|5bK&NT*=V;tNO-TgMQt>KhHrImbGIEg!b(yA zKPGa{gJ&n56EVo~%DT~&I5d0_(+Nm3fhuhhUE?(W_Z?q$#Xdsd%tvtJAKZElTuy~P zA%KGee5wDlubzV6zcooWonraYkv1cUn(~C}yH!~Pf?d&nPqPTaWg9mw`PpbtM*%F_ zEKixR4B_Eiy+g$;pmm0(Wa)@JlZ1!&ia zF4D|2$(9szxtUP&cw3gmvnJpERLy ztN?&Wh~^MrV=Xl;coLY02_?j^`Q|0?kn&2?+ zZNmN{s4LfSc%y1AIk%*r!7P3#Q@Ho`p&7HZqMspe99D>`?kJaw(vJ+uaTj56Ob^{Z zb2G;~tfOlUv@>qQO`WGSn=EMf&S$V@w?Prrt#~ch0vs11!Dy{Yt^5mroKl&R54+XK zdKuFY+ODnU)6J>=3#m2cVK4odNx24gWMRly#_;kX?C$cl2HveUwY!bkkFfxbH#vo4 z(&F+m`w*rp`qC}k%!u%xm~dQdc%du=WDD<}rdCv%T2k5B`Bg{Bi4pEm@pZh2wJgm) z)hIPBZX4SWzQH-<*ObW6n;)ri!Kp*ljSu~}*UP-8KaP3APYz~Lmzhi8L6z1K;nA^G zlp^m)${kstlS zSJ~oYZj#B*-9bAt8iNwP;t+>1MMsWO+UWbcgMDpXp|2mSO=zb_%|k{GX#*fEC!>R#KtHQm?8e;xcn*1kog# z+gXZ9l_?Fki9f+w4|5NBq~UUM6!XmK++Smd`8bU!;+Yu)xX!Ed6tfaWnvNk-^o$cz zPM%|T-U{RVqPf45j*8PWKN0Gi8XC&KyO$@<6?HP{O%WM5cinumSLmzQn;7tp^H0@3 zKM`{+=%9{dL~s6c2+QuS!ZFH4b~X&8#N91e!Vhr|vz?mAqcqdE2a%PaVTU+x;?$|M z8A`5EX8;)AKjkT?T#Kez`~d*C`F(<|_6c_g!F0>_3wweiXoM_ETOVi!%BbBn1tJXCc&b;8>JcZpg}F^xrr8f=S)5uJju>`xMVbSCt7-NcOe*ydUAQUdAHMt~)#{~*0pcA9 zGUnb915wFC0x1B!`C0!-$1cvo+TQ|Dc^}@ecGnq`wX_E@~2$;%cu(P5yK> zcd^Qix&w?Q5jS>n7D z5hcjZDLXphoEfIi$W^kUVdrUac(lRo%dgDZ(!jzPf+phu3&`Jf_fGB zX30%yy8L@Kx2>P93>UOBgs*KF_F85Alj98epzAakOkM1g6luuYTEJ4cN#%>(5ML1E z!l|PzSLtWm6pS;;z&M7*qi$&Fp6k+M(B%T&>x>2b8bzgG&|YU$_q zo}>#ijd|g0Dim`{C{NtsKRwJ)`j-QV;_9IqnC{L|tfKhR@peqlUBl%HE@&X?iainq45!PsG@C^P4$qXZXTj@kRtBp}u zyK|j~3O&5~ax$-}+rzo1Myf?XkQ;=|`3)&bZ^U_Lb!BlJC>a2R~S(dN(^ z4B7d6cv}a_DM+7oFtO09_S;Y;w0!u4`1S*s$n(^C>=ax$e*6B;Is&^K%4boMqL-wf zX6O9CqHI7oJX=Rw7cc%++{CQ$veg%(eE>T=5J8|OeoquU}GPGNmysofnej&0o*dtK!m^W*Z;*Q^_*Wsn8QTz@JQ92KFckUZ0 zDwdS#u~mf`tdXz$xo1Lq@Tw~8s(Ps7;rEI*OV#;VhV{CGFJI;bvTyF%PthI&!t9@EbX(g!KQn2hs zP(N={lzID9KG$`>NK5r#8bpnz03nI+2&-iy<+5U)DnP_qr5uBEqACtVPrM`%5?AuX z+hw?AJBGbX9D;O|gTaUm4r2;*o$(k>#6l64+Y?!`a;#OWZuiRG|0GG)-ICJrP+pI4KU>s(zve8 z&AeeJ=~!|v`?7#adE_VprzqW8AilQbZlef`8D=;^A+u>N+BCh{)5*6%Zf)m39W0=; zL2=>lkj(7=4+?&oR{#-2Yf=H?klo#sr>@*(f|+xHEg?t#9~4Hl5iB7$++145J@h9#v8y!eosIEnK3vcF^%`UXeK3#UsaV^{;0CD7HfjI6b8a@Iv~2h1wva83Tp-X zkZZmF0W8q|oql_E#?Ui=XSlt`I;7&&k_ch77bZ;{6X5j_sK>k11=lIqydZdrarJgH zJ*J($bm)GUA&jFkO-@nz>0?AFOL|>CLRot#5hT(!x5(Z?t#tw1y^D87FC!nt^Rd4w z-Zf^(T-tK*@g|L9QB>s0&qw`3l+uo7EVmr-fybWOs2$jU`9LTIqS*HYp|P_?@qf?b zB_vrW=aXFbli%L^fIw9Ph?V}y_CaJ;vT8bif06^A5SZul?STH*7&rMN9bNy=+#h&n zC@I8(jW{sl|um?uu9o^I*$c4D~WvTXm za0JyQee(Ev=%|a|30CN5>wA90N;|rqrHEor`4bp>AO4peEpGbSmS1M)E%H{AGk=khe;5Clf z;@$b*R3Pv-gFs;NXZ5v#MN5U%HS}IPp=4H^z!GaLfNs&7L6UaQJ(X(q38Ho(7K=L8 zDfT`S_j^f+XI+;NX2roIVJ>EQyG_N%k8s8Nc$7Bk=}MFIv_FOv&mHYnThqJd(^P^<=wOS3}$#O*v`jUNw3`{t6|mD2lV=oBPCFYcCqla@|e@ygt&og z8w5+3Wp99BvmJD7_1#K&eP<;9f;pNBua!khiukrchR^=cV$_-loAG?<>S@;2a<_vxqfo>=IukrK1RpDyp#r2wa3O?2S#fZbIL-8m_at)G9x@=WM=>RpWs#G@A1#2 z>4aI$pQ7q7ZKI(taLcwH8xK-+c+BgH92PXxJ?BS_GoxxTixDU2c@37=cv-&lbh_<{ zj&E}=3JTNd`o8!4`KC^SGxuwazcpjTOqRwI`WZJ{F4-hjH*mjKQuA_Y_N$%T@CTMq z;FZP+E_Zyio1cU&TFuqHl$1#CA$+zd<_djBF21jc$v1 zI@h(SwohgrFn0Y{I;LIecgKB84y1FnJ6&PHd=Ps+DM0x z_0$`lFV~x~mEp_}mKqqUO-7|tSA0DoufYp0I>VRhqcIB@-H-=8MWwGPQJ z+kHAXrswZn9p#$`uU4v8jX80?@A%!U!$*L!;6xMujl6RQ09`HA2l!RfUHkbglZv%Z z=(-)wp9<@bX+5!42eyC^gd>Vg5zn_mJ)f70Wq^rVwt~aIW7C!fp2ux-KW3O98!`rJ zK-piq7#lZ*dG*45t;D8$6yvm3GV3Ig#wZM-Fsd=S(%yQ?3ChBXH88^EW9S^KTK~6O zR})!}L=!nYOZpq`U9~=(K4xhzG1j%)*fNvG56*=4GXYz#N8}UYsGvqUTqC(K4NbYy zr6_3W3F=6gPN(txC!T7>82kZ6?|RQsb0(uf+kOq^9|tfmT*(`e{nI?al&>*Qg}|ek zU!WL=^+OK1Jch^b@@+EXObIRUnL7v=okx#+ScPeqZ-YO%1Z?%_aP-|&KUMsPZ7g0~k1nw(b7I6OEoMsV zzhG_$dBSfoY+gk8!@byy0JPeKv;;YUD0&UjX@$yg^*@En`!1x^ zVT+RAR3C!$<|WgQmk+VciL9v!b81AGz_=;k2Y-JxkQQm$8AcbmpfWo*2YAW$`7>ET z(xuWUVKEwD z_+zgY7So&-hb<(HWgDIBHNGT=ebUamYh|q7wPtyBTB2`ITv&KeioypwMMrPG81|SX z7D)HI?N1uToTje+;T^7?$(wliM_^DKbH_(z+Fn%2SucgX!$@Y;IL>Y$S{XHs@a2k_ z&KveR$WjVDy^eAD1gVU1Kk*6hI7H&94?Qmp8T&|aL9BKCYLBbBMccA)YfyAxmv#LD z`Oqx_Q&Mn1oN->|PuC{5-(wP$0IT{xW}D_GHE9{#0Wd!ROc&SJjFy)Ac@FUHDZ^l& zds)FGobXCV1%(apzu9$-y^XD`a_~y_^gJ5H75gbN^>H4TwlO;;+bbgxJ6N-Rna*( zBrqbBCMtj~EJ*>RIr7bNvmrV8=L6@**AS+K#cv+aD66o;7z6h)Dt$e@#fR!CH%u#< zrPb;6>xzhtcE4)^Q_*QKFlh5JYE7J?mA+75XhvsyQ7AlrIolHb!?&(*V7RD_YVC`L^DbJYtI_kDj8DW==!cHfiOoR4Hno@10LJZbXQp- zvDF-SczUQSIq_UNID7ip8cTef@($OTVnaiq%$g^GC*&Dmz<(8BvGw%_f(Np`SbZql zCAUbYgm7%16JVpGqAoB?HKa8}56+5+i0p<_7|)cbc67Xq2Q#8!+o7`z|TCoUWDoD6hm}!B_?L)9^tFAwZ}X`w~I!`blwzVZmIH`m`Hy; z+PJLw{Tt-(3=FGVQ9B894;M43Z$`(cjt&5+ix3@oX@RG(UFVh)90#y7Rr41e~%>=IF7i|Htx`Xt�-2e03b3Cys^WN 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

%!-JA*x~iWizy5X#ZEui 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 Ti}CcslV9Nv5y~GQSibxp8#_~} literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001391536818.png b/docs/dli/umn/en-us_image_0000001391536818.png new file mode 100644 index 0000000000000000000000000000000000000000..533eaa80d5d289af3ee2499aef73a6aa2307cd5d GIT binary patch literal 106854 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%0D3pk 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001422601037.png b/docs/dli/umn/en-us_image_0000001422601037.png new file mode 100644 index 0000000000000000000000000000000000000000..3f125bab5b2ec04ca6996bd28dfe9920778ee627 GIT binary patch literal 126286 zcmV)qK$^daP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D|D{PpK~#8N?ETl1 z9Y=!Z3+_L#cIWoo5#6P_tGY)#+_kke+qZq#wSBv5w!1ddx~K2V?AXYzt}aap5CF9% zNPr-rH4+-BGm%yd5jwe2N2oKlc{tFKeKmP|j zVm1q#*xuX*_-{wr;z5bqvWxjmqpc!$OLV_$Z*Ov&cB!<3BCjuQ@1Q{CsO-)TQrp`| zQ(1bGq0&5_;eLLHeo`g+pDk`8y19j@+|WOTkuPo`$zw6Pk5UX8J3KDsd0~8u$LU`F zZtb3fZ2HIOASb_erEQ&N6v3bw*DVufa%-D@ZzIBsqS!%=E4~cI(yrT*-0^&Y>9=f4I&QmFSh5v&sr*>Eo4sT5ms0$cZb@;ox66+|x}8@U z7fXnyHxXv$h2lVvnILIDng-&`&?G%f@uCa^%CQVo{hi%2}rV@wmn zPBK0T#w*48m0&zltYfjv7VF&>(#((q3pJeFK_mrA+uI1nw-8G3e%G~3uj*u4b&}yJ zZ*#oam8Yg&?dGrS^13El`?^ncjn0=?HU+i;C8kAXW7p3|waN1;M_pt4BdPA&^}qbS zwU68G_LJ?VT#w%O+ShTlF&Q?dc_u{1b8H9Gxf0J?`%jYMD>st0&GfRa>71#j)MItO zqKdu+QoS|zI3=U@Xq)$_WbaGg6!RFo6?ik}2qWoifem8;=}Zw>HlDd08?-!OCtE_6 zJ#RWyL_C&5G@M5=!JD3qelE+Kmpy^54ad`LI5&~uO&%AN<%?|Wlh|Ox9?BOGXXBCL zjjj$QN%skc6=zt%dvkYz`ar(IyLmn4ZKDEXCSxGCmIiaoDCSAeHbK!}Zhgy~8$UU`ye zKE?Cwe3Gf$L-A5RB)P3)0@V!Tl3=*X6U8;F<7zC`a8i5l#%*=%IkvghPo2_s{ou)d}2c2h(WtZd~BS;rSNGvu&hm|IE+F6#Z;;lSTIuvi!6DgTx92n<^ z(!um8{&Ci?glv{YESKNgPtdmF&-5~VQaF=ED3u|!SnlI=mty!ShP|KSj6;;+$Cy`f zmDM9kF%ANzjPZkI%l!o7mS8%RKbGuc50sR6JkGL@rCCqtSC)RzxhY@O2^~){j#4b0 zGwII@(pV3yJmU2{7be9-c|OK_Rq;(S>^SdX$xesjk>EXI?Gs>lKSWp<5#GZQLXhB1 z;AR7xRKBfqkHTFrMPN$g5sk$Wi^X_$CL>A`#7UKOMjAW=RVo9b=^@#Unf^p!j#eB0sEUt7g4c0b+l;>6d1aX44Ky1q> z#GBoIurLrug4R8xyv_2yG!Jf!gYGrmb86gkyX}bToF4wtx@TA)tbN^os+SLBmzk7i z9h8z;-Q#TAjBP2AvC7oGcUAvY@2z`Sw)Rhqd~~%&Q%Z;s(h}T`MDqv)d5(|hF>Xgf>`WrOiKFaf;zgck z;~GvOq0WQ;$sd0*3lHJV6^X;g#v;N_CC1Jq%pN>Q_u*(3aRN?+Fcji7i3njVkViVC zCwaOdEcz2{ctV6XPX;+38w++GVfOlN`sInSla3UTiLw!kGCsUUe*4*|_;wXwOKzUn z8Ruk}4QDvRI1}EIf;75i!{#Ai`I!Dlmg!`N8I0%HQRJCcHjE5UVMIgR53$2%x{{1@ zm}!pD4shSa9%6(3gxP4Taf^iscrn6lf{hwGoJcrL_j&kvPH|HFf{a&~X^W}jWB3s& z%Ja&ADc(AB?l?SXLpHk-#-Vg&CI+d&MB*6(H<}c}~Dl4sRJkM2vZ+(GI~{IlLM1m^x04 zcm$b`>R6dvGuk0&dlcR@0;2dU?n;9JUUnE^mW|@MpL8y4%2IKrJElW%4l>SuK1_I{ zNwY8bGLXg_HBPvTsS{;~8&!GBf91tzNN#L*VdkA|mA#*3uj3KssibWm$w1P1xwFsN zeo3}}@=N*ek0hBE!U^j}Ol82lx1@TZbTUmb)+5?+rG?UY?FSf#0Mn|pTVblKST3q# zRFwCY9j3h>=RGG0-ok0#e*_(Y+LPc-w!lr&zQ9c*ZxKNf{Sz3(lW9H#7O`am8Et#} zv&3S5=s`u>ssp+oRK9WMU7T%D)PS2ngTO`Tim5&k;+TDAbXTKoF^$S`o7rGS;IwUn znjRv8agD$U@+`2Edx2h(d7*nl_m}RoEF+T^LwsCfQ3(F>;$5`I7CPa3%&>}0fJD75Ejm`!Q}Z!lASpH ziO4^~nh`sHDIF?dE4YcR2%nzACBmTKhEIolTHf>$hCGCakUEK1%y>hM8rUS;ny#qdyEQ$?yY&!XP0mKnU~^xUBT?Nz$Z?@WVKy z!c1#~on4UWi_sr;AR$6*m~a8ANNeSG@ zW_*&ir0dyE8~`HC)l7{hNaOZy?!&V zNN5YZl6vLF@+gP5;I0BOYqY~3WqO(Kg1k68*m8K2cw4q!W9bzW{bz@&ksX0@ zlzFH4YF|)rgxqbU*zOa4Qdj zbRSX~v7-z`c#aPQa<8(Cv0MeNf;0IoaE!2H)wUg`!jrVGI4eKm%=}1(_it(o0hWyb zZ9kR6o8V6SvOT=te0;bInmVKh6l-M1hA=Z~RVJ0ERKBlrR{buAH`yB9v7m>5A}Ha5 zo{zMsdZ2nvzU6V%ZGn|Ff<`7WKqeRylrdXO-SDyYDO;@7`fNByGo;p9$6l?VJ0O?sd$*#}dqAQ%_kA36`bq zVKYLm2NW~HraI2_5r}LEQ&|g+bkFJ`%zl_LqjQX#!cce#m804X)?<@j2KWS2tgEVP zsz>x!kf-!S=)b8m0ziftOC`o7&kxMHPL^ zq_!){`zDtw>_OY3@Kz34UzMKLJO*!WHZE@7pc@h!9}gP^4ApcC~PdFaX#TvDR$}t zt{fZxEMX|a>k{&V{uM(^gl8LD8*He2JWg=R5DE$*3*NT6uXAV&khvc#yFTxi03qtpw~hgSx^ThsbkP93O(g|g9$7<{g_|& zU}445+>#4pQ;X>88$(;yFxtC^josNhhQZM}j7~1{{4%EIoS2wd#rX6JuW`fS3Q=J= zHX>N}C$JIHh!GoPHQJiXq*r28h`<_%2@04-f`R1Y)4lcupvq&7ve~0;7Pzs4XZpQN zw;>=wIQDCVAc@=TR00GQmp2MeAWoa{@r2>_MKL|^M0fv$QCHu%v3mw4 z(Kj@0(l$J?h@puk^pDMBklPE+00Bj#W2}1wYd^tU9g91dg2O|9eG#nr!dTr1VZ|N7 z+=>_D%$Kp*)hB9nW(C7jOJ-ZwXcWr^#Hi+3F)S&Mj8F%qm< zU@3spYfjd4jgaa%^Et|lQDb5{Ugo*#m0&HXhaHs(A20%Z5Re4@aXu7f*qLk8&4SCK z2`|J>+KjAmU!!fx6I+U-;;J|Y7!NPQ@zP%#)NEL@rB|f(d^qh3+#LQi=GMYg2#c&o zOX~rXrvg&FnoaKlu3pVrHerKll@u@SYs5~Y+}>~;?m&>`9l(Y^$nt0XUU6b%at=e| zvlwOF9v)x72+Mhe;VB<i>wdrz0>IIpGDWeoZ0T^ zn_-<eN4ydE?8M_0U{bTC%~!Q(EW4i+C6g*>3$Q` z$yR(L%(DpFqWz@y$qoGnioRvigR6Nc$>w*b zcsvYL<@;Zyp4L1DZ);3|4R7mgeB5lHH1fv2fQ?WQ!@~|-yVQiEZ(YRM<99LMvx>RF z4cs`{gyXNA!P$2%qv3K3+*4lU30jV652~*;Mr`*W)N~`kn|TZ*}Z@} zXRFbAqaFUm5Hh@GvUdfyj@`wDgJ*E*$a$Q3<07g~)na~_jaTa&ZXdmg^RJ!5CvTj` z)oU#nUhwg0lHf(KN)q~_5ew@41WgYc8_CCp#~kzI(APYU3-4XQ(HD>5)7MVp+y|E# z$0oRzf=KxCm{Och)uZKV7kqPJ6bWz6K{xJwT8ocg`UIz6yMTLVnlRVvKrXn2iA9O*F1tux1TWM=hJ_H9gKPHB;aBE zB6^L(_&%yI<1d9+9(u*_b=oH12ndprvz+8bxF4050FC!`nws;?=i~;f?oB z;I+4ppzjGf{N#%G;`mvv03BctDQs{t&s zQ(kdL2|EcmeMy3yz$Za4BJA+|?26yGmAj3QMs}Fb1aeyemWeOA1rNc^9n8TM$QXIp z0r&}qx?$AdOXigwA!KPSz|MLZ<1-EnPcE_3W`|8%asBjM6+S+71s|Wjf=|v~!>J25 zaQ@0&T)kP3>-U;*gXz0=rx~~FIx#T5%s6QTZWBIsrUBOH0K=Sj2GKXVfUcogbPmp- zy?+WF%Ezuz+-vH_t-3a<^$F6sHq^EDVwm9TCLC$RDog;fMy>=wgf@19evLTOj^_zf z>_8WkF2dgs;aT<+L3?J!O@EfrEBKsVB1EiX)kU!M##tt-=pLBCG9e{N$PLjyPf(+7 z%rn-B5CJO4haznYT!O3{E&{JFnj{=1(LFqkfr$mUNYGtF6AWV-UILXTlBHy4m@n2S zu$Q3j4zp~i4Z@+HKw^WMk5D4%m_AMjGA!-O7U<2dhcP(qK>sAu#xfh?L&4a>I+olK zGo2xj;zd@}gPiVF9d~ZT356S&ns*ypeoV}&oTKKv-e&k2M{B!8h;*Zc4_saS zlPv!!w04gWG{;bXzZX?^8gYg9_vP!gxO%G|=da$yyC0p#!I$5~i-+IFvj<TY= ziMI1?$U1WvYnsI2zj*^M{O6bPG2!m|Cj`FsS)?|y2+v0eY1Mf4uV2ImzxWXIZ41b3 zurug$;^w;1~ zA2!BAxcgBpp8u-@`0!`Pu+p}I;%WiIH->TOuMgqbKYtDu_jkb_A8zUp=W+IXhshj+lJY}jZx!hY9Gd>>veebosaPf zq3zvcXYm>vXlUDs~*n>&XwL|7V|UBk$<6T?$Z0)_*FldHQT zMDh5@48d;6i&;Y3^s*mwju3$)LOW<|7vU_RI4fPd(!Q4<>khGl_GhRx)=8`zgf|PQ z2mt~GO4|ahrS%ZuYTm?YaDwngdzf&k_#Quf6(66uW_03g6;58biE~%);mWNB18&#v zw&3E823)UhH}TeJ67NUaRv6MeJKxU1S+w>N+6HEg+WTiv&wRYo(1qK~pW6)``|2ja z?HU2%UUN5w2yY&Ccv0RjLA^F7s09gcA&t6Ge!_}uTJZAeNABy}2XKebEY-I58Gp`S zufef1S8?L}bzD;1@3s!CE_VK0T-%j2ri4RX+!SOSMxAQk~>@@4q+3UD+y9u=|{RHv>+-vN?y@np< z{UGnHDfEvnu?&_OmTbc5goAM9H>1Z2*Sa^EFSHfDj%iAOrU&R=Ravch)0kTD@ZrdX zi8(jHbd6xTjultjTqE}?OZlT$xAP7!nmUHi-Zz1+!D+Phj`QJS64iXLxI}QXRYi!E z{oe6&c;U!9c<#_!c##ly_>B+oJVEYOZ5#7L5WC5TB?3Fk*UNJDMR@;(lDw}LQPQISwu7)IKXKM8^nkPL(1$WDAFfvWd!;nd-Ca16MRBXH#i zRqK5lX!@`b7oRzgn}@2fe0LGK;WWn14dL9+PGRtDAL0X1oPX{-PW*-eH7IP@M^_rIPqr!?K;}>LSV@BS%ZNAdnebrdr zV44PTSDLF67K}zW*>L*M+A~e~nm|L_C>mNv*yxWCW~y=It&i}=2Pg5tCl~P6ho|r= z0q*3*n`YEVqf50deYnZSU212?Frrbe=~Xu9s~BY`GdSr)4?C=`p#^pvbLbgfLhlGW zF?L{Ma~lM`de5zj$WautM z&|@bOBkb_JB)C$CtB!Y>V4;zy!O11YYt@W!jk1HeL#X=jINf2!{jplP4JatH4mKa00MI>V0mBHnoa4B`6}YVQv*-bM4u&l4gD5^m!HchzTh z^j^&cRfEI2qgT=+)9bk3Jx>2SP*r{30Gs@8>z}~%iU(868+)2{_zb`~{RsnYHo$EV z+&nRjyy;^ErePP}Bps6ka@vpPSr@ZgSR!0%#BE?|6$6C)o(bBsZp^t8d;p|Byg$9V z7g=|GEDI0gyvF!CLIt>(jt%ZRf_Y5xVPJU9$$Xk;+0S8oewF3Fgl59qwY!Zh*9O|n z1ocM3Tq{9!mHD7o&un~Imy{U_KyW+w+6OrN=12I|f!9o4MfKHfM)y|1}=MW^Ct7H8hO)%-w+!gf0$2JY;cnVhA5$EbvlSQp8FW@zjz9v=_GatCtI!^ zY%OnNcWi|E~D|S8l*-OSgf7LyZ`YW9R8~#xNztqTF$h<)#*ZU zzJ!IEdEEb?2~$_b(foEDIzMS6;AN5XY@@Kcjn0o-ap9RWSnpX!$p>VdTL$)C{j-BO z@zdkD@a9$2-03z?{(5byxpIjJ8<;3NHv*7{4T+m+ki2Sq2uw+y&-+ATk@9$hbB!*GO3Tuocti$I$dzEe1dCL18e1u~P$h^N$bXy}x<`SATT@r~md7 zbbi{2^h^c=*M{-Qug_qtb_&}Bx14tyS@$-UI#%)8e|imv|Lq}MdF?80esl*jeGWt! zzT&6~>TC%j zQiz?p=E`XFZDBox9>Sa8Nb%Bk-}r)w>j&(pK0a4vMya%YlrVRJ@OFir*yY=esJhq6 zPOS@Cr1R1HG&RQiwO`>`D-w0}Cd79sTnrT}o$T`xpUHaAl3MDX#=u0yi7D zY^c+|;ud3P7$Lw2-Yk%_M&AT(wghuNQkT+W1EBm-8EE^=)w_7_#Cg1N^b|q+EZ#YG z5pRBQp71uzvbNxJBc#`V41>_1*U|nM^Hm=Rsm`bl#dsgixCkNrCjJ6Um9xT8`A#mm zF{=4|^J^GiSjWt&cMslN8f_!MNt*L!L)w#MgIt7Vt&eTy)`Di#t#5*LXv&H12?zRT z+?XZUZwSiSrg#{~4aVC?P|-;E8ezr3G`W}#opTUQCkaKvbL$wMS;olhG9lB&_&RXE zXP9-B4{f`Ee(^>Bo8_|*NZvXaZfwQk&#`UZ1 znC26^o&r>g%%EqDvr@W!}lR8Wnc{d6nX*l$=@ zGOt=Sl0=QoZ=kMigiq?fp;j%6lj9CPD5rA>k$) z^jic5y&Akxs}8=G9mEs?X`UUXUXAM2={h?qcEF=67^JNcDvdsL)0RfrF>CZ;ZY6}J zwHQ|2Nizz!=FONVcr(|FH-S2$jc}F?y}r)O6YdCZlq--Uj987oIyVbQtd7qUDPUnO zgrVtGD?U`u*gU~!iO|%8V`r}6!_!yr(dny3CokQ`dBWR;8+C*>rme0MRd?HPv8s`A zpEq-$Y`{?`tIl0>_1b%9(AhtS*6t~^^-P=5#U|!qE#XHU`Q64YcHmuRv`^B0HILt{ zX~XTh4l{D8(ZHa9O`{fRK^9?+Y1e2_h|r+CutzmELRsU!k>z9iEBpGr7Mx-l-v3x5 zq^I%PdnfVw`)62wSJBAwG$WX%Q`HDbk$Fo~3lu-xL2`f&*n=@=_*_Xr2dK}|RUX0AGVwmtY zw%}wvSVm*lka^I!cJDr}GhJ2HEQ5v~lU}dpnDSom5ZnZ~dLRfgF9f}U42{SIH1ZqD zF(0OJ`qDi!&rNgRWS_ot*UWjlOaJaQ^|73LnTG=`pI$RMJ36;vMw*kGn!Rfze;D_B$I#0M7u}2$A1)HyE)d%EuyXcVHQpw?z3}RLc>d*g@#~k~ z#PhGbi>U@xpC z@yYoboW066Jy2lUd7rU-eQd)js_5G$^{<+9{jG(!XiTpi`6L<9D3+G#p!{1{9rxhX zU%ZbGUp$H6L==U!l6m!sHDKh*Fkbod!+7Pdj^OBjdKXpCUBpJmI(A&_C<$@rpFNL( zD}yMk7ExR(VS9sNOh<9%S7-3@UmV7{U!2Bs|F2)-?f>7KnCo;P8{I)}qlo$s>u~D1 zlW_L0A@3u+IZJ5zxDgkB^(j1EYbg2I-~`!7voq1tZk*R8*uV(hR2X~k#zw`!8_&f; zTS)u)w7ZhV`M0j(_@PtqOb1blu<#aR_~hU@9Qd=BaQ>I)@XDVa!P|fJIu>rtV*KJT z&J)_Eu8biyl0eO?cX9dGOlPAT!-Ut1FJ8f9?JV+yw_I=s#Rxm7F*nW-4r`CsBE6jE zxe_u=M?6d*X8iQJRGpbuof`99Uu9b0rp|GHZLmYqgmS&k8k%w9dM!KZ`Yt1DyA$^a zWcPc=(b6}8y7ob%#;y@`4$rbvTw&)Zu_Kz52oyYbUh`;fHQ>taX56^fZlrlX_E&kb zC4HSIyH~FockRLPRrCxka9>~X&7i$+9GwG`X3kC{!`2s?`oeRK;I`&X!A*Eu_hkuv zDZ*deXqg@T(ptiFbjuqtEV$UYd16Mh&H$D+B71Rd>K-*}?in*u++TU`6TCtAdFR-9 zym#y(-udu6?stxuIY^pAs8LOO{-EX_RX6sbrl}uy>j`R9Ejw)MSRc3hxUIQQ-Q4dr z^9VcorUnR#_1bL%FZeXMhnO941okJbWt=1Z2_Il^exd>CVW*~~Q2wlz!uyHnSV zo7H?!tm)jdRsQz~Yj^7Pv5H1U>4x`H56eqwn%0Lo&JboCL8GY^KSt*X!OH|Q$gl1oYl@TNI#QG!rR9i5*~mjs=hp1K@SeE14s>*w!a^8Ny{Yekec zwoq`C(0643@Bg>=(R02BV>d?e>CaA}>r5B&O9e9;b>f**Xgk-9f_oDs&o)Y4KDBi% z;n*)f!ACzkj>|_bDg0ocR2}kn+S*b#H+9Q*ieQDW)Z!vAOQLFw9hAU7mrKYHe?+n1X8iJ49>iB8SfoD z4#%VyS%T_#-x7|#bQ&N0@&qm&sltbUcN{PO^{Z$<(}|I)Q5^qo$IyGO2b;@VX!@`T zpZxR_thKD6i^op<>NIBWFQP;+D-a$_QDCNP9`F771E!-Ic~2hs(C!i=1iOev(DvX> zPwMQ94ZN|FWaDp-bUZ47+eTDh@NKbkS;U!ZHG4XBf4{-&G%2^%%yv1XdNQFjG(1!+)Ut>tz)&# z0-tW9>c(C|LMJXYGpJ?9;_$@bVkhtNXDD{G8!5~z z1u-&3_?>Xk-eBjdQ3(&>jc&v2fYnJ*?ns_--85e(F1n+;K$Bvpm|=$)$EDj%`0=j~ z<3IoGMf}Y#Uc%3xeHFiW?lm*%U+a2lBDk3=NNHP>&@WwYz~vi!5U8qWyz6k~W|R3) zK{exk2mujBZsDtvnG7OvgCPbla> z)twfzt#~Mp1h>K7oi?<9CGxszBB_|b1^kpQ^39ycSws$+Uc*a+s0w4R$j zG|zK)nEGn1d8g4V);X4qwspN#pLI^#c>`VVf6BJ+ght69=+jGgO!!ys-p7TT zZ0}gVbzckAtozt%3m)~~y4U$&nipg?+tWIQHwZhgJ$n?V-@A+}$8Te#ZU*gFdI>zo z(RH~O-hlwl9J+v02hYJX$i}&07O(#FeLVl4Ud4w;PT|^#dl+n-LhZ#?Tz>x!R(f36 z_5mBiUcB?GV|eGy^L$E8!tcqV?m`PbdG#EodX|t0v6FIUQGL7yum1Hx9R10=_~5_^ zoV`$oF^3+Iy*nn=%MQ8qvs!j)?-h>zbmgJZ9shHKG} z1fR_B-Ri{0?_R|e!7#H<;2VwN#7j)ep^K>gs1Yyx)giq6AKt*J=g;A7!s^X;?jSr7 zLr>KZ4*jP$@W#)N;`r-laP|CMEKRyF+q;Cfe)SH1^>2QKV~396(y?n8>X<<&pfAhV z0JEVKyvf$9A5A7kYFs}_gp`3xYbzjE7 z+cZ1x!SOW=j;&*K%0tL-W03i_NT{*b5mU#aZ3{#TX7pmwtr58dVJ>gda;>@zKY8{Q zqaXkB5PtlNgZK&UDt3N?q6eU2fs2+2Id`QR=dae7IG?$6*MO(KR25{^w+xw4M~%!i zwvCvP#RW&$d>y#xjF|2D)exFH#t3aUaO`9iPG7u7f2s*@w+Vy|gr+VtvLjogJ%R&$ zt!Q5_TaurG3r!T)hX{fnz1C9sIs9<~ft%pw#r%2*3$BovU$z!Z@w_^33*aO{xkhDf z65bT9J*uP;RK?%;Z|WH91RE-ATVE}gN#XO{)54oOiDb_W;I@723YlOFX zLe&hxtXz{UcR{-5e~r$v+$Yz$@5QPoW#GaZ9TKcrA5GYGU-eaCXs(^Yclrs31hzS6 zoM31H+#CT>b*miSRNu5cz34;tphi6x_aulDyeY4)>O&XSfoocBhEjgoqg8es6tB_w zbu%(1X|zkDUNx=#1keprF1CBc*V?xL%7Q0>TaL#|Xz3frJ0G7Tz+J*eXRhJc*($vE z$t4^=cN16dwG!BxaQ;RE0j|;58gY}Kx*zQO!!8R+Wg!?dBW=t(xzYWhuZML^vS97u zakG`~7(1!*gtNW_c~$sEwgr(YIBO7$ndw4ZF}?JqE|H z2Swi&h6!g{KEppBgL5j3nyL);@DUbbJU%kEir$_%cwK441I&x{ zJlbo9(R95VBP|oSeXYjn09gCUttB%Pu@a#w_eJrB&&P<2#1ZhMfkS@R# z&7f^)3TLiY<8;+Me0qfdcl9n#6X3eX7C=^_dp6)~tOc#g4?ioYwq<(>G#dms*>?zG z2i`b_Lj<;iuYZUmZym$SZ+?Wc1VX*~Z0#8{uRpbeOMGIbhwmQ{Q2>we-lj ztM>?Nrwq7#aN-P(esYdF&ua(Z^d_*p9%08y=wkZy+H`I?jFHI=j7@tny%5I4TmZw< zZUbf^LZ^XS#@C|`gYnmr63gBsR!F={bYpLyW5@Pi32T4*%**)6Ge_`?=U>6kpL?0$ z)W-a@zTnfmv>-bj?GH^ZnYdo8sxeC~*xR>i+YOYeGne!lRkol@ux10-(pr>hi4kb0 z@X1-;3j{dX$4_0yN1t9J6xJDFvtP#w+^*kkGvJ`>1Z*}4$}i=If%zCaR+g7K_+YjO zXDEiTMHePkm`6)449_{ZzYa$rfdK2YEH^12>Au*lzZ-f*$9vqte47`%={4;xz|F2kp}CjJQ-PaaoocBL zX<}}}OaZVL=e4HO$)BvYexUn659-d7t2H1i1T5AbUHA-f||B| zG;|H2wqpQwodo^%evHgJ8Aq!;?DEm|y2ce@oFW9uSk~OT{!{_217moX_s7vQSMb59 z%iO+z56@o1nW|b`){-~3n{i2BPZQ*1_lz%_`_;OiEotAD?h}t*gE9{K*+Au^+$iq? zjFX4)*LfW?U%68O0pG4)+BS=t^Im(BHZ-cpc8Iqk>)s~Q?7}-IF0$RZhZVm*P${t^ zWLzq$=vyW)?;HJ`;NJ&t-xTv0ym_*`Npl3BBpWQP{gc;d4WAlg1vc*b38pP;giF7a z5XvJSE+P@yBR5aX)PmtP!NeQj*MS4 zKpJOh?U!1NI!GYmh=v}UB>4$@SH*CgqOeu68*MljCnlHMG)cwIhF;&lvLOFn2V zB{qbnVG@rNJG%#O zF1_X?Xldk4qaZGSj-7ZI!xL_dPI)mkAH*mjZg6sqKo)1cQyg~~Kf;?jCd#R~Lj<<1aJ1po2|K(AZC{Xdn0c)yq!3s?d!OFy#e>? zyKtwr1GSn2U)P0e1cTn8c{tpJH$tqm=m=tYEo>Hijj%pwR8S)(9(M5lbdKqb657@= z?eq}fTo_$k!}zj`>5sDv1qiJB3D$eo6Mwpd;aR;lZNm*s=-+*1s#n2-<14!(kAk%a zwpHIPnI$54T$AlT3*O45*QJ_}ZzkIBLZA6yVAs!eU)sE8)+=VcDz>G4t#hWihxYns zve)R|tadKg;Ju+bDjBHYaS#0zv?*NeFMCs%T8Ut4HG&y|n*fgRCJ1y=0yxcevmO>Q zW{owy`tRt|2P)I(9-1>F$@Ta9af7g=wc~Eo(yqOa%l8`4H?_d}$96E0I0_(H@PS9pUT;JrXfix}bE!ht@l8(FeK*;+!$T}`~ zQ~M&|vL4ph7LvFu_!8KGZUk_aAG%)t3EtFBewOrb?_s{E4N`uz3{K(0b5*$8+J`lL z1VJ|yRrGC>enRux4R7q^e7rfm1Rf>GdJ@x6yEQ7Hujd3uTG5>C4?%?u2>~a<^VAfZQFq_F{ObZ$guP?R^f0KVZvdG*X!rE9 zHunY7?7+0-g4V~SG^aH;C9S&6-yaM<26Z0xRnf?QiK zJG?G5-0vow5Kst?HI41KOc?s;b)HwCJ^|ejZD6yfhM` z5tz|wEn4bgXTD+Vk=b?VBLzR}o;C8q`eN#!HS(r~T^;PXmYE5w1VY(2>O1kmYe(_x z!*Ao42VTd|Uw8$-e(4Rf4wimJz^wB{zcgP;Uu^b{&YR^qP7&ZPT(2R#-8IXoXzj2% z!dpY@AT>mg8zi8OLTgyr0HV2S((JMyS{V8C#k*#no9r{vg`2o`qZ;=J0QU%wHFd3K zTlV0{G*+BmIM)1dx&lUSPXxhmn)i`@@=R;G2{H=^@Mc*LL^0>sz`~l>*t3Ln$>9wf zHeoEhFgd@D z2}(arie5r@m%1VtqGXH`3O;P`%dG*R@&**5PHnU$sWt<{WYJ_2V2NZc!h= zxD$jyeMMU^A28^v+G&Q-JFJgtCaDQ@4^FUtkD#%o3wLXqar0h1u2!A~QBt)a6Ib?rUIZtfYv)bbkRrzJD8%wy&^73O|O$99j)_Q#Tp zR}8H^{k&h!5ctpGv#^P2iIB&gOD6^%lA`QTvY zqOxvvFkdA-SgO6M=-Vlk@qWjD8>DFkVLn_v`oV&>zli|%7`#1tvr4+5AChiz-tcO; zAC;L`Bp6{Qt)Gk0Zw~610Y2J#g{5UZw32wb0Az~#y-qeJY<$e>@p@gR%p`be{+;zI zM~#a*HG&7F-~QCEK3K09txjI^U^HqWccuX{0I1O>jXpg97c;3^ofh55Ut1IJUec?F85_&VT>+CzYiR5oM15Nin$#J!bfc|v!2E9F%9>WS zUemfw@(JlI#_x+ey&!gbAE+lLq~8e~{&_-*cT`^;%zx_Dvcn=%=531cKoarg?TA zi;K&cpI^k>+yYis+3|XO2!$eiXowTy6No2Ld~nGilgS~=1|yd*B3I0CgX09X;9R-Zke~hn3G75o8_nF#c}FTR+<+xtR`6 zm}#M8Z-fYJwDpr-LBf%KYgOyonb)|i*Sh~@Yd)UV5tA+HAW%ol_02#BZnC+wBWBViy%K zL#w*lzU(x6Cc~UOsxyO^#P5>PEL@8AdjFW3rq>6lX!6fqlbet_Y3f^_)m}e;wd;~7 z$b*FYXN;)YzdNwrnk7kj=?y|u(lMOkCcJpRPtGinCQ^JhmNoX+_qYV`J4gXOppY#g ze04`2QjSuAPOST>B#U#O&##%kKTgX!^khP>+>%A?D}xKP5BrWhA075O(ld(DjOj?k zsxA)J8Ni1_lhLg;XLX&uW{((J^Lb?=sterR`BPj1Rsgyu!dEo0J?`*m;)AB=(SM{o zxax$~d~`x1sknnQ_5Qb_y+N=)VYJFrDU1^7<4#Rq8~lk4yl4X!YHLvE;=;@8r_03- z<;F1e&P5fwG((#Bq@}xr{~V&0&hN#a_XR17YaccydBxCU@ZCXT2KLbZyeaxipjQ0R zR$eG!$6rQLB&UGVZO=RD4_~dCONJ=3!!fPqf@~O-Up&05mmyg__S+B6<5ci>mFR}C zk>-wItz>5lYD~Q`4CayL3cbq1J-n74c{qzlU>mIwExskW-nMFOCcvQm5&0)?j?!X% z=Gbq0Y3`;*q^e;JE()_n`bb|r6S2$2%4CHIUfMfr*hGYp;CZuX0yoT-V1}&FJMTW9 z=7%baue;~H@*kl-`O|bQ{}JY)$c(>Ub87&i{I%4iymkoS)ETFZXy9{ULd(V+hJ&Ny ziTKdsAbp#34JGOmCpTQVlcg)^pKy@^d>FC_<%te20Jls`OGBG6PlCRLw+|;U)v;09 zgCq&N!2ZlepSdBIA8$1>w>e8U=xY;)#DGgUDNQ;m}YMvbKzpHx|1 zuyk%2C89a&pWc0OhCb3qoqV4os(@M*Ac)==293?7)0DEydRlypxia^tVg@Uax1@Kc;k*HQA+HWt3SF>wy2BbZAUL@;eP)Uckvk zbHBa%w(m|Yn_xUkQ1}5P!Rz%Zp+ii=`x{d2gwOSje=mL&tRgX?L6GN@P7kZ9bT)CHE1%Zj*vPcXY3(%FJOAm6{vsF5>tbDPj9>b z9llWd#q7nRz&xl?Oc3j6&*Cs0!0Ingr>UifL`lcS^D#-_mBWGT7U|QEN*CP@dBUFw z4X9`2_alZiBB|$-6L+cVuZn~fZiZiJK991NQ|s+&`L_xv+k&XJ?$;L`|tz+|ODkZJl!X_kDVjBEAq+(mj)-Ju@J_u8s@rdf- zv*uzU!^%f3nY{c+e^8;jOV{ShrlMa7d4tJ|ebWq2s~pYB3(HjlB1XXcvFqnBC2+`b zogRGHP9f12Jk=>ez<+DErRh+M${qBBO_U`oWp=O5=nD)EKM&B|xvg?-e_YPaFkC#j zhz`E`sa$GK)Xt@W0(Fh0BBWI1x3k--7+1-{4Gi5VuUGFY;VY?EN6$a}Bf;i-a&cck z0g92qG%K+Y3vV_FBb}j~QG*L~@KQmtE4%jF-JhU;$J@9xtp~jFXU=!sy9>D`$UnRe=ee9u3vd$&H-U@0W z6K&Dcr&Fg09I2rjN{l{yj#|g(vn9nGM{eax ztHivG2HCpUZ6>`aZM2@tu%V#sU&laasAbj06-9pn3~g+`;5jG_>U5)4;%+s9~uM%P*%QRz1+a<}09WXTh^w?*7KNs{oB{ zB$22oCiIa86vQ0%~8{0Bu|rDuHb z@6ockOv|#DSn)M^wiFs_@0a&<@h)c^ye;>3y^N!;;<@s@Ey7D5*Eufq14!DFpiyFj zB3&7}-g}rfA?cGv&2S{9lKRa`-yfCsdT)!CC9qc=N-K_!T|9ZWhr}A?e0fI|FLL`w zV~M2rKYg4L$fg%(Q?OIjUOR3`=R0O9?3;Ha*V01lgIX_FNbM~Tr(ntl3HG(;|E?p= z;A=|@L1K+~f_Q2>spco4_S%h!oy8gu-Ip_0Tm=cca$b$#KTv#H@Lh8 z`Gg1U)R9ChWFBpfV-hQWI)G`@uQ>||_~>HtYB%3Ce7eL6jOjFbbs*ksB1=nX-9C$K z>(Y|#s2S4Gyt7NcFl3QN?Jk7qNxxTK$gM_#>7$I#alK_l7Seg;R2fbXwNo>cthxQ$ z9WD>I%1P78qp4d=u9vpRY=4Mm}|PcRg627eb%3S3N$`aiA1y%giGK)mnwpxR^iKo1~o_d*^eF z;jn#RYvD}1rU?~1MuY>kZWIlH+{Ohe7O5Je{Z!mr9P-&g(bGn&DZ2p*XO{0>RZb#5 z^OnldI!>3EiEkuYt%*X~A(y zfUGXboOGCodyp^fQjvxI*4Q|mxT|c!J)zLZgQPWZqd?pf9@CUX zGGd&})Rbd!bgtV`GqNH99WrP6*yu)4Ip3FO5p&IocTAwf8bFh>t)r2aDv

    X-l> zxyhlQ`-SM!1QS6l%az&f<8F9GUbGMXrvbw%`>`toN`IdZ>_%xq&vFa=M!Wcsyx{yp zD4~Uoa{H}mdiP&tLb<7}pRg>FAmw0{R&GPYLAI`8G^rt2{x1 z$|UogQuu$*$=wBXO(*RQoXqvOAgQ3U5 zm(rw_BEwcfO1(&4cIOj>9amL~E_0IeyD$2AW(#9Zk@B}hnosWTpWMCS zc_g8Imk?~bRL+caNWJ#^(>Ln$XJ0NLdsc!u49E4xi@GAZC)wfDEXHkpYU0e(8=LP< z$T4$MRa)~s+Ma9K8o}3Jir9>kYL5svt6k>sn}+9H`nbFdkXYc!+8*ugla@ zhfOP9WtvSQr|4&_r_F{QZleWJFfpf_?wG2krw2CA`nbiq7y+;0g@Bx`*wy+`t(^Vp z*eN_#e?0ni{9EK*vXNygPe`lpN_u1lv! zaLvqBG8jCg8dUx!`%QA1KsS0#M=4<&QX1p!pUTI0B}4NT%vFG6vfi^&6jfCbsSU1a zm>LVh7_stVMS(N{ced6Vg`R&w04-@%4X?YAKRV(cPKP)r9{%-oy!&!idohfAQE#!d z!gHg_y3%IXrA+xn{Zm(H-M=A7FanafFXZ}>gX;-)Nhn|OPuguQNV#;?l-`krkglN_ ztm0JoECW@VI&}l9Hi>F{yh2Ln5t74GCfFQm-b`(HOn(A=RDPJLK|o3 zi}Jf;%n3UYg%=d@^+t+m<__;#M#9p6$eNsc)~9A(n!7H94iRu#g$1V~8WK&#!U~6e zSLNwtVrfb@r))-`VMOS!jikuV=E(fc37L4)za&Ez+rm6g`d805y0?SkR~vC)G%{H8 z4*`^id5ch9HV?zI_f)8FK`*9vGeUE8Gby5FyqadxJ**~g?T>+;+yW`X?>CrH6(!M+ zvEKd!o9^Fr0=MNdwg&@%Y%2Buwee<1{CHp8N}7E$r!~vJa}l*=l1qGtJ$aTh6wtM> zkMWfpbw=y&Zp#cm>a}_9&x26C9H{H6dza5@=B9HNXP3_4R?f1+d1k@!x&4@%NEZll z-2BF?U8*}t$-r$qdirNee#ZNW6eY5_zH}Vt>lUUc7&B+3g?JIT2idYsov@(8uXV$A zAd0FE>Xqg&2a4gagG)5QOeNoo^OPPvODt|Xq%_hqYv`fSfUNj*@Oy8Q2JJc9>u$vW zgmLnNZhl^mHw``p)Aeyhs#_lxeQ5i@@GM$z6gi^_yw>vBeTA#44&k>Qqt0r4s#!^G zIL~yT(tQ4BT!lwZ2Xf2vea^VP`eA!MDeo3_SN3(-d_Z^ldX1?~%;9*~N^<{s#!nNm z#*&sgB)f1B;0aENbsx0!Ym^m3fIK4|ptSEMTb0UCBFx1n60sUceR=7T?=e{iTKbm{ z{e{NwcB7{0LmGqA*u16{_q@t6s-kS-?edyeb2BxAu|PTcSN^et<624YSXns`_Me{c z6z7|H9KJaa>@)Z#V{&ymx^_dFjdR>|r50r^3|po5@9=c{S$TEwOi5ckP8L<=-tlpu zIXKHnhmXox0f&WBZ7776P9k zM0qzJC&QxZZr&uTwy?^U_hY>K@YKxP6SL0{o9x7C@&)I$hY0s{N6`0Y?dTg$%_y?{ zv>vHlq0A@_V*dC)mtjZpe02)zlTIrFBi25=gFIUbbH;8mLC7aO`)s<03;8^buKq9_ zKTF+TlG1J3=%WVjhugFNPE91V;`d9_mJ;+(6~Q7C8$g4j!ZJ3C!eG!zrTXtmWo#f# z2Xy(V&tDVEM-VqM>hFuqBXt?>emwBsW_ml-;!XzUne z9ux8efUZ7sTwW5SBQ(_|QPAY1R@72!TS--CC}WU;rXjyKrWQ7DVrm*$|Jw~^c%7(z zx>I7e`@_BVa#?H8p)N<>!8z*ea?5ue8IYoRR_(UR_0}GK<_I?MImXSr?JYuY%jPnD zO-N{ojRl9p*9}1CnRB%ED&&Du$`m&YZz^+Rz*T8YKowd&5$8j1K|9B|yptU^yDGNa zlLNxmL*LXR71J`N?^Cf{18se&M>yvG^nq6`DDzglPD)HQwW-_wLEoCfuI*5k#c90l zp7u&Xa;i`7m!sY}Sd#fCZ`8{zjdKGRsQ{VkN_hD5OS=1A;id$H@D+e8Xt42iRKS0q=-_JWc#d)Z;R;dA>TtcCDG}pexNld|2@UiLed=mmzem$!`?|J z$$NARC%=_}WDyb2l+=1zc{R{*MV!yMP5N|xE--Y_c9gJ=4@FRt*Ah6QpHAs?IKaQ$ z;CsgP>!z$5d34vdW2AhYi{5hc zX!zCC_DVeKc+UnRZEcM{Z^$u_5}=gG&YM?<4MCW+s)=I$NL=vRH~W;6&NYRr`+TKn zgpsHlH%4ZMAu;;!Xi?Bn5k$M|BMFNB{Pwj-Y8wMW-b`}tG+My5ydfjkNVGDCd^wLc zrLF8)4tlrz3DbVm>_gv9*3#79{&C_RG}H(qB{w;)Me-i`3_PL^|6b5H{3dBnc=u5R z`les`X;o+~`)z)OZm~nn*x{$%YpdA0jhNB~pS%e=^9IwDyWPYpc;fd#SVi6GP1M>< z1hu;H^v~V>UG=oZf0r`~0T0E;`vqN3kBGPQ5BZ0m(SAS@3Pd^oT;s{7XG~{tXLl}z z_q^wGPrlmK-K9;MSQhng<(9tK?)~te zO;*~~L+y2|*S+WXmz#}3SyMRwjvr^(fLr3A^CS(+5a6q)^6K)H3%Re`nXzx`D_flM z>G}q;mOVV&@|ub%#edH1^POqy6W<&kE1$5k>-11SP3tb_V|+h%8w_@UR+SJ{*@>F+^p&#UfGNX8X777>jaWbh}xM+@Nqr1BrV>_trn&UE7U+RHHmc{XGElc5ap&pR_)V+c@p27Q*W)Ay(|y z!|Tk^ZFl69JUYKMTl%+(2rzt^YJ3sDyFws(2^zMee;d05e%xP$>A~gPlh=rM5EdSe z>EIVqKy9u_MMY)f=m^x*B%+|8Py>PNp*}u7-2D8ZEiJ+bghnwoI+|NwPXwzn>}&bD z8|}9{PG!*HJ-2Z4Z%xpD@wu_7$=t!=b$NMth@7AS2kATvR$EsWbav+K>fw=JSvmIm zSAH-O3_f_lanYa0Px@*7%TlmlB5<2PH4RpTYGOGRT+}K(yL>#jLP?BVb-g1bLXph1 zeB9$1fMo6`@fmJ38XHz4k`ZLi@qMlZkcq9pMl?C_V7O+^jyHD5M_#$u0 zJG74J0J05J_`xcRJYhycv~t-r6W$UiRP=!1)Pd436vmGQdo$paLX!_@pIXIf)+J;< z@(TwC)jz}r)o`*r+(0y{uMbySn~d0b zV7IaV*S)tO^!7Ep1sbaz{%YiPfZN=68~RvwnV6(_6!n<*BrOo>k~^0l3PkPS_k*74 zcZvkLcv}J&6$E#RSM)Nkx?6~U59q%((nVRl5)!+=Pdsl+#JJI75I@;p&Vu%` zk#Brod|6@s{sCZ(HuJb_Kcl3NAg?rEm17Tx)+PMi^UXr-8p&B#_`m+O=>G&YIV^Q% z{zP7`>562X$ddVGQE)pH<7e;?^p0xgo!?y25Gl8iSXi8-c<4>6e@H%!pTp&I_@L8c zVq&w?9Set1OV~w9)%ww$;y`w4dZ7OsDeUH9yboC;`2jY7;_>W3bQ-Eb(7$%bk*4){ z#wPg_20NX}GH+-9U&ha~M$4}41)OC3gvDQj-eRxPGqk3z$uKs4cZf9Iy$k8`8F%_I z&G13BnR8*rK=`2@=bK1T98H4`+&w?o z!6B`D^O!E-M^3iL=gAauPRFR zG4a$Kkbq4(ONU&YC_4!-rdV7z5!&0fa1=stAs1{B{#u}6(CSW3$FZt`|NX;Q`c5n^*% zV=R3R0F8E@7FnG{{h>F)K@z-{rCnmH`>;YkYm@zkA(fzcuYE;-0p4mvTgX3$7AA-3 zICy&PBZuiw9Nq9THJC$)AhNp7*S(gRA|A-r7*6JiGib{dZYi@4ME*86II*erk|JlN zE%UdZm}k$>Puxv(D%WDdadO}&J$c;&={GtoB%`(L?3tjg#1lt-`nF4D^j<*Pn;A@R zeS_2&8(#3GCXE>LTO1`4OuNhM)87|uOB|T1KM5}5^wTbKvnJ;j`NALOW^6h|Essjy zNebw=IB^!Qr{ZaHS8zJ!74rvWq>y5Q>zmz8QM6Nl&QIs~j>a@HnomOM6o}Kuk=4!~ z#LZi8<1e4ZZLtbcJ!O37gL>;_LHJTg&$&1A@#^3(p;!C%q5tsfz9PAI4P;fKP>H28 z_gVC34#QJZ+)F^tv(GHe^Os5J5Ie{iusV$APrbjyX?i5|6h^OD>Up_Zve)#nYs~Ux zZR6xge{8c_xvPR&*d)flwjk1}8+@468Y_7;ZUdVxl_?Dw+PBT@^28ie^$m){G?J4P z3%ilL#m~tU3;jyUL1EY`^G!4Wxp*SG53n)zyh!-~BLOI8t%xH&XYS0~E&5nLUz8mD zK)k^YpIV4k=hIAm!dDvbma@=NW{XaFS{nXJ7%tK(W{jA9Ds=E0mjVq?cbI036B zCH(GRtKcv(y;s3Uk`(tMr13ostZl5`ESel%4lo>0DK5x4tJ7VF zWr|#A8Z!)7-^80Z&&L!kIXCcg5UwXXcex{1;$V}}wYOkEjC85(%ejS8^7XP6iB@|{ zT57)?lFB(B9xyu^QT>i#6>s(^C%xkDuqio|F&y)oh4GuZxS*73MI+m)jSBYrns1B= z1ck}``X>9{w3Ecpz<_T$C6Aq*eP?90tc>MiuC!BWF0TC0oAQrqCG9bN;PFDOx#!ar zET+XYz-IHC)EtfIYIsdfoM@!A@XwPYN$_Bo0>5^_(56Rre*Cr z6pA}KHb$Ek$)5H1=PR~d}oVS4ewsQ6xp$c z)e8OVJs3uNi!0a|X2R7i_J_+D72-AUX|f1b%s?dAujp0PTqb5AnO+nwt5>%}F3w`V z8qctOMs)sVH+yezCIWUcz5+Kk2H)vusegK-tu;kDHM_ikTZ^W;R`bHYb8Otcio~&r^YroL`-vgSV<^H?(hr`5u>SZb>N;9;Fp z|CAIj`jF{&RL+B?sBx>&a^@{gMsYCMZGsmTj@~RD5+Cn;+ukEi#=8zo0|T|+*B(7L zfsozf{tb!rg9|mitdY~shl2!dAv~}(k9Xs}lP`@Rmb`2!L3?ji z1N&lMh-Ey_-;MABb7P%0e?Ja$?ve=Z=jV7;!4FDND^>jTKfss5s= z!c#4Q3bA}`@l@<-KWqD<8z%B%@*r*W!IxZAA_2IFhKA;JIM03|T0KnK)?UDrvEs=b zExy!n!;oEk^ zSk15vgxlMzM91Qo`kIl^(FIS&A-F4E_x6%htr}0Y7#Nq(+=hOvLX=6Kht4Pgslh}- zqDE3?vetkjRBAHHf@fe;=lRQBo{&Dxx9B+4)N0Sfp@KVcJ@#^!{b>eIF=`^ohq=-$ zplH@MFkH#iy)a(p!W$-GB{!3dwsk#|kC^MQycq1gEO_xiJm5&Zc&Ei-pCx^)SM=7A z^;GA7H=#AOi^jeT96c!Dl|G6ro%pqG?o#sQo6@y^g2qX}eDw?dA_wIoSj3M`K0|%| z-t%)r5$-K+_}!G(;(hw;v-G`_P_(C5=Wh7pPa3R`lD?AFYnoYE{12@U(?vI>d!mAY{x4T#WYi(*wc%6oRpJg%Ug+%w&81*gQuq1BvLg9CEz#%b62 z#l`Rn=i)U`Oh4fzU8u$TP-1Xl-|huZ6|0`nm)wA_sTnyIWPN0B4`fv#*!TBvE^dB| zfbLK|F^rtGPm+1jy3`C8pi0pYp%^X4bmK409@S`bbNq;)n5gqll1Gq$e%7Hq5z$IK z@{@Ety31d`Pv9Eobal1LzfpukI&1+3A8zLpfJSnJ*>eB^9YQBgO-1Ksk}FmM^$Je) z1{evQ9tcB|-~=Ao+vu~}@!Qv_h`?nR-_@F6LB9K+<=uT=1W-f1`23G$l+W-k>Ua>J zC{>Vkyb0>+e^(gG4&1cU-7}G3av@(OVaMI?b|V}}<98WPekSbyD3qR_{(4y+g%3H7 zkB28HHWv4P$uHYFtL=*5q6p)@x58lyW;8$^g|L!HP+T0GjDuj)v0mby|5nBG+dTf| z{rc5&JF~p(0NvIN2lvGuxj*(`%FQJ0J8Y>Bu$M{Ri zyF%?@6Mwh%^M%g#eS|!o0s8ufT-?GTq5ZZp`&gTQf47ccri^^L{mKK;jX5}=DDfte z+>S@mrE}#8(vG2!Kyzpt`1ZqJrJ~vV8(4HCIHY;(HNJ}_x8zQrYz}tflaUh6E%(&n zpiK(i$7AZ(4Gy_4&uI52ZBy`u*b^XAE5%y`NBJao%(G;lJgL%_@7TX!Mjc!$(2DHZCP^0*+M_p@^JdE%EHAL;utriC||EJJ_s;Rr`f4_c~ zoeVqbV8J%c2Nuh?R@+O2t!GMra<$=GRmaN0LNhuTMMyf-0r}^*;^N{#q__gVmK1<9 z3I`Z_b;}5b)qJV122ZGhRSPUPJHMKnoAWu<(bP1rO3E=bG(;l?GdDbu+z!nP_hd@R zSCjIaF{u$v+S04x7u>?>0x2vt-)=P_sXVj14lM@v=tER#Hs|F$4+Ren4oroz7?oO% zPfiL%CQZ95)7-IJeU>I?Mm*j4e?gx`${aKMw#$p1&ZZTX+ug`L{uweYtQ5i@tW*q* z1FFx;>+7R7ppkKdNY@cX2r;!_RV7o%6bPq}>FjuUez4*zL-b$} zB><}d%0Wy$Y2sK+WYh9#z)^sV2otD=-ifeASxMzj@R+R}TF~$bUq2=ZJSKEh(}r>W9T*##eKR||`YYpM@38(+ z-P6#p4z+V^wE97-UZMJLA%R3pdugArgk}FQ)>_J9IVR+$Qz&Bk9cb%6zM_Zy65A`W_u{`Q0rYIEv6BNxLN`i+8Yr0x*VIL9l{~n6rSF9t2%+1J8Lq)wFwgcKQi#DUIE|4omNABheQQ7e@hCw`I+Lnv2|>NHx0pvcPtOY?ZQki+tYQ2{K>)`@ey z`T^=muNzz*oK02!hq+)VHAEulzEetc0tdBSPxs8LY5JC z$=i>avy$SQ{(}!A{dp0{t1{z)@suS1T&5c!AiqfGh(c#r?k63;u1tfC0o;mv#CO{F z4onBGIIgzaI!I>%9{~cbI#BUxM$q$NYJn5KcQLFMg)gQR^Y7(>7L7K>))9eZV8-9- zDM7yyHQZ2WrFzYHtdXk+?yn{vVsXR1y%P#q<9}TI@`6EP9mB`D>`vy?m+lnspca8_ zd#3i4-olYx42Klwr+aNJZNqonhO&l!I5W9U6}mM#j}M+;(u>bE@Q|e?kynlsUYbUW zlZ>Tiiw|+V8P|%Rf{dynG+HCZv@k`5gABYWO+8SeHV;!N^xid8YEmm*d2y{a2FAM! zqJa#^Y}|i!4TW|NxLwYQPJXF(n4MW)cc#u?G3t;v0ZCaO^ZWv%8aA@Jsxlv85w0fa zy;UY$eVSnm+mv6_n&uvLmlPTrYAKToq}gq*6!xiacaL|TByIfsFRvB`%Th|& znZ?9F%|2dsWLOqRbKB&ju-T0|x^g3}*7Uyo>=Eh@`g*yg;@sFX7WCHs=djKlX}bOZ zeF{4*fdcJ;xzX*WJer35ttLiG-f2ZhO)YVd4>t6*9e)xfl?ubekxN!IWQdxEv9%+0AJ5F6+3aXY8j)^*>6(9d+MMu* zfcj#Qy&w^l_b;Ope3{<$V2z_)VcYh<0330@W6W5?XkR?c#Kf}Tvorq(&lkqa?V;G8 za#n!fORe{YVgpGL$;pDAIiX(2>lJfA-*~)W^3e8v6aa^XT}2B3$^@4|fr8{up}Q zbfM{oN}6I=t|&;XwlXm~KMk*FTgF8z8UCepWF}_$gf{C>Uzap9h|X2Gcfm<^{YzAj zY6O-yPsHs-1ZrdiYLtAKV7w~NTd(4)MdpjP%KK*R>9duuJLPl4KQK{#H4>U~$d!zk zg9XCphKNakW~q$LF+^KH9|5lE-GRMaY$K0eHpBOfyoYV%AE*RMKCD%?3yv~sBUbBw zF5kW}$W~)1QV&|a%LTLEk+rK)wb;nU@p8*op@8Rha)m?!T7`3CD6r)+UGvmxLNoF5 zUTfEKYd$vavBm$Xm3%C*5|4tzxYMDxakJT2?AW|+Tel?xVSmVac9|sR!y<;POb-$@ zId2bZhXuU)_^~gf@eg&oZI)1slwFAG^8#Wt)LrS-9w12L4%R5b(WELMX1&TpI1m}q z^M3OabNz2{(9*R|WaJb$)1M#~is2mj%8QR+sApT=WFc~lY6P%ikXUSKTRW^^S%&`3zH5m8DLd~zRd(Q zx5P6Kc>9v=pPLj6M%5xq0?`C8;-hy@a??rPLxI@arOFXYy6Nops{gBhXmYQaTu=rI zy3Oa{5U2_S5ljCxIX+sf_d&AmOTzgm@W%$AL$GtWXi202$oIVdNI4AJ+7R8bA zoinD^F_f@++>|W-O9i`DAwWS)WPWdos|sBt*5LEGw(T@V?tCecC+0#n0Mfd;nhYwG zrjcVFuWPKvV{v^R3fq0%&Yex+#yZ8p-I?IOBAxHU5Z3a+DKWtngilV6`&sr}5A@yK z?L#0!7kWFQ(45(Jy2JU7m`y_%@XB^TGE@oJg(7WZ?s-3~Y3$?ZNU|r{V;AN1lk?XP z_VhSfJ{D4Jiwy$|Q%lB>xkcv83k4x7&Hrf=YKMiZ+ZDiqnrfvv#SYKJJ?qa6MT4L# zZ$kcmq)Y}eP47$AvMwh)m4LMDaUtJvgh6WREkApeeO&DRTv35K<5*Pv?x3x+L5z+q zZpu#c{w9ia2EvU5?F1wRYy(aI1dMsihzTNRN`2nI3?hb2@SIPe4Z7rd&;HD*pJC|M zNGC4BiNykay#iRcF9DoBr;v;{ZX)Ia<_o(82`ET0BihiFEghQTqMTRh+0+X@9BNx- zPai7sVgUs~85V6QN!&b=g|zFNU9RolVjAh^bv3n?qPtsQ)2BY?7^qmpJ!3h*ZW^ZF z{g^q6D`NQV2Z|H#J2Y}Hj}VPF@7fDD^l|?^-^;wMDx{y^AxfpeGs{~Gu9d(;Ycn7_ zG8%MR6ETQo{z-gMj)!pgGMtn5aZg7SA7m#1=)jaoyNds#Eg=LZzbnKkOc^TZwoE}@ zpOW`uaRS`p8q>Mc&^1jQt>BGQ#vpsdAaYrzm3ZFBxi>BB=ah>_df8YE+`p_1>`m%| zPC;X_Q!h7yfJXptil>ACEMwThsdgu1u=?%l5g5Ku?MlPnszSrLU_WYWl`6vq2J7U1Yqm-D6+V72 z{mMGguvMeYa@1MJFuOnZp<|WJ;avtZ?dQ{rs{P{nUOf=~Z+2j<2x;$V1Z92)ZuF%H z_i|g;bXoiqI!k+;h1NX0iUBuatV}IHq0_L7|IC$vdx3n-i^mEz7o>_-C`E z{oygXubc;L=2*28?lkGr5lFt@pl#>i)FIW`hw+eDr*QF(`=;uJK*XbEg@SEpzeh+a zh=$g1Vs>>}&7l*HWAt$2=7?ffiw5hZo-GqMbEmh_L980akTSK%y~_U!sWb8sWaS}K z@RLgJ`@Knw_*@x9y9KTbzIak*%o>Drco{kCuUw`ZRd*cELWzHDDFzU#a~s8-iA|v| znRN@Imj3bAmJ|KG}{AQvY5#@)^j26u%{ zN5WtMSIng&24#TTwFWhcT7QpGvg|Z;n&D-;IQmgHlX%sdl0DaewtZXe4{+Di&?;r^PFC|xQVhtwuY8yC^)z8p&B}uTK*mF{|VXgy=T_AC@iyJ8)^BqK=g9HOJ za3FP8k=k_MBZJSS&uYN^U1HS^LJc!F7JXkSKG7XJ5QOOLys|0FmOhU0;#&hTH4CeM zH7CJNly>-lfz!Nyqa;{q-yYI5^~+1?bqlxfQNK-BBGNA3*NHlXf&7|a4bu!K`EMgO zA=OCs3WPG8BZb|bq!*uvF+Ka28CM{bWUM=wEwj+OgCx@>#B9({9`z-6&LRH{QxhXw zsEh_LFDNPxtqMVeHH+&-t;09L|5Z&(Qz2z{OB>2ud9c7Bfd~FvB-yNT+K=9| zdzm<&62ASW1`{=7dRt&u@wsT@LK1R|e6^HJ7f!7ntovf39~*xupJ_ifu;)$-4}}RW zMn*mUl-#c7;um4mBWkz(J!VuTyUx%gpf{wmOsv{(OlMd320=>o=Vd1uPiL;qLHR+g z17W&g#m_0zX1lh+v`e;Zg4fP;>;vV#j2P_Ww`u`CSZ;#JlfE9WZvJ^qI{Ba~YMNdU z1fy!Ww%HZjR-)yYJ>G1hC3iJ>q}Nx`n54|M?L@R_BtaOK@Dc6gWgo~8YT>fP_}M$8MPg_72-h7`@&>G&AW;kHk3Eu&P{z&P$car6zqk|&~k~o z$-NAt42g6`L#D1bMcuVxIO%Iek9EdrOGwsTE;_!%q?A_2w_@oYOa8NadM%VOA;)`) znn8<%8E!WZR0EcbwKhpn?ORXZf6r&XWsm*l9IuLq|N+}>~16q0&$zw}DgofCqEU@(f zhA1@1aZgKAh+j&tYTN*tE)H&0L$`~M7D&$w8v;x-;8*e?ek#=fiMTO1f~D-IOA z*gUsV7Bq3=`1UY&Vbi%OwaL!3G4_4_fWJb8NljkwM_~)(o<;k|wg(fpIB~C109ySk zuTdOJ?vD`{qIG{hdHjgsn$T*o6;AdAWvayMD7D_3h{ ze;FH_Nnk+WJJYtGyU?)xR3O95{Kull-<`PstHKtUb)F&Gfa^sssz0Luki(?p*Xi)5 z?WNgQeie$*`+UHwR4r0(m1FQEKuUTQ1I*)lU-%VzSy(h~yY(5LaiQ*=68sucVE4|T zva~3tyVYeo@(ZVmGx6)8tO9VTX*B_pE$Hh~!(&88Rk{%-yep9<;1X1(UnHy1x}|eQ zTwuGUMCT)5gJtDb`B?K551w$YpRxIOs85N6`Xfjnuu@9x&Vf>N?S^-I+svXnM(v{~ zTrb9~WF{tl93Ktzk<13uEO#!d5Hsiyh`AAi@;+OPu;)EtAfZ*5pG{{+$b+EZq&GZ# zUX;?Nr9Se^5%28`L4`_ajliJm`0aY?RgdstF^bj?tRCTyh@CAZ|Fn`}!?<{!@Ko3w zqZxC|RK_IX6!?wR0s|u4n?Y-g{XoJCQ1xqcK+epn`mY4Sau40J{hw;i^`D~7z3S01G|VC&A{4WwP6IaaYdXqMo~sCro!u&hQ=x`ktnf(%^)`9-{QR&y z@kwaxP#{tfdT=Uvp7>VJV{^)xLf%i)C1OclaEvp56dEa}v#@ zndAQ!O9d5F?fnt1nZ7WGo{U^&$*&AfM1K|~y(|%9F8`nvEG_9@U}<3QC3E(?(?e8} zmtYuaz%zgt#bO<@JQqFw!=~i3`Qu^0Q}vl{z?JUpVb`<$E9W5Y7#mCk!cPD;0U%5& zncbzDh+wXL@5RV+szH}Yty?U`NgWBo63@NVzqE^V;lt>D%ej{r^2c~od}d4mM~4oc z2qLk)=D&U2FyId9p#;lh_@8~Qmid@XtYdBF#J;tWI^-m3drkF~pn_c%F-fFi+$Cps z-b!#v=eYMSU$glh?D6u;hn~UQdgx2%@oAP=QO&TYS*Nl8J4md&lTnDjMxXZOyj3Ko^d;Hhy zopjU{Og3dyOnXc=m5>^)jlT0}Jl1-nVYzQnz1)hq8RLEYc&>A3P8-3W3?vQ)-t2!w z=kVhSzaQbaoDG{aYzyoJ3VI*FCJmV?FVb;b=RBvhsiby0kd{us_^UFh)bgfzaqCtR z-WVqB6QSP}iH^UyvW2^5=0Zz_ootCOY#kumHH~Se`ee>Nd#4J|D#Eskw(<^4&e_&jqqx%>F9Zx8Q%WH zLR}(%jd!_uS)8-pV3ak?*q+7EZrJ8T;89k!d2&VB?6%EP23h`XSXSKeN+s~`Io8_{ zsM{{Zrj#df^VnFA0zL@D_W*Un^h=?t{sQ%JCaMfd@?Iv zQYjS;>-hXzw@6;ucO)me0ro7>n(Tg)&mttJlwVjgq)SsvOiEOl=~BI-IzGL{d85p; zRMv@eTyh71F0)p6=>6~gT8THNS39~+!;k&LhYtoNU5)hB!ukSzAXFWV{iTiUO z&C|b$9^r6|$%~b5wic-=!k^u&BzGL7VN6`sQldos(HnTOL_Lagg2m*MqU}K}nDxV;b$p-}wLUWV|DnZqrhDUfABaIvah?=*51E9ms2f#=n+xeAZXwy3tp}2ku$m0}n(sZ}et0gC!?~ zWWU{?%UXC{kfd8IbvhGH467Jc6(P!}prpxR){3KssUpb(Q9t(^AGSGSbS~K&KsPA= z=nKT$jWgE%TbKHm5wN=DYrQZ#v_ghJ#kVunBHI_~idt)cn&uYYA^m2<#PBi)F9Q9M zWne#<9av3-;aa}c;Y}X>Ic2M?4FR}d>Q=4i8}sJ0v^D5aXo+17NS^ojN<5`0K6Uwu zMB#{&pc`pVO%9?x8~xB3CpAPVoBd|*gmf6xnxQG|NpMnP-v>LwdQjfzo3$=shn^IW zcyu@@!H*R zO&XKDMz%_YAgZlngKmU4X6i$0y9B3nJ{E~~#Z6=lW`0RgUMuCiIFFk-}-!W@q`hS0t1uuqX(9$Kl6ko#6 zCE4fK%C3NA#5uF&b8nY(Crf@V{gdton||ce4tle0XrfAZ?ejtqL zCC2V+?TS{_6r<>t#{GaLPtVYlD(j#mJ`;8o?V{MwY+P1}I9ExTYI!tp>RpP#g(a*9 zjvlO%2uxm5{fZZws&7=W&G0tA1-W}J$nV*fq!k=KxIq=ky=0hsg$@0zhO`-3yg{q- zaq`=*1eG;j+`9e;dybq$zTf?Is_v=+cEmTm5?z4{(Nt?*FCWffPrv>EghTIgUXZeY zkQ@$ZJ-~SL6<7^;jiP*qBO0JB_RQ9D2c4?@ryg+THr?ZDX`S$Bp5*9R@T~gTA zgP0}^yBLZh#@^aj0Y)wA1H^|_awNcDk${&R;Q+fb$iY;>nfX+~?M1fqiAuKgFjyqy zJg3t)Tc5%}CtG$7{DMx|VRr}HLDlaLFi}FJakbv+Tna5(p^oIKG$>q%@-stuO24^1 zLVsEzn$h8lRLj}uLy<*m2Z2Ku8&}u9bf`*I#L`E;Pi6e+Zl31qF&%m~Hg8F_I&)&& z_n;honW6Fx;m>}?I{=SGNdsr;|4s4LU&qy@3FE3B-ZyVH!cRvOLh)0P?2p%OUDPj= z&4x)?%v8r}A|hpKE5Q|Xg}WodD&LdGPVElHrNsa%Y$=o8i|%Cx5$ANz>1(uOoQ?wV z@_y__Yh(LCL9@JurWpob3F$)5cV~r5sXvB0)FdgBNzncdR5zi^R=8l2j{JJcGzmkR zf;?bvxhA|2-HyKzFw=@=mm9%HrIv=*p`CM?JAuR|)>l~Zv%kvt8)@HhC}iNs$7+3W zvz>#Ffbh*O=8dlOM0m;4Yki)HGMB3Rym!cSG}!vQAxyl-=LRp6&Y*b>+B)`eH@eh) z?yp*Wb_xcc-(Lna`?F(Tz*WnXusa0 zb?eMuUcTAliWS{He^&1B)wRm#c8I=0M*#7lu^x3^SGKI2DlPjR-O4%5?DvqU{kI@K zW}~)Vc>(sh-GOUgobiOWk$;%;Ys(0XMIa*sUy<1SS$aQbWE;Mfsg)b>XvUnOdl|3h-D{-$F6TJfXy zQ70P$lhZDK8kOkcE8?Qpgy9PPj&gaOA1z9L9;l(bLO93zfQ!`k)+JU&^&d{4*P=_J zovo$V$c~`CkJkmX>P|?5wH57RC8r3tKVg?wPN>HrATf+~4&T9YsH>6Eu*089!3Fw$ zsfYF&l9{sP`4`L1^H1bzpw<9db6#xYg?Xx8>w^2!#cR$EBg|o1-!8-*Is*;6*3u5| z-mdi8P$-Xwvq-B9uhw{;%S@4fXm2Q)9xbv8FD`~W6)+&B8{Q*-=!yC}l8;p7U zUPnXpRLYX#SU`?+gKKcQtkr-Ybbzc$BQ5wtznM-m$wqRB;bWpbb4=)1Ni4a_fP$^mG+ClJtQ!xJKS8M&( zmS3$j$xwadx;E?jPSXg+eU^7}dI@-vd2CVTWBqQU$Lm zim^olMiIM*KwHG@_tz1rLSHDG294*TdBhxWnzI870DtJRWC%NK3{SE1k*OH$fyGr# zF|@0IaG(l zuR6v)qv#Km4b*73dp#EM)i_)tf~a!!+)$jRI)fh%^oQ2`QaGNs4M80b_*0Zdn$-sT zMN6s0OB`2yPiOF;WVP|pG`VInNy%P7H5XiexDTV6U0Ig>9*PI*zT|{# zy)RB1#_k*wE(FVB&sCe(K5TP2bbuNFKG}9YqaCpK$5jwMEZuyb>{+U&DcYxL58fIH@rJ=?72H$Gktf&f)KqvT!`m(V?e481Q#Kz zF|ZlShFJ3BdEujQe#+wN^M?9=BU?Xi{>MQ>lxsa7$^JStH`rEbmz8>m04&yw7Mt+v%uuNX&Nb@TlhWY6vt_WTNq?zBa3akFD;3vTqWH|RoC;C=$&r+%;` z1OQcAgPmV&F5bhb%U(^`Rqv;|LXH7GD6VkdC)maIBu-a=XE$7A9@={!RR;GxaPN4! z@0NtITKQahVqQF3z%~HvwqiY57v4BaU2qYdmn|HJ+ZdlfayT?+>s$;@{P$%BkhlNb z9V6IQTJpSdF&6{yB6b#g5+y5Tcv{w}0(ix|Xj#4V-jm(~*rUJ)cdqWI_o-|k$i?TF zRATV6H#hJ;X8N*S?8}a;PiPYW#?|n$6+<$4k$2Y)Cs_bLhWveGg#-1+gR8hr$i-1O>a_Y4b-#r$gWipl>aL%`p8cdEdQrhkc6D z3weC%YQ_AB@oeuPRiBMw_exTekJffdTkzvqbPuHw6r1CP?GsRMU`zos#x7akV{*Xt zXp@cfUccuG`l|ii|5YLO%)B-wf(Tcb>T`Wq(iFOMRqO}Pb_4nyH|@6sZ@5~pUl6R> zUg90S-&Gyt80+{%JtB(r-;9e5&3^_4SQY?`?~=L)q2s`apnhOTk))U*KQN-`02sM& z@IsVL48#We=^O1V=NRp@<`@P%HcfhIuP(G*Wf!N1e%Up6aQ+$V0*2VJ$-Qpwbx_yByb?y{_k@qxc}78+;@cOq%Ol* zY(y}}bg;Td`~MMCoF;ZIo1Wj7`tjjzxU|%&ZRg?l+G3EU{F@)i-tXJvQYQ%&TrQ=O zx)6K8Tg>sqLd88a8ue}@h$gpeCkZ97^!%Ke>&E(p?;DK~onZt0)tYh|;I37vEv4dw z2f@NNVCmwrqk%M>^vL6}oj~cbV^P#|Gsk)2+;Ku>PKR@%3?}ln6?DE2XRpL74hs*dA-(!;cRqLLUUP)SUV*yvzVJ0k1P?%(@%15A zPs%&Jzf_;9x3}~bv}Ck#*#`))oG4|xce^6XRq=) z+B6Io;_q%{6J}~a7-cNf%gv}u2njfnR)oC$w2us3Gk0^SHaeTOws_itBV&YY>^mEt z?rKhbC0)E!TD&X)v{n7@p>2D8Q^nP1E?Y`jsXoNt^%)cYm73<#3sj)3FXEH^YNNNP zslTBV_RRy{gg5{M!oMr)KO5>-)^Syp*~{3P<18+J3ULbj;*qqnCgVSw;uls)DHXl~ zmawuWm#2zJset@0-;r+%OKEbm!iTLm5E5Su5p%OX?E+A+V#RzhjyEh|7Jr<)mNk z)1a};DhMZ8#iqW8{r8AXO6p;)n%_$~w#?m!{gujs^E^ z+`bM5(8!U(n(fd6^RTS;$)jZ{u99~l0Reo?PLxR{O!>o4zs5HM0ygZTtc%14%6KO? zfpQ^l?)iA@H5G%Wy9HxD0ZuSZlw-qixX#})fzV5qu0QEjo2vef)Q&c_8Q>fx`}KH9 zXR67Tuz%}AgvK<^7)JvTZc2L7KK+|HQwjl6O);DWfPy*T$G;c?M~WRt;Oj9;|EDCW z-4DAg#vuYd-Lzje4T`b+8DpL9P->*8Y5y#Z*@3Jl>>CDt#PbT-kPSIyx;?hJ3L@(DDul!_1h>{4Z!y@XHWh@cxt7{_$>LFwaHg51oF5AS44YPRpvAZS!7 zcpvLBghI{GnAOu)5gG{B+a)>F*Qyz_5{X?_8-zm-ff+kF>@$np7{U(XxHx#4y~F{$^rf4%`lK3>(&ps9|q zFDPPy|9Yr|-?5fRt=y-g&A8=vBbt4uBNd>_8;dbUZ}_1HVU{j;qw5FvT24s6TA)}* zShgPHics~_v8-elS<6Uu+Zdi zq)Qqj?Tk?T8hovdfWt&n-TEa&<`fxk0MX7>Eb7Le6ccZyt1X&gIpQ?Nr>vinW=tk{ zZkz!N{W$`q#b43gnFnc98p1?WnRxOD6`R zI>)4)u8(C_ef(8%4(;vdhlfF}2K{X5p~048 zmTg6R${)t5cG^QfBavzS<*#&#O^8si+t*s$w}h+o1ZDrN8C+j$x-f6=uQO!|dm@x5 z10&1Ii8*)#19gOhCv1Xo)jkORs;L4bb5>9AjJ3(9>9772=3RMmKRAx$ct7b@!5^cB%cmZ4Fa7$)C#d!u>yvv%f&$QAr|9=#! zs8qTp;_?|pV?U;miIJ3;nG;Hf&u45JAD zx0a2Y)7SrO?LM>0j`tk5e12KKytW7iVkKuN949>O{iQwmw|T_q3;rPux;rI^#u? zD2H9P%HuK>;(s)WCm}x_TuuPI>f~_g{at(*L-x;QbUM7>TEAr^6^c&IHk)t!NsD_+ zQ=m`z4}?D!cIMCc+!9HWy^{=f}1QTAzBBH2{?O#b8nhPVPNJ5bJ3z&$-;Ph$N}hr0eAp-c3dV2Fw9!qM1w>i=OO!d}0DSIbP5 zMO^K$#ANyo%c_iD4^heAM(b{$4+Qn+aeuJBf%m3xyokY_P8uz%Ec7JK7$No2uf->Y zTctb@iTZ=q2=(CEODS51$7|G_(;>Yud~E!0S$XelF!_Xth@0Ot@af{k75WT-Yf!ks zesJSsLyzd}xEHsO&jD^bJkaYN$iu=`z~3_~*_KpElX`=$Xj9BMqYw)E(1GP%YoOSX zkR+^O>Fy5O&jbadzWi_dYIM=Ea{`-$D|U)X<0~`lO)ssVvHkiGL=1=m=x|3TejPfW zrV`{e(j8YdyZzS~+A=&G4^DNFG$a|OQ>%T2_?{h)6}iY( z_h+U>WpmT}vw|%nC!W|lNu<5UnSvQ;TC~MN()W?;H%`;V{L1eIr$yP#wzJLBOi^`8 zz0kXAQkKB|w=3G01CnyrZYDwz$9}w-6|KR`x#W{Jn2h9AJDu9*?C)LDoT2K)2#odU zT#&I2748+v_XHrcVDAu{CSpHM7%~ zOug|*=Blk771q4c)?v(8`6p7=sN-~v2E_<>nSbkGmEYwadaP0J_a9Pd@JdQ4;B4^~ zJlbjzYl*nq$taI3jEft>ksH7#wpz#CAE&!I!o&tEJBlHC|L~EH4F6wA$oj9(!SZUI zrSF{(yR&DVl1eGnkIiBqZAw-lLvQag%dOQ%+>Tek=I{cl;HK{Z&|Vhq%mb*z`dEF| zHsX_SVX~|9q_;q(kx*Z6i!SFY$5obcXSR1$w=!VY2F#cj87lv{vj@$A;Xyy^qBTZ#^-`h6%f~p=YPyFSI!q0 z5kbX0k7cY!YhPHfIYdNViNmvmQX`zz(_XzXSTE*{bJ6XCPK;*nRG`dX9MIxZh1PjS zJ52|i$Wb^p&up>vfn*`AuJZ>99guD6zlP;a#y0z|tXOh4F>mXg(N*aKdjH8G+>7jX-XJ>FKn(Bi`Dw zgdRZT2zu}XtGD)$y&R4x^d5JOy;Pk^r+lESdhIS`v~P*Mm{nj%>7rj}aN6v@FIHpK z)J%MqXYh5mVCp$PQS7u?GdV}w)YP&_BO9n^6zjn-kKU>LOzg1v5YnRRN}Mf)^ps1J zF5gd#zH_~2-Qu{zdmV&;9$8=bnB-wPIxQ+GIK_WvD-xSqKG59}hLsn8wQ7>8JsTZe zsA=9mV&}2x0dvNLvB4Q1u)Cy>Z#hm;s};FeJlxA-|Bqdiw(sb+O1b#Y1SOd(i(1Hb zCO7yCl6^Ws@h9oECI3##zSZQ-vl?XkF2svkF1n+?31AhZYD#}?j)cPR|EL2k#ZK=x z_xCU?%Bu&P^c?X{BPX1Syx!5mL|Qz~x%U}{L08{-gNy{jl2@#BL_E<&m&hLTLo1Dl zGTfgOR#q16tM=nZiV8lO5WLRYSCUhGy&J zE>W}S;6Xn4L*>fGV%V^1s+Vzo3FX~OkIFkXVQeF3_$J3uj%qFNt~7=s^$($YMZF6J zpGs3N7l4b_zV{Yi>v)M>c(WIjN}k}&TA}oQ#$`2XLkmZ_d%-UUz8d3rv*|4S3{csu zG`FhZq>wbI^(`*@73o?Li~oxiQ$hb}-wFA_`>ncedsy(3*=`+(_&PLkyLIE$5~Snz z`xI;I%eN5dpLNO#I%CvYVPt#D?Fb)K@RRtUKMkV28Mj?Ch3i3a+SK=3yVTi;yX0P? z4wo$vZYAg5EUaAPI`R}NRzoXyiq`K4%Q}Qq_xN_YA`wkP?G-{5(xAjjigDRAX7)mr zJ}#Ig`8z6P^;tV%OmR-HzD2#FdC_&!lCtVQX2%toHu$4%l#WzEMo1g97lzlsr*4`X zXowj$MGpUAyHzLa&zAo~L=;~Uk>%BW%UMWG zoaC3?e@N82A#Au_N8WvrZ^EMQ=N1{>miv08UnbE8?m5YnY7(YQX7%nt%<-ZERX^@V z3Bf*i#H||lOSZV}a}UV|S6VkP4DU0fpIAAbLEWVg-tO=x#7KtBC zL#7h5c^5)?sVrODzu83kgJTE#>#_VUzY8sGCTn$y3; z*BeQ7gf{{bE}FL2Q_38mw+{Y)Hotk1pRU3#_P=a}vOo7Dw z;+o{``l=irs0mGLHL&VzedaH|#1Jvs=DXfAJx>w;R{q(*99)U!)&f#jE4$tu*Ry0% z2`#6suU{j_l4nzf7z{zo+CslDmF~9_gmR1w+)?8uPz4!R9a^6#ic@~sX=`cHMHM|7 zs_Q>%0(em3hdLoYJHJ*lU)sOa(=op~F~*o{1ouHxd?k;+?V5O)w&;lSbu2F)0Y zaEXD3HV^0Lf7x1Z&~v%fABJ39o}@y>UaC<=A-pd59EqunH@*DCUH_*5Qu~kN@sJ4j zWzUNWEipYpX0raYMdZG1S~PpxMAvtPklnadY{SoIQky+*6<<`u0^vRF`zNZpT{+w& z@e9L;W@DF6t{!U z`D_#LfkckNs??7=m=XT%_8g+!mpMv`r$@97 zr%n85%2G-DD8wTyD17;Oifz13SP1hO<1aFLv1jpc!CO_D+qX~REZ)>9L?6Snv@~(0 zRRiT5#Klv44cJrD?)KUhH8QR@3S&T_Hyh?M=_8St7oGQP+k=pejLJ^nebz`yT->i; z3r$uVqic>ALihi`j?ZotnC3OljoNN6Y+^$hY-f_=RpTTVda_o?shvl|qf4uoM-j4@ zlMy-F4_z3V6srUKUSuiJE;~Z-J6q^&w+Ar_xJ#L)CHQuW*^U>-=<+GB`O&XeUsrki zUz`i{W>|^e<%Si=7@0zs|6{F1Ff2o(gq)4*QV6=7Y_Hx@ zf#1Z;$UB+FX%+wBQ1Pdy=}1_!`itB37e`4WdYkbXJS59_w|y3Hu>-1f`WI?Hoy5#p zgj5CY@LkX8ibyM^-sSp6*GDcV3q5T0ri8zMp$Z+ar*gTWfWMs7f#_lR1|f%bam})R zTkqrMM{=8Fg%E}(gI)4|mPw4cQsrp?Lu=tTfFAh#_+Pp&avWREKeOCgu1zI*)cXn4RHSoweBJYhiDtQNz2PeeorsUv#7|tsVuykP#Oh86 zs~+%Pq+!E0M2u{3bAayr_KucBC6+{8PMmxFS^8Teuc-Fl4=L3>&B;B>YLsp#=7K3_ zxK%kP(iTzN$!}vGUR|v6a4tF=QLEuL0JL3GOsq;;QsYd79x0VK!`M3gjWdphV5bH0fO0l8>=Nx;MIgCq0s z4)4U70;5B1J*7S1UqrIP0sFbOOv87n3au}hp@iuFJWr8c`tNi47Vchs==0IOQNDaW z^fq61H*bg=EAaFt^|aUNi@^c(ypX4GkX{?t>wNJIv~n}Wy8s9V_8&|cb182pPs9d> z#Elhl@bUy)2*ZT+yias1q-oM)OWIBMacpg_`mXrlrlJ$wpQO;@zu`Z2B)^G`I{Jv4 zxQta=l^;(o`LIyJ@z@N<^()br;-Sg~L0n{VuMLfNEAz<8{U-hAfX@Jf+q9hJR%>a>(OSf>9`O}u9&9z= zCW*tLx>E8_t-|5U!e3{1+KK88M$E34DZaWNk1H!%@6UeRs~ai&K4QXYlS@jKJ{7-p zh`Y@8E}kzw$wp5q%!d%QO?NWk%k&gFtjtXQiUeC^9362qBzm-_RBo({j!*9VPrv_J zej(`E#N=0cGwt_X9MjaVi=gR>#U)b`UrbXi&`(uG4W4J~;Uo@{yLs{N9NN;~_yh;! zzHggmw1VQ8&GP>+O4G@mKSUNoLe+vDi^1zJ-@I1-Ah~*?lxm2#6|Q%^lHrccLJ8x{ zQV9}Qk7eG3L}w1nO~Fu6VlszL(Zigo0u{Rg3D;*G0d4ZzhOO??%CjVRhP*SCSU$x+ zRChB;nV9b-IWmQT$SBd-z1tqsuhL^F0Tr=g8HSpJ9dEatTO5b>PMmK~^n7PB=yzoC zfg5MRA+q8FBDzZPEstRzMzzOyhYv&3!_hcF9i8IWyqNF^@X$Z-6D3kNgnJ}AEm>a3 zO#0Va0IwDIv^XLb_jFG+wn`ZlgMCAJf<$CTts%?LuX5KRsF~3-HF=-#1C6q=fbro2ekg}LSOJn5GB7w+_j^LmTWwv!vWgAWkMaZKzpW|Jp>x}0)^Ka|%>`Xoqz0u`e znPwB&t@ZQjfc5UN4t(8RwXMPm=i;xi%mPwo$UF}H9Z=2%tP zSQB&cg7FRP)pukTxqk1+9u~Ic7bJI;#secemK!YJ)5kY+k7i(ho8|z>9M?f}K7Y{q zn(%M%8>rIwD2s3U4h1go4sH)8tY;GqNz-r{+Qks-xlx!h*cuia;07~h!$pfr#S}o@ zH_ZF`#jOX~ee+ykK35{(17>n)&})?+CC=#`z{%-5EoU=;7L{;ZuDNnNUC)sK_be4V zt})Ggo+N!d-#M{)6GPa14xEh7_b!YgNpfLv8aYGrCv13Z#t(bu9G87+H?KGn?BTs4 z^pGC2`$70tf8g*lo8fhd*bpeA+W3L7Iv>7}GJQWsJOkS?XTLNax`--azv2pp6un~q zG1+|xJA81-V8~+%I}8L#^-l9)7d2)BhMfBlt5pj}937OxPcbyTUP3f|uINExD!?3X zY=Wt8yik$*>lpSY5C)0&9sSU~t)d8=EV%0#T_)$5bWgrnA1Z3*^S}}*1|v@0bGl0F z?wNH0%0F^Ovq5>1Nr#IxxD{&RAEk}X zTf2u4YH#}OjiXabpu{&OEyRc5zHx9rMSs0GGbgstlLB+cgUAzvJ2}TQ&gTUQW2!5t z)m+TLOVr569S|Vqjo1n32=BW0@$CgZfphOKpx8fifXPUn?_0lO)>^$KRsY7|!leFs zrvG!WFUJQG%0fmmiWMh((mwuBWpE#luQf$oHB!|^s!~Fl`5L{eH0)?&aNWu0xSs*{ z)PZ_-M~!#iYqvn3^;hwTeGV?R#{f_wJ6M5O&w?0~CG+_V&N2zyxlp}0v49oWZ?0VU zVDSMDPFf%#-4PjoUWGb7#I9YB&n-`$`olj~+8;di`-{Z#pTW>~lP_CK4p)E|Y-RY& zlEXF53l%H0-+pr&3>SnwdbV79<^WPiy0|chM}e0@{I@x1n?1|O~E}8khZ+*!?`2Rvw=dGrKJtzNu{vUJ z5gk~;>rQ|lv|C=Zfhd*wa8KynYKwxv+LOrG9=U!$&)6RNEi2wZx5P4RlJ6r%@XmdA z*p5D2BoiJ0^gRJX8SJ1iaKGu;;|&<5GX0el{Iq|e+SDC&;?+Iowz2vAW9WA5;zd`7 zVG;n_IesQE=96E*}Vm4$D@14ZDMfSoh=4$!X|J`N162SX)qymtVGup+?QUiw4`2YyR@ zWt`{r_M9r#!hfyXat)j~KD=g@>z`Gzpd(dn7WE}v3{!RIpg2lFZJ9zX@yK14lvSzC z6=cP(2Trrs!w%r~=_fTu2>?_bEQRlIR}4{`>N z=fJ~bYT!Xm4oTSFL6^PDe)co#PoD?ximn^P3h09X2zuH6O1TkAb@zLH^wumJm_0=- zD#pEi3+2-E+H(iN4v{0po)IHoHa$~)&IOpeuhCy?8h&xM5j6W%4ye){n$-RDb`k#c zsc_>7l^=}W;QW@)?(Kmx0*hxXe6$`F-VR6Wg+Jy{->|_2cwZiYF+IS0cn}D(-_fG=e+t)x3;6$H+umjD<7k#yN;9hjo z`a9@-?FV<*rnaWX)~DbDOOWV&VvzgYa!Kt2)JgMsrd-qgQ8v}{B_!4T&YgMTmHiW; z>9!>e66?Ptm{Sok?$*$EfA8c`LJ9yc0dI^eI&RR5bKHs4281V=J0I}PvVGnqfPv_9 zieO4pjeffI^gX9AcS9N4h^a1v?)S;k!G_9)TNgY}c{PeJzK*#W5Hb$0b9Y4%81uS2 z6~>LzRZ+?WeEC4%!0nLjY?4Wjr@Kk=1tjt;+4hXTpYy`8bNj9zhP`t|HKgZ8j9A?f z<|*d+-c{c-ZXXzWSzk@8%kSV<5aK4DCi_^~srAL(Hu~a^q;*EVsCt3*-{3<#eqSp(Wp>4H zI38>v+kXRhv^|7qhAz-O9pWx9wIg4o8UIcFH#(v=8_7o^BMb0R z=a|nz8hKeznOSq!oN-#`hT{a>-n2@xjPPZNTY?1=?{s7yH*H_K!sffiN3!iCw?RAu zle*&DPwxY(vt?^;5&B%U@y^>2f#&4AZ7aA`r(cqPmp$ztg=~+pTZ-r<8pcEE#~ns6 zLbll+9<`_2x2t(vsDr;<_}}m~7DuCAXXNsaV2ut8eo~(Uv(}%n16_P?_NpPPkLHGz z{mOQtpNtUZB&^T#-}?Kcwl`j&J*60~6vBGQ_V~($-%Hb{)J`z0#1t7sY(+pl<6KSzD`EqRK=ZTP{pC z`h}=ghwR7*`%@QNRds%r)WJv@6KAM6F=1rnLsTvy zhQCZW8^j%-B%Hs;jPF&<^hZGje~hp{+l-_jC|=@X^gHq={7KAyn1ySG^LRA`6XSV5EdCGEtzBHko9>4VVYcl%x$slU(+Ts}n>1-)5h zNU0U&4>On|!Oz+mS<8|+ze9jB%5pg6qU@k}aLmsK%_Mjqip)eGts;g_vKcwqp?9S@ zJ{*+P)`~YX%5aGAMkWmk1QNm%`w}I8S~rAp=OMbNEzkfp{>HFHX6;??j(l4bqSlVF zb(wYky98e|z+QlreJUcy2i02Q*D*uPvFRm)vvAW5R(?9kf0(4mTzGWdsKlSoqpSwc z{%?8AD05-3_o#hTi<0~+pipl)M@k*Ua$Q_x|CI04{0C6D4oIR#7wiRF*SPl4piN#m zEjgSiJj>RU?9tuv<_!2rGS19;kxeLVKnB7T_+7W&vFcd%w|;JREH{1= zL5@c^LPZ;dju6C&rh|+Y%qVg1j2S$#;=%4ecfhu@+p2JBdn`K6B(L8ao0lf*e?G)T z_okKRT9B`5#C2uVblj!$M>Tz7&`#tAa#L&WWszDnt==M9W$(v3FIO3;+m;UB-&^T-CtVRY^SnQubh0e(?Q zN)!SP2p64qc){(maWMxE6uq^@Y8D$#ge*B!L$$iHj=!hSGR54mHDYvoZxfar_Xd9G z2s$DYhhF)S5`L%S{}oT(9+GI#bLPU#8DP~Em?{=XUNSXz{!2=pB#ypR(d^sTxZlS$ zjg-ADBNKGw4}`!u3yz;(EEvL`IuIL5Ll7}rVk?m5R zCxUj3Rr!_9Xgl82fkbjI$)DvW6JyiLK8T?y>i!$pyO(h|f^q1){6R1mBkc=|Y2%pL zgOCIU7yr>>9%NA;QB=r7ALAI}sA9izt+N_6gm__=%?{uzqse`5cY^vLkBGe!N`nV| zx%vsE7wW^hvJCyV`_(ON(UVCCqU*kF`mJsIR{Npkwbl4fzu}YQ_WgBt=l=ZVF)~8@ z(c~br5^sV_=ioAB5+)@PIAMKrQ*mq)hdvSBb7c3e?ysx_=I54LKhNe>b{@`PFV3J^ zKM4v;!O(s0XZdaHeA9b9id7))K}=RpqZ6^i?Wwzturt|#N_O8e0V9Wiu>aSt&2>jD z5OvNt$(SjA!>0C5(ijhHp*m%e~WKk{%9t* zA*hU%d(nqkyox~5zBR1qNdZ}>%W2L(Z0YdZ$S}Ndm6~?(B;~VHG^_z)b?tHcTMIl8 zbE2{k;ii}8b~_Ugrw=)HSt1-f2sZ+8W$&F0E9|j;(Ar`KW?d>UNvO|C2h+;#ehYmc z7quH3#c`g7P)0wRM5y)KoJ{>A*r-(z8}>+@cE+5-7_#nPM0%oJ+X2nyllaZ7n`neNO;s330w;hUr)_9Bl~9{w{0F|_zy_?wa2>>Kp9UH8d!M6D>hni)c|}Lv$MKtivea4q6{&~b zWt`)eet$Rmb!M^45=*@yRhB)W=_ILdIZ^_VU8tALVQ7M1tuikKm5$Ky-{tRjbDa{A z8xZ4%4F-lM{8WmO+ygsQzUr#2Nu~JNJLk1Fk$?ep4IXN1rT8h0pvuDf- z@9b5gCpaAy@a#GBy9N+)=bCQ`B$o+Jjv@)zx<5afuMgzhiB*UTWFWay$3CLlNtL6? zDN!WtvEqr~ocpVz#PJt7V|VeXatfpPa`DXqanQR~eCL0o00|#kS=gIpV!zX|sgHP! zyV+REoc+mY3?;B+pTK`~9nXqMT=EQQkfexTfgk7of1Pwx#=}?nU8U}(k&GUOSzeB5 z-_Q&#Ne&TFp6?~zrGi*hUo4#Zl|K@41>3NOSul^7qf7RC^Ur&|3DLsNeRLqezV^O& zS+@}V9lLu*IJ#s z!fbRz$N5OHomMCjf^~t4;g0->o`)wG#mR2_@#nY>+s&RXABuk>zO>IF zj(^}EqR&pK@ov(D%WvA5;z8y`1MGY9VRMlYGVAzWjNdt;guh?%9{;+QSr5gBhka@H z6c@v3;0dZaWzJxfn25rRs}ec6pjtm)a!CdEDcgy?<^Iipz_`ue|BkRU^g|0&YJPf9;x=0 z;MdnXrKV>N?G6y`9}scya70|yeqx?vGq&@1JGaA?nwBXkHLQ{-r(f50&mHw87%66? zWcwZYj0ZD`HBGj1KQXFN0O~th)Y^*DCT=+)+8Q31UlH$7c3WM{9PVl=9pP z=#MGQCShn(BRLw$zn4K@Uy46$qv+R-Z+R)l!_>htXkZC^+(I%NrcHfi>ZWEy8v8H> z1(jm%GtO#$_>>8VF?3`KKV&$ngC>BHlU}Kc|9yO8g?5W;()CV3yH5tv^+6GJ z6=v2|8p7K`V(~M}FJ!Ish>L{^&3s6_+3KhSv|X10i}N&Xr9ae7o5l!>moM-plBqSI zwR@uJ{O{Ywe=Zz~ufIemEHI2g6^qocP&`&oX`Roe?EJR2Os<%g{|hfWyLev{4hjy{ z7bho-uvLjy54okA&o*8`@iOxb{5esOwKd^a56&R%X1krCsEn4u`^A&jm>Q7)qb^^B zQEiEoNXRdy*v*k_GRNAUDc=Vv1Cf9@39;a(B@W&OzpE{*7rnt*VKlYBk(yGwm5~ zVeC!cA#u5cF8JdKJAT0HA6v_4PeZ`fQ?(NbVa`}=sPQxky+8Mfdgo4XI`0;J+6K}J z_)`que}h8mlCa>?kdf8uFG=#;NV1^UpeFe>?EIo4WZ7s6YCmfRKkL5f>FH!rbJ<;6 z7Z;+XYJEn>c0&tW+rfo$4Gs~JsMqiXFH!qx&sxp3y8EEb=i-ULja*Jj|v~(8VXo8pJ@ta2J_8HVtGrk)7gm;(F zXl6!`xX(xC<`?tmCWRN%Kkkaj#<>I&gR(aBuLi%tr)Gw-zI>y#Up*BoY$A7XlM}f! z{$F5BLqkVYaRV_n8`l>7WeNGC&fJ9xS9Gx9v}I5p7h#6}+LHaoF;8*2NerYbj-V zxy?6vkrZ=g?bI!_Fe(*ub^d5g9TPH#*59Xy;50|)oFEb3jN8|X8Sc)u_M>jtYJuE+ zPHbKB+2YV(FXZ<2qTT{b;D_mkQC#A%Q0ZO|wo9y`3h(bff_)%dI{P=O^B;KObrk8< zdRch9^kw6i`ZtfDV0eEB4!I$L-)g&SbyS}`SSd-c2#kS&!Mn}Sw=c7PlbMmhHOs(- z9sNTQyi9ogYV>6JsuOtIiM@$W)?mf7Iep_(`+q|W+Xf&T%9B`||01tgosd6z1nwBQ=wjv20bvp<5M`MveK1X8^9B=|Kp)rO(U7_7vAg1d3kvC@iNAya zkZRT4pN- z@^89hfZ7a6yWhWprnn?pUQ!Njjarjot32_5I!GF6h@|*~q$2*f2nb%B#$S~HY6OoF zlGiR?U`?cpHjT?{$)x)8s}($e#S+O2X|37AzGze+KWtDLvHUt(15e8>(DhdA;-j*w z;23f6^ZftI9|?WZBj)@4lvwef|GP4nk^rwx0Yu*^Q{&4cDQ`Nhv66*TBVMZ-`l7T<;HRmhFrXc%lT ze!(wOh8*`L@7Vn>bPgmBWP??D8XLrcwkqqHPP8i3{GI(hy)rIKP{ zyib+~;;OF2FmFb+Z8@3v^d<7l^U6*i7W|bY@Ww4=*Tc_lNwDi09v3(F8xm@xu>VIQAB{tEv($+xd+UCLc6yvdH45uO?~z} zQ+3m@#>HD1kT8oP5E~$#NQ0nwTFK5&>mr9G6%3zYHu|Z~Se5`U?+tnA2YiIeM>^Rj zX3nbM$01cQ7=-hJubk zrx)%|L1V9LP-#EE{9L;Ij-q68LO8&G&6dDCzh$=?TwG*KM12{mm1_0Z5GU6HmO;Uh z`wBgcjQe-E##9L!i%7mjvn6XS+Q7~rIz=!}sC(qsF?}z$FT%b%WLFeh6xB&XJ8{yc zUk?+aDXB@bjc^}z_971shaRXh3gf%KUq6tA-hkD@vpKO2eU44xkOFh}F7kzH5&_#~ zpX?r6lo|50jbEhn#SLlki3?svsly`Gh+%=$d>iFHtOzohA ze>WFz)wzm{R;f7%MU-h+L0NhEk_0T=Yf^i=%-k|m`0=`ia4UV*G{p-?eYm=SV?RTc z^@8m;`MpeHp6$vdyLAyvfRN64rIsE%+rrH8M9-kSEu<9~)FD3I51y9@DPk7r-oF6# zOHiP#AX{JJ6k}$2wf}PB32@^x08>nZ<2u7y!z{xp2eU32+AY88R#9E;^@(2~bGr$) zp@~C7M#}CTlo(%5#iu-7?ddo6X_2cZb-z}R=}x)QJxj= zZ&b4o&c!L)L(A37*opmzS*Nlaet$)p{jUIIo3Rv5m>uDcHYKj8R)qUvmj?JCU2(fX zPM9~Qeo3j7(4kAbmLp3qD|Ejx(o^aTHa!)5EZW5I!QJY56sAP!>)-c;)u{jk?Y?NF zDt0^MX!sPHu*uxsC4Mcs1h5Y-YV&Vi<GI}F;WOoqggwh(Q)7j^mFP6VASXO`kxwC8*#LWd_fZpZuy{0f%q|i^ z3Tj20FjO)w3e{kf0i*=3C-?4oAf^*Yy+xBH4&vHF^vKI1XyXT!B87bkA^9UIEPo9h z+^|%D$0^y!hEkHTvXWJNL|ruN>P0hQRU5cJ}VD^e6fSIMzf78#z z@C$+E$M4c?AeJ6|MEut@3Ikr(7Y6ydmA=ECOs>`GC`U;+`_~h;Gi^;WwJ9Ix&qNDJ zQ$8kWt_)*P=Lp^kAE%t`X8$6!XO{I@Uv7+T-XlbdtF?42Yv8Wl=j$ z<7zL#$1=g%(GkO^V?8uI>xusLbZ@u#1{RG|80ZABYwp^FP8M?^Pe%DH;MEv3AqsNl z=SWkdGPUZJ1KOrZ&mAPY5{AH40S|+E$k6M#Te2)oJ&0#iKz5F_@F83Erk1?!GN5>g zB@Pab2IzL+t1%S61)3$?$d9eicLe%f#$nyu)9F{bCT@7%v(2k>G!%){iOG&!u$BE* zs)mGs*HE0dZ*qMyEbswn>78|uk)JK!dNU&oYV}ZZuPr{@GuU1oROC2B3?HH?`r_4SXZ&GbYJQwk zVO!)HW}M_l=VB3e1~*f{3|!GeMsI47RD36M>wV3#+wG%i>r=PD%gwGSRA3h=8*g6B z?w*E@ZBUAK04K3V+}Yz^@m~xRatS?gR_~SRhRM!BIOVwKA)MY7>fsqT;`6Yn&gawX z#O|-Ht2uo-I6)GZkA<8we+m~H zC%KZTBe0O1By0sA8^MoKh z!nS`k{@}`3FzLe_;F+v^&>Sx`P)N1J7&z&|@oU-arP19YKx3e6hJZ_^d+utJG))k< zb2A3~OOQx-rlk$Hu`b-fe}!ICh*?#PyHCHsU?vwwOTunOkz@hgwSC#F@h4H{D4lQA){Lp+k*U8%b=2ef}I`1Vv8g47`$({e7=irol zRUS;Y)FmP=7V}{X!XrZ{h34BmG18AST2tDJrGds2sTAxTO{i) zI(*a*HzvRR0RKaQG!k)pU`oaii922kM@FMe*`)5!TYqz(K9jTEkuyFL5S<4rvf)G1 zE4!w*5Y^OQK@P{k;P1T?NMT9s?j->H7(90^a(gXZ&6?u4295a5JOjpq8__*HpC?;| zM@s(o&{k`k0w#`=sK%(TU%(swxFneF5pF;mlqFdq*{_dw^@TCG^=J*OaQs*E9yEcT z$&LrDKZN!Zk^dISY8_wuXn%~^wck{vN%-c58?tsT$ttz-yG;e;2+h6J66HqN zF?8SA{+s~bk$x!~d7L1`CG|`1+D$Uiwz%6AfmBFrsM(pWqgVZ6eZ~Q=VcTD(%r9Ua zqS!$P9}g{KiNR>@u<)$QKMKP*?2NtI{4Zpdp6j!@6ICl=q=K6Bmc1~!780r&yhAT` zg$1g086$z$XZi`*ems)1>1|QKhGNCQSHZ=%;u0p_BiY* zDIW`uHRuy85p16lSoXUKj~-+z8BHQN64!%^dr<5i$F5_=$jP>quk&Z=mtD4Ocqdi_ z&k;ysy52P3mKJ1$@2#c%LzD}>*gKAK$&7D>HC39W)hC{VWFDSh{ih(d%)c~xapAbz zL4wn7X`t_5r}&Vh8WSl)ju(5`NJgU)UzDEL2;4)h&Y$me9O?ljJJex(t0lP!6z&At zJx$OBduAodk^U2xx7}oskZp#p@IoDYb2+3^XR))b)bgP5Omw+VTw9P;babn~>9e*V zZ;Ykcp8e4zQ<}gbDUZFKI_Fe?sOJ;YACLbqYEMSR)5Po zi-96u1Rxd=n}8s?R6HjSO~OO5*q-SQJ*2PSG_-);-;T{d;Z@$uVXuY0^-nDKg(ibp ztZe)@n{vRni>VWy`B#C5m*bSwY|-}%CXX*6Ok5n%abXCNkue4q9>XYzSs58@Kk3u6 znjPyZDkgHqP?~*J&sSGh8(q(d&sLfO>g##E*2ET=Q`#R1tLhG2GvcXmO=}b>5UxPd|s;KTKc`pEs z?$~Z^k(+M(7%I!6V<;!ZpW?O!cv_W9Nt_62dc;fZS5jX|1ol*w-OHvS_qmWBl_1Bo zVns+svi}Rm5jVac3nUxF`0VkWDv@cTQoGTvYrZR!#~IOV zJfo_ZgZ*T!jQ~1Y4Nc(f!N}`si1N@=^!?B;Tj4Bad|ydF1C0*vXtwzm`*tE zk8e&F%1FT0osE|bl!nA{*rVl2Y~0vw%la!}AK_3Fprt8i6;LQVi)q5GSXjg*4KK09 z7VcQSP~Z(2Itz#yV)s88qPIU{zR0*618$14@TOY_b=~*_QZJpMMl#u$CuZ(esP90o zNX1`_H|Dku-K&)RZ+Svxt48mO6`~4;aAeG13<255cv6Kgm24!eFxUu5-zb`vwI?7O zSaFfejFTN+MUjc(=ofWd&1a*VvzyGp%(g0ReaJmTv}F10P9~Iu;^2?gu?_!&o<5}) zLkTV${so*q7wBPriw{Opm&}o6!Zof@k;^Jyg=3hVJLoVBismzr;z#CuC$%<6w^o-k z{}(l3MH7%C_^Y#@Vh9?+`;;kHm}{9Ty~{R?C6~K*=!58Yflpy3!Njx@0i^^tr^s$l zzv_>5_`yhN#T8IP7)jM6_RS@0$;Vrn6Go zj%B>EExLDujI(;>B%QufSI}(d1bCd9!em}bu=4PLGDjg|;#KvS{rwhDxK|CpG4umrTk!5f*R=ix*pc8#WLPX=-Ai?6^s~qU-*8c~XbtdB|{DJQBa_?d| z^`gddKs%ARy;j#8q50TBlW($ORd@(wn1}#;WB^ulPEH(~&M9cxv^VNRBwrfj^m$c3 z7CbF`I<$^O&_y$)gPw_)T zf?50Tf3i)GVzLdZIf@LV{R3yBNqh;t!c~w#QR2bWEDt-DpO=Dp`;uHL5^iV>nh}iv> zg}Vq`b9^P^umVxb3@c`A>)8#tM5&2G&kmCcsywx!8u$DD%qtML`w`9q<`pQ=o#>-T z(#HI%RG1KV_1;EkN)|vb`X~498quSJsmVARYgb&`>5iPj;bA%{FIG3u?0(x*&(JAi z=Q~i*W#G@&#Dm%h%ql=~^H_J+Fmh3yjd{blKTx z6_9F_vT_4@pVT|DjM5k0N#$7mnF*hQ#;`O6&WdY99AXRu-ir0#+(^u{e#P-v@GgT9 zH*o>MMb)d~jw?&4Lk>qf68a{9wg8)Wseso1+LYGmZlMfXRz{<1lvtS8K?9KbiGgo2 z7JYucRA~Y7!(yA=lHw}K>{Ax7y0DsGoEVWjo^h32S~;H9IF>d%7SmjPR=zg?_P2xx zAAb~8SY#|R+GF@&n(Q>az%|ICXrOq0*`0vGLQG6L2493P|Q@U`{1v8E*>P zU+x^Esob~ds`)Q&U$?jN#~+j}W7y*qF8rhG(OC|4@ST<84)d8U%+CEE3lIJg?O*6V zU9NK&Q9HaqejG0KP{asI>1k`R0&1q)%~$vb!NK6I1d$*+m_oSoUcu!OtPA3Ka)#(Ac75wpR*%^pb+X_)yGS z2X1t>vfkq7Y7H{((LyjoH3%ON!sB7=$@TR`CF0jso?DZ%g+I6y=nx&)WP87TzKG!t z(LvKD>ZU!I_Igc9m8AAo(q?5#W|*`^l-nPdA_nC1^m0Om|JCMmsP8znB8*wkXyk_j zDqVbt5y~6B#EOun8t3qZ>a(;K5=v>Yh&L6)$(SkboGX|ALN^i1WwD72*^;_mlh=;t z2nspdKeQ=|tus@~_fxe-9D-~p#V8aR(qr@X@Sce}jHt+iqU$UNZpxpHTq&%dPQlAi zDsPv3*_-WuVfvssV6j{Sgi}(Mts2z5H5fYkIz^S{XibwXu{1m0e5b7~0yiB0H<1N| z9|l8%_eMd3hd&q>dzc=Y0Utgu6epVizPrMUM-m|VNE^SiJN-Gq(k#_PYVyQ2X%h@l zEV{i}87Bv?J(Q)8o0D4b`RfZ2;o3!gSuB@`h``b7QxcPfE=t}rH9oUbL*R8|T?J~% zHRH87;r+Yu9C&aZ`Vd>Sm&I6$an6IZO{xZds+(!Vf%KOwS#afp&haS7k%ilVxc&H- zZa+zadE%8zhm2HkwhfjFvO=0ML)Qg@SBOg@4H1>-(DZb4$s~zzHA5&V4%-npHq=~N zHQzy8k%B_GtZ9N;XHD{6*RV_QMiC z_=*%ADntC$x5#w8`bC}XApUn=Jn2VL`)__!hYr`qQ}7yDVimG1ML=pAukZ(~o2av& z#YVy%VKh?u>|J)02MY1us0*F}z(?Gk41-^hiY&1bD-WySKiy|>oRXuM6;G~`-8ai| zY@F!DuDL$L-#bjy?2P}RZAp@4lWT&MoYl2dXV@yZ5Tt_Hdva7H{I|%tcedU8Bi@dK zKd*}A*fv}F?~#8x&%AVGiPH_YS76OFug4s>P8AIYD+>;DiT_UCJ5L+^O5HEzfTIZt z!{CFFV|uL%>nihHMgVxlR~5kJ9O1)aG1tWs!%b#K$chKzF{HH7v#8IDs7GaVCK;rk5}N_!K*Wze_bW4slLN3NG`g-S0=+yF|O+}*wyyAATK zxm8@A^?+#!;^Taft>^gmobM}J)+5Oqx@VR<>T2;4v(InTikC~&i`n;QLH&gDzDH1b zt1F?p0AE<=28|6-bKvSkM}UH^2acp5Pv9BtDSR2zsMgLHj18j%dZ2gb$p?bIxp95N56|BAHr_L0U!?c zt2=Pv#X)PW23C7Jd4}&ke46ef=Cj_zx0a4uo-Z+L!hd{;B(tA!1)ub?y8ZSAdf&{} z2FUwe%RJFoU5o9`@*!@!dV(PxFTQWQt#h~*SSKnxy_c>I% z&20$Cc0_|jx2G^hesfYLTmSu<#Bf2cEo@D}CWkG)tFB>u6YhPiqh~jpP}qPY?5!rV z@!^j7Z@t{sS#GJ@`|pK|q0;kB$bvw36zc-owYcJtQf17LFY(kuXn_O^(!YNfM(gdb zNyRTdf^vfn{1z51clrN^y;P6UzNXkktA5TGSH`EF!cu6)mIn1l<>58~4~KASr+%@8 z_V=mO4{8;KM>2->oD+9;WqXJBYQw{0*&Drc6MDVzkLsNC{U$l>Y9cw6G~hvjHJ7x0 zq!7;6VB8)rPPRXJ)cJR!k>`WuSB`b^I>LEz>U&jTe`qEddw93Kw@hij-8O^E=Kv=M z%|I>B=Zw|K^_)T%xlV_NszsWnI4?_x2Gh3+xQ>fpb-W9eIM8Z6@6R^N8rG^y%f;55 zoRbLn5rafrUK7iwru%N2m)R1f@z9)9DsGM4B+0Lm%JUkNy2f<&?Y9zNFI>y=xYGN} zTqib;Mnb+du>@UDocG-}$mfZ@hB@a690@e^=6&*gT@#x4+r_1gbnvzyMPB z{)$?|ir-#stb0c^84)8}N-NLXE!5FCP7!x5`?coHX}^0&5y(itF+VZBx%mDxF?n;o z?stAf_k_CI*QAbOcqdB|-QI{4qPG?_>jevDS`j0cpDv}g?b~MlqeumS43VXe<(8c? zxSTEp#KkEAotNmU^5gH!HfeJ)(GVs*u-Wx|oX zF)H)!x&iPXH{NaMKV0~Fe=csnr&f!;+g?jIvk&mV(X;5jEEW_lu}u_<{RofoV`6vQ zP4$EIjoc-={S0QNo!~g2xVh&0j-37ML7GIU6GB^-oSdB2g6ZKCty~o}@P{Y_m847W zrO#IkD)386R<{Zq8oG+x5tH5xGKh$>-GCiZI`%a46aV5+81DD!wDID`=Pxl)XW#za z=5*;;3Edu(t0kf&xa3LxUXj!(o$vO^59#0YEU(647Vy%fm2>br-urI3CfoZ3#tOIF zXDpJ>mGM1~4QW#^TOnZCc=8b16am3sj_b=&zxjy{e4g=9-dgVM4%U5tW!>B8Tj^2S zw7DQ2CsRr#p>Ci0Uc;d9J(Inj-G#a&#Cl<&Qj0so8Bc49(xnN>j3{OBJ7&SEgBtaL z4!pEKz7yAaY3OzFA+k>#CC)t2an;QUFdwP<3zx>9e{p|UZ@akEI5AP?fV1eRz{w9?e56R5d_mS`wZD`pE zSJfBI^7KQuW%xhj|USi>$o}Y92Q#kAmF2j*{>G!GvEt|dGh7)Nyri(`Q$z!6U zQP7(;<6GL?-rURFJwKXFWQnrjmqyW1&+v;JVjNFh{G*BPcwjDXwMXt7szv*Ex&6v@ zKl^c%@TmW{+1Sdvwlo#VW;^teBmQlt-4sA#q4Z=|J)dPH(9;;Irs;b^tWDCZeSBFxQ$083r$dJNvJW!TrYlhMHhg%`>rZ6zbt%Rx zy}cqGvb>U@FJz3pj6>eGzJ?KsN8S;D`(7JGW}dOWR#yb3KUd^GCVm2uu@S&|>Buy`)NJEg zG>7=aM*)2=1=8M52^w#&m{*>r?6tjep^7K7s8;WXvW1KO?Dua*4Nq-+f4qvl>Y`c? z_dfKg?8pIa@J(j=VPEGZ0`J#-*Cke?Nd#>a${e9hC!g33RKiQeh`ykmv{Qj<+j<#X zmN+AR$H60Y^$b>ps2F;D+SgrAX3B*NvM4;W#r*T4J87%lirt^0FE2`yk&pI?{&t&clW@ zyN$kkG*SbxzmbpgXc_sDl4)lf97B%FAq!B;B+P(MB?-yPyH9w8poMTHFdJ&$J6G<#uF`6m9zYj{o7cA;ZJ`yEI{pR?fNbz5>Yka^o>zo1;OGa2Q6RB zU`FuTNlZkDqU}FqJ_&9~fsqw6>P25F{VWH;hJ4-An^gmuIZK`nZEc;EV-rP^q*IrM zW&1O0*BP`%kLsfJ=#{4PVWe`u1f8et)*8WSN7LH^K?W-SR7al$OP<;9ZS(mTzm|r6 z^+3hzgXSud|Bi;z2Sc)!lzuA}kB`d(t)Cc_lNV0EsOp628eb)!$}44lG(8-sWe9O> zY<%WIX?-E%fJ;`=klvp5EVg@*g!@KBDT*-!KXaZ4cuKP|TJZJy^r^U+@2Xy@J4$q+ z>O65(-sytO@|9&K#T3x!A!RP!2>^L5-V=| zY{Z_rV3)>n=c|{cd!}DaW)XB+=2DZ%+Ks76M63B}dbAW8w7$;B3#LOMsuf!(WYLz zCs*ASvclk|(*FY@fxZuP=Y2SmY+Mw(!Z!7IRQ|c@N$jcn@PYLdW6;*vzU7cbUa_B+ zlfwSCjg{+t&mQy?(0Dg*?zR7ZS^V$%lyl=;?`lQIjBK4Q@A)5**OR)f(F0&8eF@g* zPfRl0q0~x(L)UU@hIFC*$v^uHZpZnZ(rvT)^!JyN`)jGyMVo!8N(e6sZ>p~{l>(EX z&2Cg$`f$R`d1kB;{( zX-NbBxs|J=PvzB&vm>!nQr^kjsNlxJeo#aU@0R3dNs~HBw8uZ!MMwKTU0X`1IK_G# zI}_V4&IW7I175zQ3W9Q9mS=9z+y<>OM;lf!UBVac8lig9^@H(Go5@-2BNaUF z8F;MwD>Ki)%H1_aBnD(X0lweRPCTp@KDv{OT=G^62m&zUJ5PHsQm3*rDP4nX@x4cC zn6MuTXlrFfL5FicLd3{Zv@mb+=Aewkzta-S8-<-IZzqZYL?Ix04#~T>pOrP>@Ch99hW@z=n zU4ONGhfQAR3Lf)}Xsp|hKOJ1TzZ%$EKVJ7i0J?&i#MWlbshIUmf-96qB4_E;`3%We zXs#&y@5*ewM_i(g4p8GbtmP+*g3i6qJt>feHhWM7dnHM{L*u4|Gx%NO_p%2ZCjYtnmBgXPvZQtwtuhPyl(G@3y)qna8i~13{GSm z)!}>UYdv8NE@bC1tPE_~rYSW}5rJ$3!`st-BU~5TpEQWH+2hj@3Ya}gNj!aD1m2GH zUJ!I2X3jTH*0wcpQ~E640nu&VxFj792zRe;Bm(YxIxE1(h$!ogs{u;;%}gLzA(+{# z97*tD-#2>U?SvaSt0O{d4BCO1Wq)g_d~Ry6e_QQ=kFJ1tv3yEOM9|sYuoHAV`pcPl zUBu^je@1k&bW7de-+yx7vu7Ekv{*t62;~)CA0798Cl>Qg@xl8yG%$>$H%2PP><{?&O>3RY`K#N{61Fdr4*(75}c^>8`;D(PA=x zsw3KAqDV)3`*^G9C`m$B$>Aj@yJ!7`6~qWX~CWWUUpvH^J)7ym8w z9(nt91XEp~+2S(DF7P6j8>c_b6ZJv(_36n-(yQOqF?s!Q+lS}yetX3WRvVW@XpFu` zemyL6#es?S*2e1*YEB3nN?#NI$%a_x`|bmz2QXjBn%<5@FOq5+)yT#w;yOdb4nNSM zN6{2=VjQ$iM=SW=q20ANA!R0?lWj%-t8x2Jq3yM8Y-`-NTHv0xuMG9dw^sjRHB;CKA`!5JJqtix@0zq@tZst6dYqlt$-m!xwDh4RY*qrO z3V8s7nbF6#Nr-xLIR*PRc3TE*L9xrBhK+SZ5Z9L2m|pNwH5CLNOA1ju%Q1|v|6I=K zU=KIG9TUM3%iI?|pD2Kd_!b6(>&;Cl}rP zLFN$T$@{&Fs$)lqYLCiDFfHwFd!vg2QigKTW~-K}X){OaN;J!K3VZFzyAzERv*Jsb zv3~n+XeFQY8Wp>rQj)&)_R@>$1*Lp?WvEs0{Hy}e`E4QOP^!vA&;B{@AGLOeG!^pg z;f*^P=aGq043D6OyZdc$siatM2_^R*n%}BWp~gu0iB*Ls=2}`)$aL4EdJNH)x_XFv zY`aW^$NkajcS2*eO>Fa#Z*|S~Bcrx3^#kf1uH7!Yw;e?FBY7ydhqa0IBHkYSh|9a} zW2<_gqt(6a=S$bC-+k9)HOrgE)kNcE9(ZTQ?=_0&d&x*pA27G|5jX?rz;o6eheg zAlKKKNE->NDQ)ouekB=B5Lbe-IKd%xuOpS%&lDFDjp1DCJ}Ly`craQs&9KA@eEW|S zSq+c4VE9tW7423r>D40S*CayN`(+M`$w-uAxnh-BMtrFe<87yaz+r~a31~O9Tk9$G z(G8P|`AJ7{rJ5Xb8?QeTZFmO{M_}fLGquPk-a%?6k|9w+rPY0hR?5NX=&+d%eUU{f zeaEbUt^iMv+jhZNY0XR8=F8h(WqA?uzCV2OHJU|euN4IcjM*l^`GiKhX@ZWDxopr3_>!kQE9^7072inxr>$32Cu({1SnSvxyqgSPc5b~CC4pUPYF zuXc-wk9Kx5{=RzE#(%_-7q;O-CAp}Thk6g7->fOE#p3XB-TZep`iaDa?IJ=6m8+D5 zVI{^tqJ~wAG3InHW6^q8lk=9U0mK^O@#^t@taSf0@{1ZrBDvvaJVtB%IFT(A`Dk}* zYjbPwi1U!U>GXg!@#c8dJE5r}>uHqTHoDc^I=zM1(%#-aVv_4B&lP9~5_~GQ=UhsV zVTVH)u2(Kd2N^cMQD=|l#~MyVn5zQFDrvL8h)#Ww@~Jm&==K%#q)vEk3?_^_ zNL0I0bPxP84skIx3lgpkN1t}{fAEvvN8km6;Rc&uwx%_sZOB`sJFMS=Bmd{f}2&zDsM0Dw>4X8a|m6g%JZS?VFjd1l^3*&+Q8l%I9~IkJa<(bwuKSa2s}s zs7sNKea=fV@Ip?Bl@*q>hEtUu>XVaCH#mcY)sCtPZ$xe8wm*In?C==W+b`bQ-}%ec zc;DILu=0Gx$iL`TV86(?<*w< z`hih)>+H_Mj4zUgl{&Frb+wdEht2vur3q~e`8d#z@B~DFDWKofC4OyZhZxr9r??rD z19smN0l7R2Qd!6DgKtBYm!vow>O!l~FAEOnn|wVi1OH<6I# zfX-x!PfH75kaW-+ZFSNj@n~n7KuN6iqK!II_)FfZa=gnnTaR=@n!$s4u+KgV_YPRU z2E-d?2yb zvAl$r8W$1pfbylqO?Tw!(d2Y>^Q;T~;=6K_iX^W1jqVM6jn|O^uGi`3?{3apZ0%fb ze_T(z{B_^?dQ3~-#`c$G6;rn`cRy*=hk5sL_fg4|C+vZC1#7rLd5X$1SOImfcu37% z!QuJwh>xSXAS*2FL~cYKJa^Dz434PI5>r@n1R>Y$#Xrk zmu%VJ<#sjLvWWd@(DyD8kAtOELzw;$ zD*;PiK)#76_t)wB#T$H{8bhsSAr#13jC*?CT>OPNO`5d6e?BE}rew3joKKHM1gzwe z%%b14W4Wq~mq`ZJoZZ?FL+bWRUYwj=3r8ClGZ$D2VxG=YFL&~VsEJV+PU5pisXnmm zCu&BNCMvbj3VQBpI;wOB*q7v<&FTB@w4b=W{rHi-f{DsFDldQEL+bkb!SPs&DB~I1 zh4s9tVtq}rPLw8D*KDfP7nczOJQgZ!pyD2bah9XdR2<_VGif`4N-2tiQ_&RGdvRSd2@T=A9c7f4{|NS{gy)}>G8#WbUylckh}-Z;)dHz}4Z3Gw`CaTIqjz4O`&as`E?lJ*t#xtH{vN zF6q(+^n|DdhVQdRXB*uUA=8r8Dvfj8u`dZYAWBB&)?ndt!I*c!iuiTJ3b1L~)i+#u zNZWKLBwfZx!PI}0IR?!%>(Z5oIQdKsCxyR4_hRb+Do47iJEj^!ElyBpQ)W0=Eq(B9 zlisx38H?KR1dR_#xvxW#{ag6;lwtKRZ;$Yv$FGdUvM(W;N69B?B4|OF;fWu3TRyfA z{0uf1UDQfdk<>IYeUyCm7Q&%1F7`2#H+MRAC%<8(da# zc|6Mcc)&_JsCq#gJWg2(7E6Qg0{QJn7PKRy(c@A|hy3e;Zgl)js{_axN6 z#x-5lGXBVeNVNlSgfN1X2BHKw@jNjc+G3TsjNJ1eZW=9Nex8Vpn`5h7N zlhr4*J-8_J@QP#-Hl!qBnzCz^nFLFiCXqmeM@HZFrz0GNHEoYMVbm}csom<}WUDNn zwo62eQ6SUP0AjHIl(L%PoCuQ=5u#Y!h3qi#SSi5BkTs^NY8z6y7KZriQSth~{vj{i zMfJkb+;kJRR74;Zl|J8A6`rB{Za^xCM70VnJcJU+zX%2jV<^2ze|sq#4pxH&+QMWi zP0cXVyL0%MV0Tw%ar_Zptg5E5V3XTqb)OXQmC;)_k>8sGs_o{Pn-itx`R7PzeD2}+ zp<%MwC*|DM7|xG}Z7CKdL>2#{Ac(AXgsFg~hW71tLrmJj)LbJmM!(;<6=j@AMpR(# zpd?Q<=#WNQA=n>zWZL_AjpT8A=$~ay>slomXS3N?+%l~oiF|3sfVE5kgG(pf*{mn% z;`tTrt6P?j@UChgF~SXvH;@k7%tr-gSnxQf#80uWs2D$=Z{|DDA$)%VBRE@RBi%_t31LSW@}2TTPZQ^++^hb)p}#O?8Q;E}VT-SQPgQYu2cJ=SiHx!CC-<09 zC4V{7aqk=YVQ=SLzhlJ0>3XYUzU7>P>+nqFsk_>H&gMxnyG&D)MWCxA%KOA{dKxPb zP^XhL-Jyrw`oiF5<6)}P&Xn@*9LvkD@v_sth9>~@pHH20;^95g%2edvwz3r&3? z51O`-bGrCLe^1I1n!2(60h*|B4g22LDVVU#p%^12+(g@=)zO#3rtSeAWiyesaWnSc zz?ou!Lu(|IsVAM@BfZ)?NLMUa$6`TWfR@L@9WrM>FflRq(eg)7M zJk(~o43I6J#5zACu~j{KCmR`IaiH@sVS^UU~tfFzxeAY4g>2N&l=Jep7Ji1Dk3{rO<)H-DyXIxOzYEpwGnL!l+?({dhPC9%S{WqNm;EkEcR zq%M{FrC0HKeR?D)j0r}|Q=JDJY19?JFDH91>-yfYX9P*tM^UuPNl~E&8^!Xw#bnD6 z9phGBaJDg+-w5C7>sbYH!pG}uiOFFQ;ye`-!@R~k&Av!h6VHgmN@&vjNchU{E3B!> z@0HzpGRZ%9j&v$dlqt8L*0bD)M@UoM9%XFIjr*dU_;J_tzO+{IBR110*cm%MyY`1G z#UZy={#e14++}A^`y!LubNJYfI)18h3{^3%I;pl~XlE=UN!2fuym@SyVCFJdp=ajiH&=Y~%yC(kh`cHbRSXZ7 zIQuP<#VmjlpCV&MWcZ$Cu1k<<$5Y8IMB*{5Z~C#YvV^(C1uQHtVt#1>%d5+X#iOi{ zm>3Shx12#X=@lN2cu^+I zc(%5QghEm>qDfJRPL6AB`!qC>-CFGCXbTEIF z2fUF@&x}{V`NJx{RJ@GfMjo4MIU)=HYQ~;{^&ItUVBCZL4C9$cEX=q@ib%#v7T;Ke z`7*{lt)0{i&O`a)iNW+Dp^3+0@NWdM;fr8>HHnRtJp3zVEKTJxJ)FYKXwqaeJr=_B z#3s`vNxzjhyb&%h&O5pP%ZB`AW5^m-qbmvvHN13CMeHRNa%t89+PSRX{4N6;we?1B z)j-zrOno{MDlaxdTl=OFAa!2kjr2_4Kyxey${TXek+*t6_c%OG?PUI8(A>7LJCs=9 zY^|9!b_$Ea&pJ}|rFl&~mJi9&e)FNmE=!UV3s(`|EFBSeHdv55@UR@R`E;avIS9$vEparK<(sWT7~!{CVY0akfqxy;)mK zvK|X!yg!DKF4kpTF^u*y&$FJaZ_L$!u~8WYKzVDcEL%CI`!(5aVJjVWMm>3R??Nic zGVf0#xLzQNEdP1dNqJ;+Qh~)u;c(^|f^is5o=3)Ur17}Z0A_Vh~Owrp8pAaw5vj7CD#5puC73?KVwV18u`-uom{M4rP8jB=;#itXAR1ttK$syMbZ0X~P}NL+uHsSrW6Oj0@wnv6_N!C1G*!ko4kc@uV5X zdv!i-b^2(3kg^G2Vla%ce#t3<>5&8$CNr3ypqcSB=EpOb8%wi|iPO&rM!F*=*Nvqd zvT>Gu<{|OSe5TBN@5=YiY5rxxld50N$XkuL8K_sQjtps*?sz7FRGvhG@79x1&QxI{ zG{-Hnr~25)2fwLl)}{C9EE~^g6v1!^p>P=CC<{7?+vwy3+U~WZ_0~Kk>yP8;{uQ+BTF22n8#ugs0mlza zktBw!aq}jbS&=e48f6$}X!ya=2TT>5Wo3#@DARg@Z8 zni>n>?6C=)Jh+0>2g5kAFNkx810<;_EX@>IcuBBW;RRIjZ4_9UF%ELVvVm8LiWOEVLw!Ln(~0u#XOHkhE+VX;HY$ z19OP5bl}5#_577w9l4`tURrs^)qC6Y6)`yy$52m%gqRITUxF2G3R5E)lF2N|WCpXW zP-Z8R3}X^Y^C_$>vcY0}*VockVQrEKCrJWDC_I1b^2O(Xh{ncx5F%({wwUfR3@WNnW*#XL`xoqB`cflLIad!2TVSSKXfOJ9)bD52M0SnX2 zkIah;(;1Q`cIyIFk}{IHU=C4sBGjnovL5NO1?EPYm@o5HEYD_e=V}b64hFF2?IrAc zZxM$+oy1_*2Fn5K7S@#>;ZsAdI!O(prnhOIP6_IeEiXjS-@S@~?hW*HY|=i7V0VlS zvoogyF+A`?9nvg2j1JnzPAHt{wRpcClVH~q3#6zkD&Kn7`^R6l!y}v zB5CpNx}C=La{(MXFh|+UP&P|U{}mkHzlMv)B4|C!?`KlDdNP4)r_;D{GKG^(0UY{d znOH*8N3*zkdL4@sB+I(}M#hLV zD~M=1juaV8K}TPxc2cI%2#SVW)w5v)WXIO8S?|>A@uZSzghOG3f+TLC2;%Vsg8V%> zJ&n5^9k_kx4%+Ut;l_M(n$EuU`S$fpUM+>^nvPlGu6=>o>O!rrhr{}c$eh1NKZ46wpJ62OT= zF*NTE*;BuzukSJ^^F>WxSq(w|1;)u6$0iA5qd7jX!HRzpr&*ZJ9LV7Kt|ZPh#nE%K zfYlk2pp`N<*r529S-Grak&Jod&8r-gG5J!<6xNd#_}##ynH&k=+|gxRIFiD}BRQOF zPT}(LG`eq=Ff|BF4_DYz%ad4X)G30XpFPD|rD}!NbNWHpAD8>?Hz3M#(pL5e_{yxT zRrw@Il+qaK$uO=t_5_RU0hTa7De!$FhdK5P)o?D)u~)mCCs=Wk$obcD*7G*vVg7zW zMZ3XG_Gkyz*od)F>?~mDUWI83w4E^(hhi2CN)|7I+f%a zj~1{vA0g3=!nag_f2E4`r7C;ORmwBR#$%oh)UxH3D9J}Q$@F0Q+h{b?!$t$>P9et* zTe4^)N=4ly!uaL0?9geab1f@bK2=&ui?Yw>bk3sJ3)je-ZiHD_Sg_-b+&#>XQ}vbT zqwrXz&yRtwhMS#PFo@*3d@H%xyYqwp)lh3xSb1x4HjViyb|%I$)=1AzWU#hWLTFRu ztwQovu#ptWK9_N%h7QUhJ~Zt#KVCrF#XL^$&tlhW5$t(0OcJ-iM&7?Q_2rF@s}n~e zMoV^>Hp5(?{B5d@X|TG;M!Ca>{?4E^(gPg{l7$p}3rawGS@YKWqaU>dQoQ(39i=JT z;qFa#K<98|7aQjfSvLv0*lFq6Ff&$Ul@BNw|;brJM4m9-pD=)6u=F)3ojj zVq#92>qAJF9u-XQtIc6}_wvkL^yP z<&y}SKW5#$J8b0iGCN&^?ZCj@D*EqM(08Yd-nJr%PafU3vqTD=x5K#Gx`OVzYb0f9 zBe9C+Ry|21VybtdB+)S}vm?1YpU2W{5u^PnBWwfhRr&$+-vN4WlT5ajap!UYH_xYW z<9rlX&#vS4RT3c9V{%_ryc^Y48IvEL%sm-foym0V@AQ#8O);IKIQUKudtb|;iOd}1@+4% zZ?(dthl-hyVP%jYamz5*=%@hge6rl4Qo#zhS`vF^fs%O}oneJSx75%l<0z zO+(7HX+I-v^+bd{G8Tr>P7<5FVUnB(&KwGoye;GC{z;O8P2`!`v<}Y58++6l_89Uy zZo{Vk6jAzPveO^+g0;P0YgS0C_)R^H;m$P4S{z3|VkPlW9>+gU-~`FsID1`M6Hs7W z^NKH>RAoChkiuCKqH{;8?8TJrso&DqcbSv<0=vyNogl%-Cn$LYRUp%&VHU~& zt{g41La5^0!4fW!sB~SgVzQ6qZh+6hDyD`>tj3u3tT5H!OJ2^st)vo6=|vwr`KqE; zuUX-dmZrJ=t7Q_x9MdPq1|^Tdt}I6T3YZ*XLpxR>X)6;&%#wJ_PvuxqlB_PUvS(%O zTP|A9cVo3^X{xNe<#&Bpw&MX+)0Au&)W8M_WPgZZ$Y7Aft-q~`(GK9wdEm@G;BpIa zp}BxF2NO7Zc%9)4TRfaB9(2Fv_7>{Y4qBf})jL~*;vWeVFg_f@K)0U_VVW{5F^okL z;-V4op1W+sx}sQ`F0he|VRMb06lO6IH^CYcJ~f&-Ikt|mVIO8DH!(Z4Y0nK`!bXa$ zF;&(i^c304r1MCpGe*>OcW#KCyqTFf%*`#3$Z3I9Evyfy`w>tc)p{ap$aa9rxyjh! zzEuzP-*!McnMdojd$`%!g^ZgzroP34WzpqfJ+<*^(^tUkWP*e($vl`R`K1g;3)Y!f zUnX(e1fszz$yyWjMo`xeO? z^NvO}Z7rycylDY=&d!ZgL!Qr3mw8Ne!}44Nop)BzcQ0h4EB*J{`Z1uSec&>Qw2<`ms=8oK*K3d6OrC z3Y!y{_t^5p={x1V6OOPccxq#m=6VMFF_N{g<<+U-66?nVrpFU(Z;F;aN_&j}>M6OV zQ$_gK*>Usb5b{^BxyrJ;2=rVp;V|pw!yn~v_~Q&t?8z~1Bu&Q?7`{jH)CQ9hJokQ1cja~&<$7CNOZ%Ruo)mU3jV`V;T^^k9|f;Eyxb!>a@5Oh;+ z3nEn=*I0L4s*t=DaQk8wH!eibb|t{_M{-X0O~yd7ESMFaO9IL_P^`L{`Zy{&lD1V*5B;J?ECl@ zjx@Eg4rYMslKrc!ezD|DN)5C%(tNK8(Hcw=odOA3CeKElwNj4VI2&zpHH=1iSb+3& zBUxTUd%tkSV+ll98OI_qM8bSV*?s0;PF@_D=955)>&}o&L9ctp%wOo=+@qn;oQL#3ul%EsBDd}Dzmkf z1RK~iQY5D$W~zLw@>BTvF1SX;$fNutW=3PUa*|+WAc7(Scj;&W?N`{V?5<$EuZ$@Y zsM9sUdRT!E zl`%h2#llnxbCX#%qHI9fkS@=AQ&v6^)up0UpsR}|BqH=jG8c&_6fR2x#k&SCuXx|x z`WZ85qk_z%G!xn=+0^Y|cLGD*SqyaKFxpi{$JGi+TN#&Hs<_x(!C9u~g`*@VY}hRw zY1f=Gf0>SS-_|Tiz;z9syfnGgp7nC`WcA?hdgWwi`m(FEB+O|&=}mY;^3+sXh-sC? zXn&H#jfAw9@09ZhlI!1E$%eJ{`gPotn8P;het%`qe zy=2q(BfTl6F$vpv1@mK7%#N@_!KZIQ)6gDy3vHIY=~EJobb{rTG89xVsf>uc&5UGm z;Yb2UKS^W%+iC23JAplKt+0^|c^ep%225Yc!CRlEI!@E^-ul%X%Zdoq;%wNa-TFF6 z&^uXfI@0L8702>44b;+aOV-LNHMl&ZysA#KHqMN7*npeK=1-xMrln zt$P!x6mjk#k+p`DZJz*4{FZ#`VT_lTJ1{wC|L$&mym`pfJnR!HKq zOtTneo2~in&EVLk3zjXBD6NYN`pWPxGyRwz0ix?_0f*jCq4`6PplF8V$fprpIguox z(&$qK19vMJVTVja>)sXGA;IdoP9k@sio4g6=xPhIesR;aB2i2eg@I9zhbvf}FJWc2 zLc$Eo2P<=Bma_~=bk;_<99iliG3+3jY`a9#c0NYp7Q)rDE4X=i35(3vYO}1f#5A!s zOnJrS8>J<`X+S{fHP9Z!zIW%*^j?I-KZ|{DX3_k9&PK-uNEAg(``Rk#Z7VTPvC}Cs zS0j-ktb;_Kk+&+zn#g(*$9LyQ$kHUaNt|ykqV;42*G>o|a;IsQ1n$iKG7i3{{2Ilf z58^oZfx@wb+ZUn;i!d)&aO&^~E}tFsI?zhfT3s*Y_{3LD{ldwcRfehn?#s^fG>wtV z>-GU%6_rE2wt(21nv>!Cb~Fm*78|>T#%>BE91bHG4BEY;de?oJlarIUckdp_+by)U zwb^Co`n|fkLZ`h7TFR@a>jJi2>66m99%fz@19PyQgQF2c???s>o2L>aJj&>-Xw;j` zvH>5wn>FHgwpj?{++jaXx6HE=4sK1EQVeW#)bMBlFYT*<&>d^MRNt_WTG)*+isbTL z{*e5Qb(Yy%DdXtJz>$xO)~h?ZdyV8KPWxcToGrQia6aALig<$ zNlXsDRi=kOf;Bz^{uGiiZ%Rz!vkG06LamZeBPo9rSAEyCjuzuzKAyzc11hi{c{|^d zX2p|c+$!u1v+4_mJJTdJxepihv8@ZRd*{L9dXn*>kN=QS-cpY z02|4vku-@#7Gr%S40jhW+>@h!Y@DYnHqtgfoxt356brL4tZFgva*ia9ab~Y?W4Vg; z#VXx zQgV_U9r(?`7LSXV$_!!Y%6M73$)_#@S(_JmV?#KcwUIXwxv9~lx2}*KnDL_pT?2oyFg{#PBL{HqbS za5&CRUB)(%#3FelqU&nrJQv5E>#OLv8AN+) z1b42+(Rm|}!FF~Y27tL?U}=J6Xh>5-37k7Ng_F(0xO{pV$C}1yK7iYo{j|?K%Ct<7 z=nZuE7?(9`aQp9tapA-)_I}uj*I&Mh>*toRJgMan1>Ct7q`czTq`kSZ5_;J&8tyD& zW)PSiqMv+f6ncVKo+42unG}HwZB&iK#X}VmMy9)DS<7=OyOOOQUqUGZN8^93u zzO#;lA1z~~JBGaYvt(LJdzB597nLv7Pqs6Zc}!~;7iVJVy0b=-6+qv;2oXc?-I%#= z$3fDL@`Y8KbVK>e%6#p&UDK^R6i4@eL;R(IOLA z$M*$o+H&w-mGxx-9jz(8YZ^OCGDDKs1>8Cv!SOv|Tsxh_-RmT8ORUFP9&Iz5*5fd+ z3a^$LEKgUlLcf#`S7(_f>|l-$sH2xh-yM-d5nJG?BX703Kz?ZCTOC`g&qSn|9@=<}J)RD39(|ku(z1 zwlW6pl`zzyX;O_UijeXfN$LP0f_nV~aAHq^1TM|^rkVCp9NEP(aX5qPr;50Cs({wh zCEPeu#?=#Lwp%&MF^;D91K9uG2K`sQUBpci(TI=bE1=~xF}4jFk!KuKrrBPm(`g%l z7k_XB?y>FvmrVU~$lEpn>9+)^N>&{C@w| zHxajujSWmqO`)f!2c4arTj=WQvin!-!&CqMNTtszr-B*Pi)td~ZbFrX?ZRX@{XUHV zZD59EVww%ply-6sZj>eXrlF2xF0 zWG5Mg?IKIYiby81Hq~Q@7my6IdLls>y6cg*W1oO1v*(h;vAup0j|3}Vt>4hjM{lvX z2<7}(9<66GHe4;-JX6B;(-{`993rgzW1*@wbZYdX;k>O?ODD@nB@4)8infkGmG%q? z&W&?%_KNcCZLx5%fL%YGz<7U}y}=?9F&36&hR-YsY7t?7feoQ{8Kv1%Okrg{ft3X| z)*ITfS!QEXVnw7KT2(|gSitWlY{c@&M^-G{c%!Utgqh(gd+P;~tT;w`*Z}tiFg_R{N%52D zC9N_v@}`QB#7>PxB$UR=63Onec4noZUBqh(^qURA%t+D5kJdKLjAyJNxpO6jqq`y` z>;)XRw69vvwc}b2v!i+2fjToDCPK6qL~t{01WxO$H0mtkrrnOJsMQ#&u~vT6yDGgX zW#(H+vC&8qZr7T2i{0N5w>%$XnkKM3n_y)bW4IzD^(0|KF(daH<((QTU}3VvxOgK3 zOEY<Y_QJ8u-xewA@-&7%EU z0{3o&==c2*R}o3;aPS!krAV$rn4gJbekw(zu`orqNWRyYzW!y6l9F&QYnnUFe4?cY zsu$Er5_v1oJ(4%N-`*NR*R3@D&C&lNI@#!Gltd#48cFD9!#I4eg7F@f$BrVVN#sPP zG%B_*&c=j!VQ!3#JM*nZWmXx6XBD>ibV{H>AYPUiLQ+i5m{ z1$49i=)7J*`;{^qvW(%@xxAI#*0U*oX9r`jWd6*KQGU}otjv|@cN{%;)-l+%$&N^f zWHEq2b_7Pcb8OUeY)nZ;uP1Tu8cD*{1jEkq#4xP0Bch#_+GQKqGjFUdF#l3kzJ)B~STOmn^PBVqpLQ4WsojlJqY+HAo}8UvK4G4j8cvWXWf^C7 zB72e~GI2KiA&mCKO+LQGyyd}wk20kHT9_XTvm-AeCa9x9;%>)>kYSX{I*&5NG)%IM zAt_jXkHgRm%BrYBfX{v766k1Wk-V_6(?Qz|1Ngf=tQiBz3r z^&+3D3)J?gjIOetTW1)2^JQ!Oamx)8%yFWbiu!_K-(H&3dK^6CR`@W+uiaSF*!yyG+5 z|1Xhxh`c$1^Yfx!>9>UGM$mRLJqGU96cDdmijCYGiGR4Qcz8 z5<0H3=cBa=Y=G`vW$%bRByBVhX<1;wUYI4poQu=1Jc$p<4-0oFm_}H~V~}7?kFXKF zo4L>LM$e z#Vkox4oh>aq~@|%A_34;=lqn`2jy8|rHsspxTwKaIx3BomfAQH^y|2gD#@C9wjOlQ zvf}Z;$RYh+Arb9t(=ON;x^8ADlRU|Kl@*S{yMe>IHgIJ33XUC^#i_$%jIZA+UF+4- zZ>_0PrMb4mymD_9owxmzO_XFoJH+xfUAsJ^-GL$!Wy(o10(-^_`Pifj9<^~Jjr8;B!{Gmd0uOW+Ao8R6>Nmy_63HowZaCJ>BIcH#57WQT2;C+ z%`|$Z5m~KA(p0O;kU9g}ac(0^%F80re9y*IM`SI$9jyg6PI=rsS47)|3N9Tf;J~|K z?0qZ5G7;l@5C=c><6KJ|cdrzf2WjsX$oZ7&rZ%$y}d-K@)<c}eV*^D zY)n(wBzcIc6GRdjB7AeOyfrbv`k*t1;hrq>fbxNMUlZLi40cBeZyLOxgiyy@*r*tx z@~Edq+t%4h>F?aMwQzmyG26t@b0>-0SHcXFc93uK8N}t2eq1{nV7-_{j&+pEbv{Y@ zoMNYjvhcA3GuTA}+U|`)4)@AmAJZ#oqklGu}~5<(sj=b)0M-!^wlIBp(_zOR+2#Z0*)15)?fzG*@w+q~y#Yc5?bNHglr*E>5j8 zesj2ceGN^Yj9~A3{j8%mvBnoYsPU0Zz z0ha$eB(+^6WNg>&ULrwdy|0n9PL>Bv`Rex&39qJUyIQN(;kbL5`SxhmM%9`>jNAIZ zmJih_ui*4v;Nn5z5NrnFVheETa24mYoaa!1gs?isZM02wfGvg4NId0~)3GNW-*CugvnI>?ZT)X1o>cu($lG=$J+WU2P|rsx zXHFw#^`mGaa3XS=9u-*=dDDoT%;{YtZvz7Z7#tkL@bIub^;@HI^6?xwP{vnfH8~W<$wTubZGP*8oNs1tq>MzIJzQUcm4rq-wCKOe0#vRYMUn8Zsx>!N_*waOvvNPStAG=`fs=bGIJqxt zn#PyMuAA)5&U#bFD*WofsdA8f)Fbb>876ttvJJSfxGKu8MoElHMJ;g?Ks>)txnFOwYXwYk%C3+^MrKi@e=!`5a_Kt>F zVG^NDtsN@aXsC^r(T>GW?}SDbI&Vctv~sM_v=)sO{cYe1E31|d(-sQb83r!y)n( zBWa6^xRFq$nMXAGsv{^w+%)RoktGtRJM2y0CV9D0WZ0DcW%M$xs-$n6Es#KH$8nOC zZr&QH(+2|>XpbXJw-X|7BrRI^rFA;VSjEDkY0Pw-4HMH+mGAsS7HwBI*#HGucG9?W zIg6WYl{8?RwfbZFlrQn zE*N?lK*D~`J>wt|M<6pA;AipIK$w6_@Xz8s> zo8D*}{ZgaV!ROUuWgL1xgZ*zY?cdE{-&-*w@#hX@Z6UgL6Lz%bNjM4^?x^D8ktlY* zv5BU4QrP`k61#qu#GcnlX0Na_#yq9bAB_fzSZmr<e;mj6`*8X|lH@H*l9I>iePvt3f4+$%j-=%3ag~!OrUz5D zCR&8OyL}98twTn5Z(g3pt;-8`{Dr2^7f9e1nU`WLKQ?8Z)2$>Va2an|h0Z~{elARM zpJDo!Nc34=*zwg)(+Lu`@jh>3*LZ&kGo!4>eI6-x9bZS6=j(*Ji^NkXn#M>o;_=P!Oi?V*w+8%;YrmmoV-0s zeI7H8ylM2!O@})2rqMKg*T~zW$lK7+ki9$d_GE<3K_hK-q|Km=Ave6tEpnn+)al^_ z&NOe3IK^@HV1bPo8?eLd;jyQ$!Y9(E1*OZ=6-*54IEjoE8rwV}7C^VPp(2sUkf6nE zN=f9+$KJYcNjn*H-Za*V4sFbn43X5ar`*+=V?~j{$-Sl8)FKP0@>3X|z^Ee{ni*jkbExs;C9qA;!3A1g!H~ zl|+?bIPa2JXg$j513Biw98TL5NRb3GLN^jd-ZT{+^pPCW4^7ERzBx8P8WqkYNsL8a zG?Fl$#?4C`HhR#0El2W}x1Dk7y~}S4heqAnNiaHC7M7Ubm=+E!Mz&6Fb!cF`D42DwB@YPS3|BmFQRn&Vu|^* zR104bx0q-9?qodj#&R?}mS=v{Q8@)WMn)sU9%)OngQmlmqlm|JzbL&`U7);0C=9bx z8@O_2!5ZU^DFI}-ZTQ6z&X}AZ5L?nYK1Z@uuPL+Gks3& z&9DQMLG!!7o}U7HnOAoIEQ4ETGVn7W`I)x@OqXcT8x@@!XCv31WqkmWKTWrJ7-54s z(yi&kGRtfMBYkNM^+d6;lJ=(DnYT1DBqSElBr5=I`=s)|*YJ)o(TeCnziq z{4F!8_m-KTJ8qyK!?m8-9JV0w$8dgZKG~SJ{EZ^8F@Q%fTZpkOtg^Ep znbB^*AHnisfOQP(n^4itlp80RRehzAGwsR_kaVR%6Jb+c@1y+ol)kBysy0=v zF6do){Ko&v__pYk1wm`v&bElW#n^~tacX~tzk|&12`rPe&9c`sKcVx%vdnBjlDA}y zyp`bY64l0sq{y2uiuF~k10rc-qwOPs@~vpHH|a&pUu}dQ^ujYAPzr!kj~ITh>O7w3baHNm_7UEo-s9CnK$k>An*oVT;jk zO-Us9jM~P41(8NVVyX0IMAk-U{~>?7dBrxiQD=;*!$lDD8I6Kx(~ zt#6n9vysvoA{}sikBzTJSniP!wO`F+tY1^XC8B7XCDusZd~9^@Tu$QP``YPM!ojyR zZA$X?S_wx#)~;WImEC2A;lklGE*w>3Q5)H?IIC=F&0CS=$s?z6%1$J%K^UVcZJQl@RZ^{nP)YNl$ zlX);fvKZ3=vMJ8&GPZIM%qetHrpCIUE0B@ ze5H*%x-}yljv$$2c~PdK$LhQl*{CR8)R?zjTc+F0UktlO9Bz@kooBipcsGvSuZKzA z2Oq}t@R>E;6&txIz?_oc6EGC%BD{Tx;^<@IjYG{1fW=~Vs&K` zy`6LDx#u?->wGUY?rkJ*+Ci?hP8XX=Y>ww~`9v5K12NlBWjordx`Q=B@>a0=N}C|G z%eMPYz(z?m#ksF_CG}RZ6=1APNPE|J`R4_fFqlrq^ zfljldlg%oRl&u4%r5rP333hfindS*g_Z#ODc7B`H>HT?34rS~-!119trfD{^N%<<= zg3IqBY--Y&=d~l(>LjLv>e$tV1mnHo9r&xM?>4Q&WSL;ul8k!Wij-lAWVc9}QjeV+ zbg-%PmcpTreI#&x$|Zs3k66FIAG4!VF1F}6D2=eOv)NLxQw1&)7mwum zp0g>}b1ey6KF+r5MhR0S+cU$O?JC(ur_n(l$s6+_BUP^GS~p!v&w93!U_87LwoE32 z3l}cnnP;A{r#3u3zWx7lsb33ub0c9pDSZd-1qHm%tS)h7-v;LMRZR(4@)gfm(@!h)_dZ-m7;61Tha=xAHS-J1(` zJcG^=8tac)W21^&G-=pvqkv0fL)Z1U8D89w%{Y+rYh>0b8Tgbw|@A zOIThAnVi)SX#_(Rgk-d_!V0{TmG9kV5FhQcA)8chq56PD{2uxRPz0<*u zmeBP6CJwys!@-Z|(Y$+v_E*_E)rNx%WtFnSnWK>;8^sL6r3K9-H(FbyQH2#^t;~u( z&q_#BS89yQMuOsDZ^MGtoOz4XN#0m#WinY33&uB;Mkts-P{&LV38sskF_qUb2~4e8 zW3e(%BFf55>%cUcsHtOZk#9YnwZkTL?7^|!X&l+TjwAcVFxx;b_yPRFOEa+>&OQk zav8(fLs3?CVdyx5%O~Qvb|%Qq1IZg3G}~EAwo@wUR+A*-n`C^GMyPC*F-)RPl0HA9 zwM}7?k(^b|Lf@SdE9DX!vm!KYDKh0vC6;X3=E9Mvt>-!0%rG=-4V(`{Y~-VxB7_>b zE!whxc$^)JlzPP}q|*r_%#vw_#BOOeiH=)-+`Ufnay5wd>stS(=^8e?H+TA=J7#T!$0H5ih>sh6({(^PZ>;-Po(+gb3Pk(}HZZ+y)MFzg(yeK|?)Eh-&qs^| z%B`(UEG+6ao!!2{yuOaRtv+@*!bV2!UXS4JwJ7sx$cUzX-@LTW&P4(`u0d-PR~O1G zKRGPT$F1y!gISgz9cdJ?9rBS#2x+#!x}aTw)>EUgYCKn#*I7oFm+OndyI928rUDMUlf&*qMENWGJ ztr;McXGGv8b?)WiDI7mAhogH}*oh9>#)LD6R1Uoz{^t&F;?l_tTspOA$H%B%%w@c@ z2t_W`nF(&jFgFvxBFll6t;|kj_?|%|#Ew?lTfbE#x!3M!t zLXhbnBH`7|FlkJV#B4|Y$iN21hyBpievY__Xxj{l>I7?t**-Edx=lel(?#A^NLIV< ztXSRM*AXU(OHgK7zeqxRN99rLU`4R`WSy?j(azf>?(GqNk5kTRTT*iEOaO=X%;NCw zdAo7q@U9h-xn&&Rx5>IHW-`(`VU0@ark)GOv}RTauoJk6GcBuZU)Pu>+Ek+{-~wfy zV%#Ej=3^wR(KhWg*HKzA)~h7{Byu@c(uqXEjtzV5wb#(x+>E)oIh#fmzxb-CUpaYm zWJ*srDkeB$rFZQ%b)#z{X^yaIr)f0GhJgr$LiUtdRf>+tX{uBsZh{g}emJtY{oN5c zy(>(5nvy=@g-Lc4KF_>*EH-+^!k}}_#s=66=+#0|9lfD5nL=2dXXC_rC`4kRJ2E$Y z+SQb>13Eo-@@y~CBoDeZ!MmtB8P|;jwR=Hrx2f*UEU@9rTjQsD>=M$CsFBK$7)IFh z(_L>N>j6%U1WE4FtjtK<@`_J|?s|6}is-DZ1hKLd#NvDatIJWWEyozHG<)79TRRX7 zR;(AUA^e2Gkx<2<;}ldWmTamk63oHwtXtGhDD4>Jb2;Ko1F=Tajy*x63L+=!QLfVb z3VU)Iom*z*B;wfLx;R( z(pe*P-bww;qaq1xq_o~qq*&*Gso~d}DXpu~PR8{`R;m+ujQ3_R+Lgyx5A#M}jFqXM zjb*~}3_Z2<*9HCxLxS>=JeFrjG}Z9WXjD(T{j}>>#ENl z*XpRXyzRu?TvNT3x6wo0DXirl{QXvXDr@SC>A~_53Fy{T1k78zLbZb$=N5%cvl833g0umph5j8as1>%B#hZo#9QJQP7UoA_DC2X_<#c)xCQ- zNywE4mR0vKoXRIPD38effKSKaY?Ay1S@%b58hA>(tyvc4#u&$uG|LC`^k|In4YST; zhh3cowJ&tYcFK~J=}uLRB1Hmxl4$8%xoC)W5bGmN3#zOrzldC^ZjXk%^0Gt{r+hd+ zp|q#WnZMQMM0MK+%T!<^$$ZGpT9Tb=hS{L-TiU4|q6YJw-Kt@EP!VG}3TIenvmDzl z_ypyZVO^kd#C z4?1dbu(&8<)T;R_H?0@VFzYG5^v&y`c~AY8ImN@`Vtx^_FL$jGB0;Dotq^I1$<7&L zonYR}UaeAfy>-tIz85J|{?>P!9u*iCO@&#!EKc-8akBHAM0_bj#gl1KFFSATk_e=3 z@36pm-}TDx-Y9|0c*M=^9^Q(V%+kt3N_zFExw(~Ig6u22N_&Rg(noRUH&0FvV#~g> zr})aebGsfjbLOVpcBuJbX~Cz-nDW!~uI_}?v_hq-^RFUAhzJvL`Y*yQAuF#4%Kz%c zN~ZKsd7N%Okk)!CoHbZ_33NtKo>yKsvxFyWx@Z0<-I8=RZsAejtvuD-RUG7&@}S(1 zTY^Sf1b6PB)(h%b2y@TMkGBED8f=A0eu_{iKN+OwxoL5se-Fr2=}@oq+og>l^L40? zzmtK&tYr!!MH-n^`L~S-wYZo(=$1F?UZ3y|&NF_~qb3haTY-M;2z_&A<&2*6(=KLF z8Pa#=buSS7U>S@Cw|g&G5afR?3=RtJ=Yj0FFbOUW4lb+@_)BaRj5@t~IQJg{|2S+J zro;MOd)*3$^Sj=?IxCM3+YYF=Be%Dwi_>%OGUwddvdrgpx17HgAN`OcN=zlH5|?@| zZZhxucaRkanQ@SF=C_pdwBCVQVC(JFyY(p4o3BT`8Rt#CciZ(IhkCaJ=ZA~aR@%Fd zTM_+At6vLw6H(H(ZjmjI4DAe=b0o`=JLzdY+uIg?pSU?YGAq=-KMLFJ7?}3ffY)aZ z`{QMf3TtdZBuwE@uPMo%wR+eZ1=47PM!!^%Yk{b%)YUt*p=xVAG(sivrXH0>Vdw)h z=~g3IgOLh)D==vM^B~L&?bvWQVfNG@vL!87v}n_TJywA&jg7)s1m#H09sU$a^QQK^ z-%j7cw(Ym+)$|pv`{Yf%XPvc_uycttqU9RQ`uIr>k~`mM&)c-&9aKyGx`J)-lO8>^ zi?Zc*HDM4@l%9=>%BdPEWPdjOBBDSUs28TuGYhvGc8#PNd2^isy034lw`wvp(Fj{g zKk7U&(4a+ZJ4AjoeXOU#=DBaO+6J!^AlWHRJbRuS5-Po@2hBeSYFfsSpp+lg`=mTn zPUwuyfRy-Nk(|8yaRJH2BTvO*%BD*!4Op8h?UX0IM#5|T%{`{8*9lNsF{~D5dP$hv z1O~zKp@O2Yd6|MQ`k}aaJ!6k}3vydB(x@iO2Fbh~T+BAgJ6u>h54}4&ZF2+R?IzTA z|BQ{|mC6Yl#Zw1JeyDD6=Q|l;H3IMDcdv|j>1}y`3r@K8P?+n!Z%>QbXERcZyJW5K z*H5jBa2k1&OlZ#RI5!?}&@}EV^RMQ&^Go)3g8N=?NBRs8nAeS6vK#-Rt&XI5@wy>&cG&k%q!RP3Mk_f^V3+ zr|;hX2C0Y0+XF=AmjG3u_2jKyUlp&{pnA}E>FK-P1xMZlN8DtlKJ4{wZ2#@_r1b9G zm+~4~y5S1JR)(M+GrBcqMh-M`mPetOMk*aeG8MC_Ax*WVl6gWTj?EP7O-? zbgIV0D}Zvt8#S=TmRjn?t1VW8s0Kj|8$Z)uFAQFw1O?D@O9V-cmW7)}Jn}}FkO5~Gzy~lip*%b!!@>MPftSbc!!?W{IA279=#W~>`-nZM7Ho)jiy~{O|nIQtX@=H z7(b1=nQRpmTJ#!Nkp|hJc_VQi;c=rB9xI`hC@nm#{k~FzxW@ujd%SJ+@M2u-7 zLQ4|Q%%w&0k~IyRn|5lv?q0Jn#0U{S-Km=-r0)&ocxj=$=b$vd47Z$ES}$2Uz}lONE!x@@O|xkPPO_6f%GWw}$CIZ< zW;KQ4jRIRbFu&+#lrrP*rJrPcKdcX;{=3ql21_`XIp}RIIkbjSYa@+ZYTcC^d8?J@ z2kH{pc^u3y59o=d{{!VhP`;FT7iP)0me)j%Enln?i#2QzTC`0&N_sCjYUX8M zX)QZm{`KH3@9^@slbymO|7EXce<#R{#X`qX89qRRK>F_|DsqfOPUf;eED$`qWlb^J| zWBe5tSGP!h3bTXsoc%}mvm-5 zKZV=EUyF~6ujIFtj~!fGzkGO7^=lz-j&NC{Mm;GbF{*&;^xeBqKf)$`N9Nr3dOxIg zdKa7@PQTu+5fGA>?Uk+mSO$75dDB90{Vb`qM&)!JlGf>X4X+5C z+@#C=snI!2cc}o2K;-#umH$>)^oL=!%&dk~;qV$UyYa!|AUS%3MC4C|M44J%$}K$w zktm(ZWJINw@f|4>xp{!R)$EwP8sx6bI=lKU_jNJ2&T7hLbR-1Rhk6XIb+#!sn_5%+ zSPuC@e`ugsk}Tbnod>?7=*?gz^OBr6u!7StCjwakEhjm)o^&kr()Oj(45sO7EBjhgO_HE`&Q$o21SiY zt#X#176vbV-n+sff4!@KJikQTgqW=-D;D|P%z4Dn8->*xGyc{ZF~!s4Vq59q-Nc}L zB)`?D$vv$t6FKz4V`)HH+$V0rec~qhd!)gWk1jDJt={iVQM_TAWUmb6vvZASULG*jEghpWMJmxPAyK>L9MxI_7pFn zX5aD#!}NeZ^^l+SaN(yP4wjF0g8cm~C|tiNC_ajp($K}x#Z!JUOcr*3f-7jnUS$Dc`mJMvIV>$u#WvgS38YADg$dIM44No3d-DSC78YQx3U|`lEMkySKGbM16xJ*eDc(NFKEXiNF;UHM-XDQcvb|TE1-@AZgV? z=se@gcG5eaP2s3PVbOH55r%x(Mp_j1t@L1kH7%;Rd80j&yS~vK8dW2&r{qCx4|-5T zBX`=hXCzS5qYRfp@ggi95|!K_Ji@{>pnE3cn!8@*P^;JswF*P&B?7Y}XwE7;R{^P_ zr4adzE}FX*{u=a~+UBumSCx~i)CE;$^4p8M2fZr~lDI4Ft>JNvt)^9UjgCeeY1iW5 zksDi7u5@K^M51-tdVy)Bfi|7)uXIwLvHWKFQzM%miR2f{vmz(jb?ZpJ#i14tLoIwB z0r%3)(z9kx$!O8kpCi%Bmd<_aq-|E7Z<%3e4IRdery&;-OIk*DXl)9jrf?~@kB{Oa zH*{}yg|AAVhy3zk%1G!!F2iX6@Onw?l)%jK?Kg*lUwDT><6(PmfU-Cqi5L- zh7-gl@%DAdW4&C3U|t5Hcn7iZy|B@*AiTd{2l?&G-XmBC7|#0dM`=--wvz5Y9Bfs7 z@HuZ@M3}UCRC~8+YY)H0hqn9BzHPxRK?LoPEc^bvGOZ-lQfsX?)#kmoZrw86xpT*^ zI;38!P5h?4+Db(CPo6xntDvxb`2GF;7LHc1W-~4fTOF3w(&HREM0H}GPId62&M%1k^<2@UAt%lUzP%CrVf2j^TCTqTE zt4>8YSofci7OS}GR2_NK4_FxwJlN*hI)({%JT$L(#gL=0+Vq8!TG3eAOH?5!mQj0aIgfTM4LhDs_(F_&^$S z<2k0Y$TVu}le8T>w!9Q&_<44=BsqkJ-sn5Q0NIeZdzm$URJyzr{G$jl&hF~!i8M1> z`J1yX0<@Y{LxN5#Xus8={17pBv4iO8~RNNJxy zokyCo6_|Ex(-6>iKZ}m0IJ#I5+M8C;acdqAT4yZ3wE9!^+$~(7pX^k$GErN8L{=Jm z|Jk*Sn4pzy5h7YdJeFr2OxRW!R&K1bDks%pZBDu}TV&g_p*yHB$ZgSTIWb2M->^p+kqTfB$|QK71G_PMok^mt}VR_;G{6 zl)3hmo1dS<>gp21aEL@!kxpxC1r3?1QD*f}Jtg#ook_8iOp-#8R2Z^so(t@-S+CR< zS=-6FrK{CVRxU^0RPp$&!8#aOE@NzvgzKr!;w)fvFkyQy$=rsw=2bk6V{g80v9n zi;g`lTlk|SIZqx((DPu0h@$VIwi?hDC>e}A$&(ZnNd~l(JZsmfQ5}e`qh?CB1HSe> z>%OPGwsJUsWCc6l8^QK>MzQzf8SMIC7`r~|#qDd$wjZ08=r1qmkomkFAngtcSH3VK z^;Ie@9GP2zZB&|VU2L^(iyloh+X%W8IHeTL$Pb{5v;iar5E~T5m+raw&rA z=aw3$J7jI&y{CPP=ertMVL z*5X)Mj$&;!Vf)Gz^ZXc4yYrko87TbC$(#Js94qCE(-@N^@SRnQ#?{qLlAE~{9(B&5 z{mueObH?_f)268>cdy~Y-%jH5*B9{dD`R;7cRl#@tp~W@GUv|RWE9qilX*?qNftTQ z$qWgej!-Mud9f42MLP_AN?TQoB&`o0Fit%67s{y8>?uJ<@K~Hhf60GarW>6 zE*x9LsY9c_k8jM+ut6;-Vax?>)j=6dus~kzf9St zyFK?Sb}~RuM+T4D`C&rzc4~{33Q^*H8iT#e_r*jkIK^dE$xB(y{c^Wo81_m7u|dJK9I)cWmp&4m;Wh(8LztYvgFx~ z>R6zT%UoUrgAc-oXYM7skwu@*P0|x|6NHIwWZy?Hm@gjkTXsBx5ebMl3SwjY&8dIk z{imNYd(O@#*zBDd$PdL^`7ZD|_?vysoo-}T?VE_37Le$w=OFRpWutpRW_IJl6m(BB z@5bx|9h<>7l%QwwBbfieG6+b}`bPM7TZM^k!xQNeIe5J z>Z`Bfcfb3ck+y+3*Kq-p(DS68sIPTrPD4i`xh z6Gk?zvuq5f>UXG4IhB;=$W5%yrYoj-Gp!2kxF0bst~cfmHuP$2j@6NMZ+X6ChqVtr z&KW@(?2BWtKT30_k&v@>@IGHAJPMKUU!!N!VBv5AH7GeskK+T-0v(IwSGo zmt{K_QRf^U_$Z5gA0}~lTM{kjOLoYwj>j5%qD^`ofzyVaj~^uLc$!D|bLj6>N0`G< zpZ45x=ZVftCQ0DfS&!$zq@WNc2d6{QcNwdKpVq=I$S`4k=O+;&mY7ea?Z7^E14J?({(v(T_ zEx+e2-2C2dC}EiEK%gJBJ= z8<{Y_oxf_J+%_JrF;{%tTr#GUUk!drfUfe}%@Lwit7f`aB~iYR#7-nwAC~Z-l~*0k z&hqKK2b|fL#QXoeiuZq!!h1iD8FHq{HuU0Kt}C(|xkzN!G!IcN%p+e_=K#HvCAzD_&` zli=^&`R#^#TzPu4^$0z4*pTNubK;FQ!@9^Xb#Us?RDirZi^7KByj?*rXee_TZw9^d zSQqa=?mfKah6LROVWJz^SL76rUzZV=oFB`3R$hn7}O@c2PhTcfmt-wS#a^&ML z=$Yc}1^u)?va9luhEy6jT|J>!+5_%&8^pRFdhmt1{$l;&Zi4uIWTRgm8zlHD7-t{7 zZ-VDU2J%F8!KYdIB=|h{&l~dNk6eB<@+N5LQe@3*#XQN9=1qi65P{Q9$%0N&(6FX7 zZqaDeNSp}VrAwFa+u#1yv~9YI#Ch^2&6@lcN%I6z_tN<3ors)>o9=azgEV`Q$QrM! zMi8}Gu)^>wT>acQ)eo(ROC(azX0iFaJ0nw@aTW?9dcNkWLTR|9F>cQWT-qHCZRxc% z6VeRm3_2Z8H94&NEXIbCBq}8vE|fiWf;Jb3osJvU5|MP;4QVUX$!as(yUlaBdm~Qr zRhd8fwC zH;dgLEaC3e1lF|E`$E-*h*y?$ii9@ZmFA6gqmjQNt0EEFyja6_u{B5b;!&Z5oDH** zz%XBHHSM;YMTMQej{CWFWd(Px#nE&@abS`3HHrCLR zs$QxQaE+<__N#JjD9`3lDgPO6J#U-cYFiY|KhZ)7w=IXZG0|jbZDpbT?sURH-qL79 zb*X~2Wu?V!gQ4^(ttw=7@D{EOhbj)z&}!nnI(;|K!>t&0#7)H2hUgS`))9R$Xug}x zIb$A9k0tToPRz>iesczGH`A;W6`b0W#>c-&;lp24@$oNf_~h3GeDqtAye8%Yor+Kj z$`fhBG(+;eUKMncLqqosRk6@k!@xO-rXyi>KNaRg~O$1Ja zO2kbN8Iz{XlQuy_PMSAIt|A5zI1#Js*RLCKllD#LnCU8L*wm9Z`Rl{+S~n3m5jSb$ z^sG5@@?WG)L$m&>GtsQGl%}H*e~B7;&A}5i|4#Nq-Za0-G!9m=_{D9+tugVENud5r{1yVEyah!Al!U&x^8d>+l`i)e4E;)xF2 z*1_8kY9wz3JnoFxPU31qUB|96*4LcVYI!0fa$GLdZBCu52kQLYwk0Z8TlH%b^+mce ze6N*_BvK?;Iwe7KuVRdMbXjB_yoU|5n}(}VzHXZoEvRw(7h1Y3Z5Ay_gmuVypzX++j)1uH0#94Ju!Un>qUI{s}zY_2JioJ1@HfQ zobMvG5J3LOPt_@>d8^v+sIdtNmHkC)YdUZ-gqTf zvYpk>9$K*j)z9s(;`E*ppEdU_jzYeGVoBSXWG((i-da|${q1RNdyRGI^#aKo>l5qH zg~J)s@Y=bQ4|MDiKOXLt>@fA-_BsiAm87m@#|8CwCt1Jv;l-kH<;!?6fg*0U0+%S2 zbVQYYXrY7>N+^FA@&bADNRkh^Cm(i z&6`M@h?eHQY1s7j*Izen+s}XgbGu6W_VLFbn^sQ*QQ;^IL8MIx5;>V`&YPc4Cx{$M z(KsH08be@uMLVW>TPoXJ zGaV#6*q6XSUxef>inZn9y5`N3HMvtKZrUJruyU_?aq1j(WQq<_?r2@Mvq#%obZ~J7 z=MS&p(6(9Z|8(BY4Bh|P6prqm!mTS&3_dPmf@EiGC~jw4>I~4Q-9Z+sUWSx&Pje^OF(iJC?sj$ zk2ol639Y0Y@2{ZcQktYKOM+U#tqWDOoUhvXp?w-^6WGc3b(Yc75x1jVyvE%~lnPIE zRAh+$Yrd3*-IUL^hnK?Rdyy+a5p^0cnF%6cG%M4Le(312h3Oh13nc3Enz+w2^P1DD zNyb?u$;g+|F4ChdFdD01Jt-5pRQTGx-;iOvax_-l2(2PD;-!0;(atPMcE_!Zo$V+B z*LjEK%JMmXID$`KAH&D5OyQ&7P2#=ZJi#Y#^pM~!+i;}_n;>nO_^1w;7eO0;N|H7R zjPW|sFKrv_%vF&#&DES5E3p0)tUh~9mrqxTaUJMM;KH#5oc}U`vj@{e3>S~j;b~9Q zjy}p{l6Ll~&U?(KYj|*H8M{9kBjI1hj<;gO8tc$3E*^`Zvo%X{remMh?BH@8BHq)H z$KwtSjhCTwIeR-3_93*o*wA3}w_|M&GgQOd((;vliy|Li6Gt-7DhO#UxtJrO|RWkEYXkG@mV??P>*G zw?JZ0$HUtiIwgr~Ekg$sKWd8;I*XG~2YWYXLw6lFOL*8)Kxa!99nDE}w8R-^!FBq| zALWzMuVSGSmX_he7SH%d41u2 z$$=_nhD$8JBBlmQm>$&7aSrXY(|Id`2e(#9@)yx@djaEv{5`Ez5nENAC?OH4Ax5%1 zHOvpK&Y}_c-j1^6TR#bs2wi-I`9yollektPGtVN+N{?IBt8;9Xw#Z@?)1#%v`H!rV zJvrWIFw`5z;%v?~-?f9fnUO`ExtgtExIcxa3#({8$LpC4n$GfiK1za?!u*8JDNWni zmvhqz%`!Nh4VzQ-TPXv}__#z9AJPHhe_*3ETdi%ygBRX-pb+r5)3Ov?6ks zFJH!$D_0D<*W5YpU(k&Rp)_jJqDi|aq9_vg@Zm!vfYQ!s_*GgvJ!|_BKM!s_jr30Q zeMGoK&S=R0>JXlhH`^yp;p)9Ew6D(ItcW}`I)9m)Ke9u}UtQy|3?|1{Ff~qMIiAJ@ z37S^^MV8ziZz4dZIT7&_yx)TSmS#m-nnoC!OQ-y^>`2nD z6prpp;`r_en$Ks^eTQVN1?XsEym-}6Zuf0R;5u9C=wv**@8!^WZ;hlZX+c^CuRJD1 z#zfq@JC@OYXAuu+Pm}+<+7~c2mO(PARhV^N>&PUSM_T>Lw3-%7dCPQY=ueu!k-iiz zpPIvkW5NQ?ADzRc6HHHY3PU8JqfaUr?9IDjNs_G50j>Jg;oT(+_Z5k<4NZ65&7$Q} z6gSVsh%}ln6mb1ij%i-SuJw+NdqPBt27BLeeTJ5X@;!7l$AXzHm?hR>i)3|pd$NMxMwvyD6+!yJ$@=oPs z9~#U%5zi+*{7`rlMPGLeeO(Erk@a(dwV!#?SdU^@Uj?drUbSe!4Yk&6F6d}~6;n@1 zAfFJtP7c&<0fNHxzYjO$Ofx=PdgLD=e+7$|K9u+a(n{~O$Re&?zlghcTSypL=c;bM zN#8!L|CU392od53##ZGApYta1kra6oY4h8GXoyrprP8)}awbST(F!I|4Xz+_f0gJe zG9r>Djh?i7ninS`r)@#YoSyjH`fzo}vSt3{mMTe3w8-FK^aaH~XORK~-*3CvEU8IMLHwFrT6(#Ej8 zZ5bT;EQVt{ia5QeO7fM$k)6wU`Y_|RrZR1a*q+mvOpnJ&-WJh*D}nn>($>{+?<#Qh zSPdt>DB0qR<2x!i`9&FDZePQ-Q_}L0q}?KMBShqS?z*cMadfm)&~YnALY5?XTf*#Q z`~}UMhD)^_N@v?V+HTDmdF#Blj0gATNNiFhZX|3ZZ6a|ZZW;m=QL8Yolz-aSO!t+H zCh8|~;rJ}h9hoI@o5z_iXNsTz)x0PlQf3ESUXu@#xyUrXbYS7&Tbw7f_q%TOEJ z76g`~4UMv#nb9nB)_+2EH@23y)uI!_Dcibca=3zt0g|`&3Q1d@a3Bp}ec;n6?T(N?6YpXEQdO`J_98r;iFYggMYd^0vs|f$FFB)8mJN!uO<0T1(Sj zmh^Gv>Z0b_N$aPfdK;n_i5spVwnBeYPO4L?BaJ$}K1We?C_wJ)cf&uXbt7{e9DI!b z{#XA6|NN_;V_|XD>c18k3I6vSN+_X(@>7-{oxF*x`RzbNJHxK!j#gigb_nvdt_$!QUUt|D(< zEX>9V(ih2_i@OZ{szGl-#>Q=Eq~TU+A9NLIaUGQN$NZ8#n#ZF#Oix5HI;6RAagwBx zEh304(r;x~!+W!DVJlo|2;JUr9!8LCKAyCJuJco;r#V&H+e-@w@;RN;S|LHHqpfMh z_SyR4tt@uF3ViY_;Pc;!ycL~B>rUCw(?-&CH-?!BG8`ttEz~H|f94T`?70`mq0d)w zVpqxV<+eDE?pnmtu2h4(X=s@dVdf~kQ)5o^*4dgudvn1S9%v}^+KC!Y?k?cy_B@X7 zq+eg;aqNp#v|LP(NS4udvtaY^gw9)9P*EWPBGJ5^wN;p1_gB$*e+F~YWMIl?%U^}b z9AP;u%w+JeeHQoc%+T(#5xI_gQ%0DzFPR*j+fZ+T_hmC5>aAjooI}XgX8J^%Hd*-I2r2w^y<2?KpP7UBu_FWbxVSGt8@1i&vI$_4DLJ67D<$)dCQQzk;suaiM(mGaof$3?HSnKT*ck%S(4u*X2wcJxKvMVwPuy& z%-_J`Tn7E!2_vLWx+>`Jtn%J%=B)CxEjg;%U0xeaGox9~B5%^d$uHGe%^{3ODsFMi zsOH+$7?&Eu)D!{MRr_ry4f@R&2(29D?^ug^^!r)=?Wq1sLMJ9R7&W+(`|L`~K z-VdJ{Dn|L2_=-Dy8LM5O&TwqpdbPy&6^)K)n>dh7pd}uOjk9oa_5Pe_s5YU zHTe2+cJ>7MFLEeto*?a+R+DO|Q*-BJ*Sq!pDl9j5%`Hgq#7=YDG~Z40=zeFsLDI;%dMkJ=kNajXM zP9qT{Z*pUvkrCP6W$eA}NEY_s>l;IA8xs*q7k{}cGSjs*I;q8RFrU~G65ku@FIuJByl zapZx-EK$V#Ox#H5+*HD@vy&0qm(EUkAn(v&=_5~9aPH(?Z2RaqK7Id7eD=X1e8%h1 z1K07WeHs&k8Xk?1$V4&lC}FEEd)gU?&K!pON+f9oUh^1zTEv*<^*wc~j)(j6He@<6 zK!QgCC(^0?>TaIP;@YVkZl0--#8q%)dji|uoWp0YE#ULl;`sD;QS5kkoatXNf~j+I zMZmR%hc-9Pvl?iKyjIsC{xLg_Oe=Mxt0m^OhT$_9A1pB58n)EpjvDSaN#j-^am(Y* zHI@g-@7!e3NS7*_ZP%g?0#;DXb<--(KHF}lf}ZKLA-wbMYq;5T)fP#JytxlW5kYepN+_X(@{^Vyjl8L`)Dc%YAwk2W6B85b zixV`@Oz$P?OoK%0>%@~OkudoqA}Erjm8p7`R?QPL>#)D2_;6fj?_ioMc09s5HzUMD zJb803g4iTo4R@QtkvDc|>QLX{>_iIOB` z(bZZ*|HGnfKCC%RB8#tE!IwC8 z=sMFhjdYBDinnThR|8r(t9|a4*5g&i!gLwa<9XW?+bh2otQn+n1 zNP6mNLVMEXnWmcUJvTj`weTl~HUF-{a8;HyJZxq8H)V16MiO^#uHoUmRmaZy5OLOmkl1RK zq`8EdaV^%UV`@YTa*DQLv&f#xN53g|*03)-I$r+)G(5F;tVqPn%qWf?JAiA~F0d_7 zJ5wNv)?TO{sMtdZC6rKp>hgn=HxV%rCr`*c0kY1TB2AYd@$db+;Qh;Fok-E%W?^~l znywrD@^-c&vZrw5kHTstoW@b7gv$J&>oh?yx zHfQnRW)|JI(-`c|uw%`zlTBi3xPXbLb^?|E-?%Lu<+hE{kQ0aUQc z2am?HDP{!SThdim)cI>KJ`vnT02VkeLL)BjS>;|u$vSf_5nfdW(trwj z&Sz@2deR6-BR(3QHf>V_a-Suq)@n_W%6NnXb4Ad;X*EQbYNqLO=hl+g^(HXd$NOHb zv`wPxj#iqwRi+PAK6m+1H13A}E0qiiMV--0@?2sbDtSz|9dK`(0c#kt&hYE*+){?C z)z8u83f2~CSe~hoFjp}>Od>T}!1Rdr1I!@0TC{C(9C^zUX@*rINi36$7D$*Ywl#`Y zFE7uQkxpougEApbED;MtjG&qFm*rylqI_c+Dn3eke65aTgsxWIb3V;7Por{FDT4s$Yf#!Nh=GeP{^`wYmYvs;kTb?D4~QB%1>NgAa9<)d|&Y7$rCCcrYAzW zdNbMa&k}D>*RO+@pqbpt&yD^{{QIx--;3^jT10I8_9dl~Isw_0B?sL21vgj8&%YAk(u8*n zmlg9hgW@1EB<+h&hmQZ!5T!b7nc3Atc7kZ6!NbxOc&Dq|%T4K4zA#Qk*hJhMskOWz z!+I{ibFGA^DR$`4OU z*2~qWkyqP#g#L-RYDHz8kV45wtMZXa(1H*Zo$Udqcv!hBt{K)>opzu)Zi%tFZodO1 zju+*zNaT9n3XQOgD2pKLzG2UiK>nviZCEVWoKD8qNU7r1aBK0Vxfrc9v30Bw8aho7 zG*dKum`X39d{q7k-apF&-kV>_Cx&mZ2bHD#7gUCVe|FHmZiRwQ!*Iu!mCAV|oO18? zdVBu27a~N65I-EYDnB@R^9YKb)rp7<`NmVvo@52xZ3RI;H-onml%Rd@&&wc@J!#v5 z+lvT#_G$1Ebm#6B#%7Q^kD$2^n;n;khdO-yXD6(Q-PV!uS?2zk&YmM3&-`Tvx9&g9 zy}fn&q%-Ut%M}q5o$r|=fskyx5LC~YFyggSl(r}SzV)u&73##U1@V6BGKPW~cL zB7C;9KZ%1@`HD2qkZ4>2Vd|CA?(<0;MFhu+gI6h;)}M)r2xQJ_*EAF=4Pm9Gc#4>c zT#2;H6X&P-%SU?-geCVPNzaidnkgJ@KCENHY~GyxW|SUx!i242ZV*!0m0Mk{-k4Te z1WN>2d6*AM*q(6=$M&&W zPqV@a!u#*B@x6ooRM|_b(^p5V@YUhEb5-?P1W`nb<|2wTlSVF`tRW}TmaW)Xo`QyV zHH^%tJ_oJnleSV@ODN7F?ZpD^l5FU`!e~T>PiO(y|23fK9gca65f>bmnwSG%Vb;YB|^6gT-1gr-yI zq!ejT%OububRxD4c)jdHga{GhhsRdsM_aJ)GV->W$WCxb_3LD#pSqWObvRq~#5ZFsKb<|z-@mZvLdZP zW5pfV8=Ko_Zk`i82C**B3@r?HlE%wIMQHOSZrv884H-Rc+;7p%f+J zrr}UN`KZuax?ze$4of1rE}ukpOGT!E1i|Kz897tBls>OP@rSfaTcVYXGV}TC(@FPc zPeXVb8k7G{ljiL3ugHZ+L?bTt=LN`ImIKf;Z$!c>Rgs`L{TF#lJxAV5tH>fyTII%- zmm^Qo*13fn8Y=XQMl@Wj^ysWjZReujgzBr@DZdqG5hrP-14PL_4jfbmluxc6C_j1M zh>xH=l@_&Dj}cm+zzX3EZz!F>1Ysb!qqAI>GLuO6W#Eo!c-YC9~_y|hmc5?)0Xi;|IHuom;83W z2mhN>rS+bBIMHuc_C-9)Wk;G-hsz{yB5@W*z6Qf%E&qsZ&sg<;Hp#p1=-iod~FJ5&W}<^)vkA z-K@XxmR-lAu`|E*+Yu}spD41>?Yj@NgT!eCW78R2gQ&6tAlL>ry(!$FE{z# zlB0C1v)1sUh==A<<(U2gGAU`?%E)9B$Q2h*D6gPY$ue&AO#bsCKSUAhX>L>| z)?w?tb^ao5j-*L@CX%RhnHdR#C&kaSRjwWhX3q4xz3kllHD}k63a331fn$6WuSUM; z-owmv-3a=xIF+kOlxvy?C=HwlY(q1tq&DFEQk+x|pOLq^woD0-H<2MDM-3w6%9oT$ z+Ae9DR4i71mG816lA<&TDrXTXLFpA?)yD%#v+BEuB;m-a;-ENdv49Nev8soas~#1P zh{bC?U)PBn%aP_aka*fkQKehMozif+#Xm2SHr)S{19jQ$D%+qBJ>obisVnFu&@Gs~hs`<>L2qb0m(0m-%X>w;GbSP(lgi4?}*^ zn-- zZZc0~F*ij_Cy-1?yX87Ubx4Y$I@7apsbmMsy_ zGkzHowk*;qlDBl(w%tglQ%Iy%NaEs%L=u>tieX_oL;s4HpDfdFhxsX9Cv=#3#2l!&@0-vq@w!30|G1OP#zrUcdOoI&{K1e|F$T90(1axx8~_=Il^Z z+yPkL@|9Hs4_Wolvx)q2#6o03WI_e~aBKeYkIK)H5>K{*aGFx58DzmW0&;F0 zyg0ucv2hwH@2AMRgCklZI3!&SGHlSj5n>J3YVI2i<#{7*F5QZU=J6?A@>?$zCxs>d zMTAB0yyi`2BAf2FX|f()-FWx%%lj9w=O5SIc>Bsn;;a1k9&B_Igtzlm{z!uMgw6aC8vb}|CPDizd;g3;K7)57=)Je&vF^bJ3Hsp? zkPVM7+7*J~d{uZG-F;K}ecgu=N+_ZHu=0~6Z$UEUHE(*B)=g)P`jwp`bJ}!Qryuy^ zuSDK-o~fR7mZ>Lif}Ta1y|Jo)SW_k{6Vi=tcvo;*n7?7;|5?O!EnTgCZ98Js;( z#Myl$Zu@|9dmYXa=MUC#^Gpr*u2<~bPVHph-dwUn*k>nGra=(_ljkCD+A2Ysu+G~> zwBM}a&Xp3{NaF6d#4t6IM!8tCVKWUQIqgM_`9$KjmbXn<<7;r_Z5bHq$+^SE8TRc< z72LX5MeCI+NnsTo%{4r@RU^sLS)gUcE03pL70ir?JOXnhaC4ItEY6ik3`N>t`?2M- zbvrsrXQJwC)6TnVM$R7H(=k;*mkx(-0Uor_-{uO#(2-hsv^A5wjXCn>((KAX<)X5V zL?WhPU0GSNGMC2H6F1q_y%0($p@b4jD1Yqo0(tWU=Es7>6E=y={IiBjwW`x=-PEb; zsw1yN+H`KIh?{Wv@@3P$Nz>+!$kI8gI)+Q9IrvWBYix8cvmlB4#vpmqNZLSWp5!fo z6C`d&OudC)RA1Y^eXAfPDBU2#(A^CpIiz%hba#%F2+}pAbhmWF(A~(;F?31E&{FSw z?|9zdKQN!!Yp=c56~}pA-jy5UPf4~*lcyD1tDSAQf}5OX+52+(@N81 z?VJGieT7a3F&2r1vK6na2McRQ7r}|%)gXhE-n9(egyx?R5yw`wCPxYa4$hoNT?1uW zT=#aE{VfkW;#$yLj`FayY$bKnruEZchka~|C$A3ZU4@TdS8P=~FsWIc75@vRIIC$_2D`8yN8_+Cpwl;;=!Lt&n~X?a>vU&2 z*Jj%^3y$rkj?%V=Bp*aEKDWourLCuM@sSW~LB4Kp2!;n`mo{`?+tuRY!G0%;Bt z%3N)Zq!l4{IgX;ESf}iXSOd5Ko$rrYYH|u=1mzH3=VQX@Q*)V372kmog~gBbBiIqE ztAb)0{Jg^%M&Mr$HS-xPHXYf32wHG^cEg3}{@_K^jsDU#xqG@Wq|2c=d{`gp7#!u( z@O6$ZD_DPMW1C>apg+{%%rND;QkHx859qy!ex%pCFE<@8so=^9$W)<5z%mSCU-Dce zB)7U(jPQzvs1Q$Yy_UQix5OX-7;1}rx1 zd|`KG4HLgG?ckc?fa96AL&nDM-%)9gonrII)rl=sr#cP)2~Lrzgaj{g@exs?P)CxiW&)5t%^e$E=FG_Bb)~3sNoqdbIuo_#+o2muZoc_v_FW8O?Uz^Bf z#$$=r6jT#PYxy&N8kHq-()}BUGc@Vxn-^V9F9b)Kx|N0}5WP$}2%V0-q#I;NWTqvW zcuxkRX-lDxl>Z5VUJbh5FGq?vJh%~hv%g>?j^cl=yikegXI9)Q2HRKoEb_c|vF&wyj!R0sd{L?`s<`Wof z3eLZ+{C-ze@Rf)`@!(7;|5*|*IIhlTIc;FuS7?=nOSrx{1lDdZc!lcXrjs?rXDDVo zuL{Xsv*&r0W7??^hTMgBxVt@620A~+3#X%#y5gM`t{t~4^D zL?-%b|2DI45eB3WP1H4FexF+QK8FR6I=A(Wxo$)_G^gM7=r{Li{Li(vPqYM1s2wMk ztkDa#f?5Ns(l0JF^jIg0aFK14tl6bx!WEb@i;e~tWsPw`2lw6}i-*S0IOAH37T2Y& zR6gmd^JLzM)qDe(k`4Sug5A{gBa7ayHx-hs8CRl@kG8LFmNn*=-lfT>pP|Pqp*g$Q zpDO6+@b`yj}{TL}9 zx>Y%HK_`MJQ!kGf{1pv60O_E}d8uw3R3W1l_RWJPZk#}EdZecWz}8+|Dw8fqBoQgw z5FE@Va6};eVl24z5}F&bdUUIjKC#X&2&`7hi^#qdSXTAkcb9$XoJ~(7YS2A#VNXIW zFD61KNyZD0GK_?-wbaP>ru3dfX|1+>5ZF&3@m09@bH;inKj|RYQZDnt?CWxp_PZ4~ z{d$>%<`OZ`rFYRUIZ*)U#4ZW~mH8DQ^0Bumv?)c)Y-w*wIc867c)H?Wt{U&1ZjcJY z3nb|Ds*7&CCm2onsJJyszXhOP;g&2mhaaW$pSUFN0e4I_1&YeY^rY8UJOjl5I04)w z5%e>~G#XuklKNz4@Wk#j9cc>bcSRU8vaNcWqcWN-N?0+z?L;mIQA2`Icg!Iq+c|tq zfa9#Vef)&ylsz+TI~Tr^tifW_))4-yL`ZH@{-ME4GYn3w2yhlQ&9}?giZooBHYXxE z9YgL9GJ%7ID||jfNtN+LtrNO1)O4Qj3)Xy`} z>ii`!CW7lJ*TlClf$t3wur-dO5{qnV;?HnRrUKvZ=D5sNlkvdOvfH=k1nWDei5L&!$Y?}<9 z1xJHJ4QlhIz-f49+P&Tchn319RSouyNBVm1PIIFCHG&|E4F-bdf8m1Y_?;I znT8TUijhu4L4ZlOCq-41@Cg8BxiDHo&*arBP=(pFCIP?|q`b~mhg-~ppuyvv+|c3* z!=D97)#h%zlP<-!))*7S8lg>lTI0&r(S{K%TK!?sP!N7GT9MkFyc8j^vkZcuvk43L z@M7oF&GoqNs|iA#rBo5yRS%-#aGEo8Y{*f(cL@leR6|%S2&N@f*k+eptDXDTRD;b5 zJ)z^@*CFoKTkL;xpBUsaR@sJS7ldl)%Qt(=g<4W2$muCwp=DKH=7oy&GvC+IJ7#F7 zs37rZh2u2+t-C z+$M?+qH&W@E8w}}RiFUIWXMwpBDfQZgS$XB(oP;#)~)^adQoVZSp!R=e}yj&94pAP zJ+#knCCQ>-LM5*DxrSz}hwH!9am<6cqOm#0OZ1f9Sa9)VH`Xi4Aj%OL(*V@w&FV3U z)KqL9JkGOf>>#`+J;SNJXAHPXU-m-VVKhjjKc_#2$>E(wtq23Aq9sRoA!xg}B0N1j zLmH?WPibVrn)=`6D2b~ajjIADrU~1WEd3J7bh;1AC0A|xmQ~;14x5Y0_Lr;1F~)1y zfBgIOiPqMzZ(~E_4bGLRPXo17-y{FC3i+l)^y0HGp+b|J~65`zLWmki6?uC9Di28%4c}oedAGZ zd+&knRUOF%-|295JdzPAuQgcCz^&7Hj|iw0MMgvajwRn9W64<| z=g3k9?Qg;sp558G;JTvyT-kxB=IsfOWC^(H9RrV%Kf~EcfC<2@zAd49dIKmcJIE<6 zjx^FHczpEN)z^2`FL~|Z{9dmNGBF3)=Tm)IV4h84jSD^VeSyyug9Y? zEF7wEzt(aJ%e_V?WD>EEOV9rQgep>SzoDNvx;Jn`uTBi`g*4lNu@zi((-&V>imYhZ zj>x=E5$K{pLPpkTYJ`2p&d$#D@cJ%KjNA*DR}T53c?5E+XRPMJV}O&t0D$qpw5!eOq@xtn9@OzX%mR(XC5A5n$Sb4%=yy~p2iUmMPRc&8aK`TYLCzR!@V zo%hb|;*TZiPujNMONsnT?stF0Qk?&H@}umaF*tX=(q=dku|lfbPDZqAG_JG2pB_Zc z;IxcS9dgs-_h)MddZt)C-jdCD)WmOZjQcT>DWaK=3)!Q8-@%b@TEOW1%~Sf%F2VnD?(u&**R~+u*^2{z~q!$|q!&RK74+{CG=ip9l&03k< zv?dAz%(`hD_moB6l zQgm;`6}DY{--tP?d8`@nh_+En4xR9=b~Z(?=xDnhA(+!Ssumjy=tAN5`b+5_)`QWh zyjcrwHu3fjoRLGk;wu(co7F+me9bC`9X{X4{`;2l9&Z0BjZj|QU~mAqXY3*zz}Tti z2~BtJz<7ta;F-pPf>)K5l}#_Iuiap{y364@zHPQE@kqmf6<3o}&%Gk~bo5+p@b8Yj zER30N5$IJ_RpMxrU#c%YH3mPQuC<>J5Sx5PDw-F&0=sZI?l|xm+W}EjWSB;*9ngX^CQy5mO|Dif%H_2SJr-t`~w{R(XHX`Z5~LnutuBx7*Ddg}8O+So1Pf)U5r zq$g;qq-H;nL9nI(?d=)c(p~9y2g(7zEEJV=C0oiY*_o)goK)*`?0=3~ApEwS(ny

    EUlX$~Sc^ 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001427744557.png b/docs/dli/umn/en-us_image_0000001427744557.png new file mode 100644 index 0000000000000000000000000000000000000000..0432c15dc4cac9433119c6e05144ae7f8352a806 GIT binary patch literal 39743 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 LhFpb=X~_QpLJr)O literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001428187933.png b/docs/dli/umn/en-us_image_0000001428187933.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b26db3eb5c16d18637cf42ec2d626a76500ca2 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RY7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f{Q#|978PplYe~qdcHpEaiH@??|>$E-lKYs zoNlIH{=WXt{agNjeEnnYE+vsa@6P^D4VM3Z|074YjL2fCUqAo;KRa3ePyg!bFZH5k z&G+~Iv)?YOw0~xXv*VAuxBsu+AlZ}ipjm!J)dhoZ2Cn8aSeP9p%3Tif*8SMOVQK}C zvwfjL&y%DiUY5i^ZA~AJ>;I46r+&{tKrKf@vf@g>8=)tU?f*08YtLBNV%2yX=voF( LS3j3^P6)A!d`p{mhWH(cfkaN;|*`JRBUvDVNu`svMmcfNsCv5FX4$qG`_=o@D@ypyum z`f~E{FC$-VF)ADVK`FrE6GY9Z(G(huT0Eg;nY$O)Uik##afsQvtCMOpHNmLS^fMX& Xr}`S=9Wp_P00000NkvXXu0mjfd{$y^ literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001437640221.png b/docs/dli/umn/en-us_image_0000001437640221.png new file mode 100644 index 0000000000000000000000000000000000000000..1909444d23d92a3a6566bca91ce065d14dbda919 GIT binary patch literal 1004 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EaHVU}gyL32_B-i2;l_022maMg=TL zfE5PVkN`UjaKHd37;wP=HyH51052HufdM}l2!Meg7zlxZFc^q{fvBjc7#N6yfrNyF zBp676fwZ)=3>e7D%F2O(yu7@Ef`TF#C@Co^gMo^QimIxrnwpwA7-(o{XliO|X=!PL zfsT%juCA`0o}RwGz5y5*8X6iI85tWJo0yoGnwpxKnVFlLTUc0FT3T9JSy@|K+kkCcvmzTGP*6~CaBxUSNN8wiSXfv@L_}m{WK>jCbaZq~OiWx{Tzq_dLPA1fVq$V~a!N`{ zYHDg)T3SX%MrLMaR#sMac6M%VZeCtqetv#oVPR2GQAtTjX=!O$Sy@FzMP+4WRaI3@ zO-*fWZGC-xLqkJTQ&V$ub4yE0TU%RudwXYRXIEEOPft&8Z*PBp|AYw>CQX_&dGh3` zQ>RX!K7GcF8M9{1nmv2=+_`h-&!4|w!GcAL7A;=9cQ>uk5sDH4e!pN zM?2c%!f)$Moqn;JbAR{#-LH2<-aWd<6M=_Uy)Vz z>Gb1s+(~DB#NsS6_)g4`cRj>@b~4MGr%TsH2#HlrdJFVdQ&MBb@08(^UA^-pY literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001441378549.png b/docs/dli/umn/en-us_image_0000001441378549.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee8086d47fdbac1a555a48b43e48b06b375870f GIT binary patch literal 12348 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 WpaVX5#_|O4Pgy}jzVNoG|Nj9-l75~5 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0206789726.jpg b/docs/dli/umn/en-us_image_0206789726.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2a1b04c7601cf3b3519273a6bb75a881a3bcc748 GIT binary patch literal 11526 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0206789784.png b/docs/dli/umn/en-us_image_0206789784.png new file mode 100644 index 0000000000000000000000000000000000000000..9aa38b1a448b27bcdf101a10a725c35707989b46 GIT binary patch literal 17923 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 A{Qv*} literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0237984360.png b/docs/dli/umn/en-us_image_0237984360.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c394b81692bfee1711a97282d069ee4814b034 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^fPv1 z9QVimLg-KXjkbn8SNPMocD$r>Rp00i_>zopr0JOJM A{Qv*} literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0237990324.png b/docs/dli/umn/en-us_image_0237990324.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c394b81692bfee1711a97282d069ee4814b034 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^fPv1 z9QVimLg-KXjkbn8SNPMocD$r>Rp00i_>zopr0JOJM A{Qv*} literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0237994908.png b/docs/dli/umn/en-us_image_0237994908.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c394b81692bfee1711a97282d069ee4814b034 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^fPv1 z9QVimLg-KXjkbn8SNPMocD$r>Rp00i_>zopr0JOJM A{Qv*} literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0237994909.png b/docs/dli/umn/en-us_image_0237994909.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c394b81692bfee1711a97282d069ee4814b034 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^fPv1 z9QVimLg-KXjkbn8SNPMocD$r>Rp00i_>zopr0JOJM A{Qv*} literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0237994910.png b/docs/dli/umn/en-us_image_0237994910.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c394b81692bfee1711a97282d069ee4814b034 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^fPv1 z9QVimLg-KXjkbn8SNPMocD$r>Rp00i_>zopr0JOJM A{Qv*} literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0237994911.png b/docs/dli/umn/en-us_image_0237994911.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c394b81692bfee1711a97282d069ee4814b034 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^fPv1 z9QVimLg-KXjkbn8SNPMocD$r>Rp00i_>zopr0JOJM A{Qv*} literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0264894338.png b/docs/dli/umn/en-us_image_0264894338.png new file mode 100644 index 0000000000000000000000000000000000000000..4c0c7244de53362d6466dca99e357434fa89635a GIT binary patch literal 12736 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 Df^+b? literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0264975521.png b/docs/dli/umn/en-us_image_0264975521.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ae06bc5410ab263c11c065b3b70bb653f8cb38 GIT binary patch literal 13688 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 H`+NTjV>+^y literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0269598720.png b/docs/dli/umn/en-us_image_0269598720.png new file mode 100644 index 0000000000000000000000000000000000000000..e91e6418a2664abb0a4cae0749b7024fdc9908c8 GIT binary patch literal 633 zcmV-<0*3vGP);Ti{JhUU{3{}k#fQEKVo)(5KQTJK9fsC zQB?7_MiK=+bsl*uefI;9HkFh>(URn9b$Wv-QcjVB9?e>Tm?ns%s@Shkga?ooB_W8U zulT*of&9gFTA&DhCq!s~UNw#)s`NbZUeN#Pm%T?t2rjDLk?U#U0OWUaYMfH{d2Q#V z9U7$6EXL6LdfC-ER}0*3Q7RmOrK4y%w$~5r004`UCMa6|3Ao4m=G%YThC?%pk~UZ` zv~T7Su_PiEC87$>-F}jc`M9$Egpn4c%%@FXZaz0%oJlY(5XK@hdZ@vpLRJ_ht#)1*7o<2f`sebgehrOeV8U|EFKG<16q7J-a8f TTKd$o00000NkvXXu0mjfwWK6~ literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0269598721.png b/docs/dli/umn/en-us_image_0269598721.png new file mode 100644 index 0000000000000000000000000000000000000000..752ca78afa950798d4e5918503fe3f4974f83d75 GIT binary patch literal 509 zcmVU5s~GO4B_ZC za6%2EC;$LkzX!*YJw!=eg;pQzq*TJis7gTE(_qZRc1nl^x@7`+k~nYZ0VWXjaVTcu zPD%*CPzZ9(!#m$2awZD$}CimDopg@i}auAP{5)5kx8?@7cVFLQ_BZ8hjW= z5Pmopjy=cwScfrNg;eo9;#$TKaVh>DyFmCF{U0UN-T000^Y1^@s6|D2(?00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1GY&-K~z{r?UwIP zQc)Pk`!9LHXhX+bLeX?LEGbEvKUNgW!r2^7mr16CDXk0=osliVexQ|@m@QqSrf!WF z_szHGo^x(pm=YIlW!}$rH_m;|x%c67&U4N^0)vV%Wa+?=r2|8j4h&g3Fl6b#kfj4d zmJSSAI{3@7RxsM)gg+sg|2P%Pn(A`EWKpjM*v|D}G?f?8YRMvW+VP*t>YCw=!Z*CQ zdj&SD50Q`jR&^W(S&Uccb2`v6wl3P$aA;&bM^BvtzPL=kSMcas2aeS_d70L_&>WnD zwn+1-Fghd&W;NdX6kkeZ6*3rfH=wCM&BlIDjly%vg`=$Wov4wz5Lr~-Cy-YW>+XQ9 zR*iR{(O&$#(Tg6`SSfCm;0iv$h8Uht-b8bK1IyQ3=Ycn}zyoEdvJ5{V+20Pcy%*D4 z%8f0&ef|=;ZJtRXdmn8iu5*$Ffu#tVtWD^QE~7wAd3zO^tfE6Bt3(uIZ5~fE-`E() z8+g`t0j9=byk@~IOb41^b`Rm1Fi=>VfY)*Xp(P%Fc!>o1A9F$M`A$f~S!%3c*zJHf zD&9o@=WR~pT82Gr@Il0KnprMFM$GRJi2?KdZkRe_*kmm&LRS18LZza1VsQiwmK&H- zes9IlW|0s`YIB%@UzN2UMT^CazIh%|*nDsmCU*qOLZn&h#YB1)Vvc{y9?DRIQVu~M zPS(3{%;|=mE>;?%|L$YCEHjlz4Xs35V75qTJ~fWZ=UlMW^Jm&mC}k{UEQKNcTtzAx zSu9SID)RYxof$@2=~`IEB;|aZ@-)}Ap*LA}ni%^c>+_h8%Ht+dtX??U{?h^4%gU@Q z@AwAfJgpQeRewTFTGEj8%q5H+MlzxjtG|Tn@%*lL=i=D9i zBn-tzidKu9OW=AlKVg+px*op=pLR8|yu@ipeU8?*iuW$y_W3j7K0Uj+2T|=Qy9*V| zIuNi;zk<@Mk^?PkbAB2L?WYC%oKaRK3-3DzTGsl^EqK%q-QRxB?4AFs4F52OEFBoK bDhBug7N>T4nP00000NkvXXu0mjft&Z-L literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0269598723.png b/docs/dli/umn/en-us_image_0269598723.png new file mode 100644 index 0000000000000000000000000000000000000000..9b916e7429f8d6d7499117cda19b54c2c561146a GIT binary patch literal 456 zcmV;(0XP1MP) zIHb!d8VgAb@ugn|0{5Qe-QT+>FE@t+T)6`<@dM}zp69~zKQiw-JJd1IYm^}{LVkM- zB^j3^3mzvv6Le`@pvVYxa)Zg+d(f#f!}G8W5(&bw28RR84_(}$!U)oEo?O-$wrv;p!!!LPWCAD-oKy8&Ts4AJowx zF&Wz44`xGa5Tpk?&WYrFP;ZPTtE0b&tW8L445Z(JVva$LP`RHafI`yduvO7}4QUA> zU#9?;`WXbVm11#VtX1^@s6qO*B400001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0q;pfK~!i%?Uk`g z13?gmeHkk|8^Ov(D;sSEEiF<9Y!xg6mI`(vSP8+(Ml9^KuvL74;6t2zm;1x8#*4R^ ze3Ztv`u<>KzmtA zHg}IsiszTtQTzC`S49pb5KC53s6#4}Z_&@UHa2(5`QWhAE$1Ls^XgkFZ|@)Fd*;@9 z?HWAD7TLeMFE=z8e3r#-j>WTB+h^MdQLID)?`RW~ij)lC(3lU#9WZ@5Sf0oR%?)~b zku8$N*?W=`RvQ7ti@NqW3G`8{$P|qu&d#C35C~J71LfD@EfKOsvPm}0Q$?9YU810_ zZRZ5_QK$7h2bhCz@Q%XI85pbYwD!}U6;{Y!CPX?BBAsYm oNNEeFY3*8=P@@WTW?*IS*07*qoM6N<$f{YXhCIA2c literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0269598745.png b/docs/dli/umn/en-us_image_0269598745.png new file mode 100644 index 0000000000000000000000000000000000000000..6e19cfc737592d86cca096600e3221602104edd9 GIT binary patch literal 932 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/public_sys-resources/icon-arrowdn.gif b/docs/dli/umn/public_sys-resources/icon-arrowdn.gif new file mode 100644 index 0000000000000000000000000000000000000000..379428032932289326e52c2772bd90ba3d88b906 GIT binary patch literal 1887 zcmZ?wbhEHbCgqow z*eU^C3h_d20o>TUVm+{T^pf*)^(zt!^bPe4Kwg3=^!3HBG&dKny0|1L72#g21{a4^ z7NqJ2r55Lx7A2Jm>Ih`8X1|p zSh~8p7&*iAy5uL9=BDPA!1Sgd^t#~G3rY&P1wfl!Qj0RnQd8WD@^clyUbf1_?G{Iz z=0WwQ;C71>PQCg-$LND17Ac}(Lcr7mV#1RxkONQnsd>QEUIa|mjQ{`r{qy_R&mZ5v zef{$J)5j0*-@SeF`qj%9&!0Vg^7zri2lwyYy>t84%^TORUA=Po(!~qs&z(JU`qar2 z$B!L7a`@1}1N-;w-Lrew&K=vgZQZhY)5ZeMTG_VdAT{+S(zE> zX{jm6Nr?&Zaj`McQIQehVWA3>*p!%p5Wn0u7E$th{n6D>ft^YU5&dnB%c=(a~-RV>2EO25SIA CZ-yWM literal 0 HcmV?d00001 diff --git a/docs/dli/umn/public_sys-resources/icon-arrowrt.gif b/docs/dli/umn/public_sys-resources/icon-arrowrt.gif new file mode 100644 index 0000000000000000000000000000000000000000..6aaaa11c23e919c4798d7dcd2b1ae98dd35dd316 GIT binary patch literal 1890 zcmZ?wbhEHb7yetOgf{ zR2HP_2c;J0mlh?b0+lO+tSYc_E=o--$uA1Y&(DE{Vn9ZINq%ugeu08>u$h8JcxGNo zetEGbSiP^Wm1kaYNn&1ds;7&s63_&_%*+%k11Cod14Ab>6ALqQLqk^=3j-5FHzP|& zBUd9gQwvj9m|mCsATTyHM;rzL?XHK6w zdE)r7qel)OI(T6JzP)>P@7lRz`?jrHHgDRvVg0(bYgVsXxnlXUrArnsTDV~Tyt#8` z&zd=7`n0K2CQq6;p}()Ur@O1OqrI)QrMaoGp}wxRrn;)KqP(oMq`0WCAU`iRCp#-M zBRwrOB{?ZEAwDiPCORrIB0MZKBseHAz~9f;$J@)(!`;o*#o5Wx!QRf+#@fo#!raW% z#MsEtKwnQ+M_Wr%LtRZ(MOjHvL0(Q)Mp{ZzLR?H#L|8~rfS-?-hntI&gPo0)g_((w zfkE*n3y@@B&;b#k`jUY|nSq%>!ec`MLnAA%oR7zc2TpB#@>)|YCO&lN;uMU!b7Eqm H1A{dHTIz>f literal 0 HcmV?d00001 diff --git a/docs/dli/umn/public_sys-resources/icon-caution.gif b/docs/dli/umn/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..079c79b263f4b48089f3b3256154c73e7699593f GIT binary patch literal 1086 zcmW+#YfRQ<6hA3LZMyP?V}KhnEtF{Q4vGxS52AozEVM85nq$#%tv8gRF!3GhgM?_) zd5Luv3SKrXFTGCpn$y>EMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/dli/umn/public_sys-resources/icon-danger.gif b/docs/dli/umn/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..079c79b263f4b48089f3b3256154c73e7699593f GIT binary patch literal 1086 zcmW+#YfRQ<6hA3LZMyP?V}KhnEtF{Q4vGxS52AozEVM85nq$#%tv8gRF!3GhgM?_) zd5Luv3SKrXFTGCpn$y>EMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/dli/umn/public_sys-resources/icon-huawei.gif b/docs/dli/umn/public_sys-resources/icon-huawei.gif new file mode 100644 index 0000000000000000000000000000000000000000..a31d60f895af919d33855217ca02daf4093136d7 GIT binary patch literal 2767 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 GE&l)<3Z_>8 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/public_sys-resources/icon-notice.gif b/docs/dli/umn/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..409070650a49518feb1624c624d814c3bfa63d2e GIT binary patch literal 962 zcmb7D&r8&C5S<{wSd_qn6)U)w5LOaRh!N}_*49lD)S!dZp@M<3gPIX|@UR9-fz+X3 zAaT9)OY{xZtO-;RC85Vab;JEUNIMS5f^r$7-e%-XK`j{0+N$CsgpRd6B1wp z8dw-cH^rU^H4`&7qgabf)l^K`l!66{q9$U(CKRO5%W5pfY)s&YQ6n`HBR0ZTum%`N zgC%I8hQ+`JG_WvCAt-W$sIn@BKCDG1qQWW^a=`*c7G+i@s0S(ZDv1&+K_2`7O-#cM z=m!ZX1Z#kSG+3e)Jg^wpfCd(Yb5TZ)U=a!DwsG z)Z`|1ejMK4ap%CHj;%+>T6=D++5I=uBbQ$fZ48cf{hV1}9&Njl-I}i7e0#6Hdug@s zsr-57_=gLr&9Ros$k}}M>tJ77=hEJ}iPaZ%8|P+gUbS|Oj}5I{|5nZZc)C1$e*Rj` d`09hYXJ4M@PhCx)dHK8WZo1*|*q+^V@*ncduk8Q; literal 0 HcmV?d00001 diff --git a/docs/dli/umn/public_sys-resources/icon-tip.gif b/docs/dli/umn/public_sys-resources/icon-tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..c47bae05c9fd17c02a851d96cfac67bf194498d8 GIT binary patch literal 879 zcmchWKWmj?48@OdDOZPr)a61!OE4yGD)salg#|^Ix$qIEF#uk)V>D{95e^!2r`i+9t# zTMu5YtUcd+@#gp0tDE;9ug>oLIzL$6dOx4-t#2PKExu1KulwoYeD?Os#mVO%AMWih HO|EMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/dli/umn/public_sys-resources/note_3.0-en-us.png b/docs/dli/umn/public_sys-resources/note_3.0-en-us.png new file mode 100644 index 0000000000000000000000000000000000000000..57a0e1f53377b28fd80ceb393b035f8d9b8b392a GIT binary patch literal 1080 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

HV+YN8dXTB(@ENOsiBk7CEb6);^ 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001310151968.png b/docs/dli/umn/en-us_image_0000001310151968.png new file mode 100644 index 0000000000000000000000000000000000000000..cc45c153215c02ac67cefc230f3ae80045959c88 GIT binary patch literal 302 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 literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001372601066.png b/docs/dli/umn/en-us_image_0000001372601066.png new file mode 100644 index 0000000000000000000000000000000000000000..7e7358c2518be79f1177d00cfc31bf99d850df61 GIT binary patch literal 142489 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 z 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 p{izVNG*onyzbjh6{tx1(A_D*b literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001372847466.png b/docs/dli/umn/en-us_image_0000001372847466.png new file mode 100644 index 0000000000000000000000000000000000000000..35e283157d90b580b45cbcc3b31333059f7d0a14 GIT binary patch literal 221 zcmV<303!d1P))A!d`p{mhWH(cfkaN;|*`JRBUvDVNu`svMmcfNsCv5FX4$qG`_=o@D@ypyum z`f~E{FC$-VF)ADVK`FrE6GY9Z(G(huT0Eg;nY$O)Uik##afsQvtCMOpHNmLS^fMX& Xr}`S=9Wp_P00000NkvXXu0mjfd{$y^ literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001373007370.png b/docs/dli/umn/en-us_image_0000001373007370.png new file mode 100644 index 0000000000000000000000000000000000000000..1909444d23d92a3a6566bca91ce065d14dbda919 GIT binary patch literal 1004 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EaHVU}gyL32_B-i2;l_022maMg=TL zfE5PVkN`UjaKHd37;wP=HyH51052HufdM}l2!Meg7zlxZFc^q{fvBjc7#N6yfrNyF zBp676fwZ)=3>e7D%F2O(yu7@Ef`TF#C@Co^gMo^QimIxrnwpwA7-(o{XliO|X=!PL zfsT%juCA`0o}RwGz5y5*8X6iI85tWJo0yoGnwpxKnVFlLTUc0FT3T9JSy@|K+kkCcvmzTGP*6~CaBxUSNN8wiSXfv@L_}m{WK>jCbaZq~OiWx{Tzq_dLPA1fVq$V~a!N`{ zYHDg)T3SX%MrLMaR#sMac6M%VZeCtqetv#oVPR2GQAtTjX=!O$Sy@FzMP+4WRaI3@ zO-*fWZGC-xLqkJTQ&V$ub4yE0TU%RudwXYRXIEEOPft&8Z*PBp|AYw>CQX_&dGh3` zQ>RX!K7GcF8M9{1nmv2=+_`h-&!4|w!GcAL7A;=9cQ>uk5sDH4e!pN zM?2c%!f)$Moqn;JbAR{#-LH2<-aWd<6M=_Uy)Vz z>Gb1s+(~DB#NsS6_)g4`cRj>@b~4MGr%TsH2#HlrdJFVdQ&MBb@08(^UA^-pY literal 0 HcmV?d00001 diff --git a/docs/dli/umn/en-us_image_0000001377545298.png b/docs/dli/umn/en-us_image_0000001377545298.png new file mode 100644 index 0000000000000000000000000000000000000000..9582364fb049cfca0ada7fd4e8e41ccd9584687b GIT binary patch literal 25906 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