Data.table: рдмрдбрд╝реЗ csv (44 GB) рдХреЗ рд╕рд╛рде fread рдирд╡реАрдирддрдо рдбреЗрдЯрд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ RAM рд▓реЗрддрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рджреЗрд╡ рд╕рдВрд╕реНрдХрд░рдг

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдорд╛рд░реНрдЪ 2017  ┬╖  30рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Rdatatable/data.table

рдирдорд╕реНрддреЗ,

рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░:
рд╕рд░реНрд╡рд░ : рдбреЗрд▓ R930 4-Intel Xeon E7-8870 v3 2.1GHz, 45M рдХреИрд╢, 9.6GT/s QPI, рдЯрд░реНрдмреЛ, HT, 18C/36T рдФрд░ 1TB RAM рдореЗрдВ
рдУрдПрд╕ : рд░реЗрдбрд╣рд╛рдЯ 7.1
рдЖрд░-рд╕рдВрд╕реНрдХрд░рдг : 3.3.2
data.table рд╕рдВрд╕реНрдХрд░рдг : 1.10.5 рдирд┐рд░реНрдорд┐рдд 2017-03-21

рдореИрдВ рдПрдХ csv рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдБ (44 GB, 872505 рдкрдВрдХреНрддрд┐рдпрд╛рдБ x 12785 cols)ред рдпрд╣ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, 1.30 рдорд┐рдирдЯ рдореЗрдВ 144 рдХреЛрд░ (рд╣рд╛рдЗрдкрд░рдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде 4 рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ 72 рдХреЛрд░ рдЗрд╕реЗ 144 рдХреЛрд░ рдмреЙрдХреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдореБрдЦреНрдп рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдбреАрдЯреА рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╕реАрдПрд╕рд╡реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛рдлреА рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 44 рдЬреАрдмреА рд╕реАрдПрд╕рд╡реА (fwrite рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛, saveRDS рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдФрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд = FALSE 84GB рдХреА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ) ~ 356 GB RAM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрд╣рд╛рдБ "verbose=TRUE" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
_12785 рдХреЙрд▓рдо рд╕реНрд▓реЙрдЯ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ (12785 - 0 рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛)
рдореИрдбрд╡рд┐рд╕ рдЕрдиреБрдХреНрд░рдорд┐рдХ: рдареАрдХ рд╣реИ
1440 рдЬрдВрдк рдкреЙрдЗрдВрдЯреНрд╕ рдФрд░ 144 рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛
858881 рдЕрдиреБрдорд╛рдирд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ 95.7% рдкрдврд╝реЗрдВ
рд╡реЙрд▓ рдХреНрд▓реЙрдХ рдЯрд╛рдЗрдо рдХреЗ 1 рдорд┐рдирдЯ 33.736 рд╕реЗрдХреЗрдВрдб рдореЗрдВ 43.772GB рдлрд╝рд╛рдЗрд▓ рд╕реЗ 872505 рдкрдВрдХреНрддрд┐рдпрд╛рдБ x 12785 рдХреЙрд▓рдо рдкрдврд╝реЗрдВ (рдЪрд▓ рд░рд╣реЗ рдЕрдиреНрдп рдРрдкреНрд╕ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд)
0.000s ( 0%) рдореЗрдореЛрд░реА рдореИрдк
0.070s (0%) рд╕рд┐рддрдВрдмрд░, ncol рдФрд░ рд╣реЗрдбрд░ рдбрд┐рдЯреЗрдХреНрд╢рди
реирем.реиреирен (реирео%) резрекрекреж рдЬрдореНрдк рдкреЙрдЗрдВрдЯреНрд╕ рд╕реЗ рейрекреорейреи рдирдореВрдирд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрд▓рдо рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛
0.614s (1%) RAM рдореЗрдВ 3683116 рдкрдВрдХреНрддрд┐рдпреЛрдВ x 12785 рдХреЙрд▓реНрд╕ (350.838GB) рдХрд╛ рдЖрд╡рдВрдЯрди
0.000s ( 0%)
66.825s (71%) рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛
93.736 рдХреБрд▓_

рдпрд╣ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХрднреА-рдХрднреА рд╕рдорд╛рдирд╛рдВрддрд░ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ "mclapply" рдЬреИрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рддрд┐ рдХреЛрд░ рдПрдХ рд╕рддреНрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рдмрдирд╛рдП рдЧрдП/рд╕реВрдЪреАрдмрджреНрдз рд╕рддреНрд░ рджреЗрдЦреЗрдВ:

image

рдЕрдЧрд░ рдореИрдВ "рдЖрд░рдПрдо (рдбреАрдЯреА)" рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд░реИрдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ "рд╕рддреНрд░" рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ рд╣реИ рдЬреИрд╕реЗ "setDTthreads (20)" рдФрд░ рдЕрднреА рднреА рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рдореЗрдВ RAM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╡реИрд╕реЗ, рдЕрдЧрд░ рдлрд╝рд╛рдЗрд▓ "рдлрд╝реНрд░реЗрдб" рдХреЗ рдЧреИрд░-рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИ, рддреЛ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреЗрд╡рд▓ ~ 106 рдЬреАрдмреА рддрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЧрд┐рд▓рд░реНрдореЛ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╡рд┐рд╕реНрддреГрдд "рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╡рд┐рд╢реНрд╡" рддрд╛рд▓рд┐рдХрд╛ (рдЕрд╕реНрдкрддрд╛рд▓ рдбреЗрдЯрд╛) рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ: 30M рдкрдВрдХреНрддрд┐рдпрд╛рдБ ├Ч 125 рдХреЙрд▓рдо v рд░реАрдбрд░ '1.2.0' рдФрд░ read.csv 3.4.3ред

image

рд╕рднреА 30 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдЧреИрд░-рд╕рдорд╛рдирд╛рдВрддрд░ рдлрд╝реНрд░реЗрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ (рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ 1.10.5 рдЗрди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдмрд┐рд▓реНрдЯ 2017-02-09)

image

рдФрд░ рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪрд╛ рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл 84GB рддрдХ рдЪрд▓рд╛ рдЧрдпрд╛ред

рдЧрд┐рд▓рд░реНрдореЛ

рд╣рд╛рдБ рдЖрдк рдареАрдХ рдХрд╣ рд░рд╣реЗ рд╣реИрдВред рдмрдврд╝рд┐рдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж. рдЕрдиреБрдорд╛рдирд┐рдд рдирд╛рд░реЛ рд╕рд╣реА рджрд┐рдЦрддрд╛ рд╣реИ (858,881 рдмрдирд╛рдо 872,505) рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрд╡рдВрдЯрди рдЙрд╕рд╕реЗ 4.2X рдмрдбрд╝рд╛ (3,683,116) рдФрд░ рд░рд╛рд╕реНрддрд╛ рдмрдВрдж рд╣реИред рдореИрдВрдиреЗ рдЧрдгрдирд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╡рд░реНрдмреЛрдЬрд╝ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдФрд░ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝реЗ рд╣реИрдВред рдЬрдм рддрдХ рдХреБрдЫ рдФрд░ рдЪреАрдЬреЗрдВ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАрдВ, рддрдм рддрдХ рдкреБрди: рдкрд░реАрдХреНрд╖рдг рдХреЛ рд░реЛрдХ рджреЗрдВред

рдареАрдХ рд╣реИ рдХреГрдкрдпрд╛ рдкреБрдирдГ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ - рдЕрднреА рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдЕрднреА data.table dev рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:
рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ 1.10.5 рдирд┐рд░реНрдорд┐рдд рд╡рд┐рдХрд╛рд╕ рдореЗрдВ 2017-03-27 02:50:31 рдпреВрдЯреАрд╕реА

рдЬрдм рдореИрдВрдиреЗ рдЙрд╕реА рекрек рдЬреАрдмреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рддреЛ рдореБрдЭреЗ рдЬреЛ рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдорд┐рд▓реА, рд╡рд╣ рдпрд╣ рд╕рдВрджреЗрд╢ рдерд╛:

рдбреАрдЯреА <- рдлрд╝реНрд░реЗрдб ('dt.daily.4km.csv')
рддреНрд░реБрдЯрд┐: рд░рдХреНрд╖рд╛ (): рд╕реБрд░рдХреНрд╖рд╛ рдвреЗрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣

рдлрд┐рд░ рдореИрдВрдиреЗ рд╡рд╣реА рдЖрджреЗрд╢ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдорд▓реНрдЯреА-рдХреЛрд░ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЛрдб рд╣реЛрдиреЗ рдореЗрдВ ~ 25 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдЖрдк рдлрд╝реНрд░реЗрдб-рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рд▓рддреЗ рд╣реИрдВред

рдЧрд┐рд▓рд░реНрдореЛ

рдореИрдВрдиреЗ рд╕рднреА рдЖрд░-рд╕рддреНрд░реЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ:

рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрддрдВрдн рдкреНрд░рдХрд╛рд░ релрежрео рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рейрекренрезрезренрекрел рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред рдЗрди рдХреЙрд▓рдо рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП colClasses рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдиреАрдЪреЗ рджреЗрдЦреЗрдВ, рдореБрдЭреЗ "рдЕрдиреБрдорд╛рдирд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ <<0....>> . рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХрдИ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддреЗ рд╣реИрдВ

_рдкрдврд╝реЗрдВ 872505 рдкрдВрдХреНрддрд┐рдпреЛрдВ x 12785 рдХреЙрд▓рдо 43.772рдЬреАрдмреА рдлрд╝рд╛рдЗрд▓ рд╕реЗ 15:27.024 рджреАрд╡рд╛рд░ рдШрдбрд╝реА рд╕рдордп рдореЗрдВ (рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЦреБрд▓реЗ рдРрдкреНрд╕ рджреНрд╡рд╛рд░рд╛ рдзреАрдорд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд░рддреАрдд рд╣реЛ)
рдХреЙрд▓рдо 171 ('D_19810618') рдиреЗ 'рдкреВрд░реНрдгрд╛рдВрдХ' рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ <<2.23000001907349>>
рдХреЙрд▓рдо 347 ('D_19811211') рдиреЗ 'рдкреВрд░реНрдгрд╛рдВрдХ' рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ <<1.02999997138977>>
рдХреЙрд▓рдо 348 ('D_19811212') рдиреЗ 'рдкреВрд░реНрдгрд╛рдВрдХ' рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ <<3.75>>_ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ

рд╡рд╛рд╣ - рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реА рд╣реИред рдорд╣рд╛рдиред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреГрдкрдпрд╛ verbose=TRUE рд╕рд╛рде рдЪрд▓рд╛рдПрдВ рдФрд░ рдкреВрд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рд╕реЗ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдлрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, 12,000 рд╕реЗ рдЕрдзрд┐рдХ рдХреЙрд▓рдо)ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдПрдХ рдЙрдкрд╛рдп рд╣реИ - рдХрд░реЗрдВрдЧреЗред рдЕрдиреБрдорд╛рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рд╕рд╣реА рд╣реИрдВред рдХреНрдпрд╛ рд╡реЗ 508 рдХреЙрд▓рдо рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ colClasses рдХрдИ рдХреЙрд▓рдо рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: colClasses=list("numeric"=11:518)

рдпрд╣ рдбреЗрдЯрд╛ рдХрд┐рд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдлрд╛рдЗрд▓ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд▓рдВрдмреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрдирд╛ (рдФрд░ рдЗрд╕реЗ рд╕реНрдореГрддрд┐ рдореЗрдВ рднреА рд░рдЦрдирд╛) рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИред рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рдХреЙрд▓рдо рдореЗрдВ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ "D_19810618" рдЬреИрд╕реЗ 508 рдХреЙрд▓рдо рдирд╛рдо рджреЗрдЦрдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдХреЙрд▓рдо рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдлрд╛рдЗрд▓ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд▓рдВрдмреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЬреЛ рдХреЛрдИ рднреА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ рдЙрд╕реЗ рд╕реБрдЭрд╛рд╡ рджреЗрдВ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж .SD рдФрд░ .SDcols рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрд▓рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд▓рди рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдВрдмреЗ рдкреНрд░рд╛рд░реВрдк рдФрд░ keyby= рдореЗрдВ "D_19810618" рдЬреИрд╕реЗ рдорд╛рдиреЛрдВ рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИред

рд▓реЗрдХрд┐рди рдореИрдВ рдлрд┐рд░ рднреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдФрд░ fread рдЬрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХрд┐рд╕реА рднреА рдЗрдирдкреБрдЯ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ 12,000 рд╕реЗ рдЕрдзрд┐рдХ рдХреЙрд▓рдо рдХреА рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рдлрд╛рдЗрд▓реЗрдВред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЕрдкрдиреА рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдвреВрдВрдв рд░рд╣реЗ рд╣реИрдВ!

_ рдХреНрдпрд╛ рд╡реЗ 508 рдХреЙрд▓рдо рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрдВрдХреНрддрд┐ рджрд░ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИред IDx,IDy, Time1_value, Time2_value, Time3_value... рдФрд░ рд╕рднреА Time N _value рдХреЙрд▓рдо рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдореИрдВ colClasses рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ 12783 рдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА: рд╕реВрдЪреА ("рд╕рдВрдЦреНрдпрд╛рддреНрдордХ" = 2: 12783)ред рдореИрдВ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред

_рдпрд╣ рдбреЗрдЯрд╛ рдХрд┐рд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╣реИ?_
рднреВ-рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ред рдореИрдВ рдЖрдИрдбреАрдПрдХреНрд╕ рдФрд░ рдЖрдИрдбреАрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреАрдЯреА рдХреЗ рднреАрддрд░ рдпреВрдХреНрд▓рд┐рдбрд┐рдпрди-рджреВрд░реА рдХреА рдЦреЛрдЬ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЦреЛрдЬ рдХреЛ рдзреАрдорд╛ рдХрд░рддреА рд╣реИрдВ, рд╣реИ рдирд╛?
рдЕрднреА рдХрд╛рдлреА рддреЗрдЬ (рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд╛рд░реВрдк) рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдирдХреНрд╢рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдХреНрд╖реЗрддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдХ рд╕реАрдПрд╕рд╡реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рднреАрддрд░ рдирд┐рдХрдЯрддрдо рд╕реНрдерд╛рди (рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рдХреЗ рд╕рд╛рде) рд╕реЗ рджрд┐рдП рдЧрдП рдХреНрд▓рд┐рдХ рдкрд░ рдПрдХ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд▓рдВрдмреЗ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рдХреБрдЫ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ред

рдареАрдХ рдЕрдЪреНрдЫрд╛ред рдЖрдкрдХреЛ list("numeric"=2:12783) iiuc рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ 508 рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдорджрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдУрд╣ - рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ - 508 рдХреЙрд▓рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ (рд╡реЗ рдХреЙрд▓рдо рдХрд╛ рдПрдХ рд╕рдВрдЧрдд рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИрдВ)?

рдирд╣реАрдВ - data.table рд╡реНрдпрд╛рдкрдХ рд╣реЛрдиреЗ рдкрд░ рд▓рдЧрднрдЧ рдХрднреА рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ! рд▓рдВрдмрд╛ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рддреЗрдЬ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЖрдкрдиреЗ roll="nearest" рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ? рдЖрдк рдЗрд╕реЗ рдЕрднреА рдХреИрд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреГрдкрдпрд╛ рдХреЛрдб рджрд┐рдЦрд╛рдПрдВ рддрд╛рдХрд┐ рд╣рдо рд╕рдордЭ рд╕рдХреЗрдВред рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдВрдмрд╛ рдкреНрд░рд╛рд░реВрдк рдмреЗрд╣рддрд░ рд╣реИ рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдирд┐рдХрдЯрддрдо 2рдбреА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдВрд╡рд░реНрджреНрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдХреГрдкрдпрд╛ рд╕рдордп рднреА рдмрддрд╛рдПрдВред рдЬрдм рдЖрдк "рдмрд╣реБрдд рддреЗрдЬрд╝" рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ "рдмрд╣реБрдд рддреЗрдЬрд╝" рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдмреЗрддрд╣рд╛рд╢рд╛ рднрд┐рдиреНрди рд╣реИрдВред

рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкрд┐рдШрд▓рд╛рдХрд░ 2^31 рдХреА рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪреЗрдВред рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ: "рдирдХрд╛рд░рд╛рддреНрдордХ рд▓рдВрдмрд╛рдИ рд╡реИрдХреНрдЯрд░ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ"ред

рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдкрд░ рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рд▓рдВрдмреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

# Read Data 
DT <- fread('dt.daily.4km.csv', showProgress = FALSE)
# Add two columns with truncated values of x and y (these are geog. coords.)
DT[,y_tr:=trunc(y)]
DT[,x_tr:=trunc(x)]

# For using on plotting (x-axis values)
xaxis<-seq.Date(as.Date("1981-01-01"),as.Date("2015-12-31"), "day") 

# subset by truncated coordinates to avoid full-table search. Now searches
# will happen in a smaller subset
DT2 <- DT[y_tr==trunc(y_clicked) & x_tr==trunc(x_clicked),]
# Add distance from each point in the data.table to the provided location, "gdist" is from
# Imap package for euclidean distance. 
DT2[,DIST:=gdist(lat.1 = DT2$y,
                       lon.1 = DT2$x,
                       lat.2 = y_clicked,
                       lon.2 = x_clicked, units="miles")]
# Get the minimum distance 
minDist <- min(DT2[,DIST])

# Get the y-axis values
yt <- transpose(DT2[DIST==minDist,3:(ncol(DT2)-3)])$V1`

# Ready to plot xaxis vs yt 
...
...

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рд╣реИред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдореИрдВ рдЙрди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХреЛрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЙрдкрд░реЛрдХреНрдд рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реВрдВ, рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдПрдХ рдкреНрд▓реЙрдЯ рдмрдирд╛рддрд╛ рд╣реВрдВред

рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдорд┐рд▓рд╛ рдФрд░ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛: https://github.com/Rdatatable/data.table/commit/d0469e670961dcdea115d433c0f2dce596d65906ред рдЗрд╕ рдЗрд╢реНрдпреВ рдирдВрдмрд░ рдХреЛ рдХрдорд┐рдЯ рдореИрд╕реЗрдЬ рдореЗрдВ рдЯреИрдЧ рдХрд░рдирд╛ рднреВрд▓ рдЧрдПред

рдУрд╣ред рдпрд╣ рдПрдХ рдмрд┐рдВрджреБ рд╣реИред 872505 рдкрдВрдХреНрддрд┐рдпрд╛рдБ * 12780 рдХреЙрд▓реНрд╕ 11 рдмрд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВред рддреЛ рд▓рдВрдмреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣> 2 ^ 31 рд╣реИред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ - рдореБрдЭреЗ рд╡рд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рд╣рдореЗрдВ рдмрд╕ рдЧреЛрд▓реА рдХрд╛рдЯрдиреА рд╣реЛрдЧреА рдФрд░ рдлрд┐рд░ > 2^31 рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рдмреАрдЪ, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣реЗрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХрдо рдХрд░ рджреВрдВрдЧрд╛ред

рдХреГрдкрдпрд╛ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рдкрд╕ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ 12,785 рдХреЙрд▓рдо рдореЗрдВ рд╕реЗ 508 рдХреЛ рдЖрдЙрдЯ-рдСрдл-рд╕реИрдВрдкрд▓ рдкреНрд░рдХрд╛рд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдСрдЯреЛ рд░реАрд░рди рд╕рдордп рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк colClasses рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдпрд╣ рдареАрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдкреВрд░реНрдг рд╡рд░реНрдмреЛрдЬрд╝ рдЖрдЙрдЯрдкреБрдЯ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░!

рдареАрдХ...
рдирд╡реАрдирддрдо data.table dev: data.table 1.10.5 рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢

рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░ рдореБрдЦреНрдп рдмрд┐рдВрджреБ:

  1. рдлрд╝реНрд░реЗрдб рдиреЗ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдХрд░ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред
  2. рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрдврд╝рдиреЗ рдореЗрдВ ~ 5.5 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧрд╛, рдЬрд┐рд╕рдореЗрдВ ~ 1.3 рдорд┐рдирдЯ рд▓рдЧреЗред
  3. рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд░реИрдо рдЖрд╡рдВрдЯрди рдореЗрдВ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рдерд╛ред
  4. рдХреЛрд░ "рдХрдо рд╕рдХреНрд░рд┐рдп" рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ (рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ)ред

рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ/рдкреНрд░рд╢реНрди:
1.
рдХреЛрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ:
image

рдлрд╝реНрд░реЗрдб рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдХреЛрд░ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ ~ 90-80% рдереАред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХреА рдЫрд╡рд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд░ ~ 2-3% рдХреЗ рдЖрд╕рдкрд╛рд╕ рд░рд╣рд╛ред


  1. рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдлрд╝реНрд░реЗрдб рдкреВрд░реНрдгрд╛рдВрдХ рд╕реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддрдХ рдХреНрдпреЛрдВ рдзрдХреНрдХреЛрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ: рдЙрджрд╛
Column 1489 ("D_19850126") bumped from 'integer' to 'numeric' due to <<0.949999988079071>> somewhere between row 6041 and row 24473

рдореИрдВрдиреЗ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЪреЗрдХ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпреЛрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реИ рддреЛ 'рдмрдореНрдкреНрдб' рд╕реЗ 'рд╕рдВрдЦреНрдпрд╛рддреНрдордХ' рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдиреАрдЪреЗ рд╕реБрдЭрд╛рдИ рдЧрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░рд╛рдВрд╢ рджреЗрдЦреЗрдВ)? рдпрд╛ рдореИрдВ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдБ? рдпрд╣ 508 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ NA рдХреА рд╡рдЬрд╣ рд╕реЗ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ?

summary(DT[6041:24473,.(D_19850126)])
   D_19850126   
 Min.   :0.750  
 1st Qu.:0.887  
 Median :0.945  
 Mean   :0.966  
 3rd Qu.:1.045  
 Max.   :1.210  
 NA's   :18393 

рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдмрд╛рд╣рд░ рдХреБрдЫ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдиреАрдЪреЗред

DT<-fread('dt.daily.4km.ver032917.csv', verbose=TRUE)

рдЖрдЙрдЯрдкреБрдЯ

Parameter na.strings == <<NA>>
None of the 0 na.strings are numeric (such as '-9999').Input contains no \n. Taking this to be a filename to open
File opened, filesize is 43.772296 GB.
Memory mapping ... ok
Detected eol as \n only (no \r afterwards), the UNIX and Mac standard.
Positioned on line 1 starting: <<x,y,D_19810101,D_19810102,D_19810103,D_19810104,D_19810105,D_19810106,D_19810107,D_19810108,D_19810109,D_19810110,D_19810111,D_19810112,D_19810113,
...  
...
All the fields on line 1 are character fields. Treating as the column names.
Number of sampling jump points  = 11 because 1281788 startSize * 10 NJUMPS * 2 = 25635760 <= -244636240 bytes from line 2 to eof
Type codes (jump 00)    : 441111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...1111111111  Quote rule 0
Type codes (jump 01)    : 444422222222222222242444424444442222222222424444424442224424222244222222222242422222224422...4442244422  Quote rule 0
Type codes (jump 02)    : 444422222222222222242444424444442422222242424444424442224424222244222222222242424222424424...4442444442  Quote rule 0
Type codes (jump 03)    : 444422222222222224242444424444444422222244424444424442224424222244222222222244424442424424...4442444442  Quote rule 0
Type codes (jump 04)    : 444444244422222224442444424444444444242244444444444444424444442244444222222244424442444444...4444444444  Quote rule 0
Type codes (jump 05)    : 444444244422222224442444424444444444242244444444444444424444442244444222222244424442444444...4444444444  Quote rule 0
Type codes (jump 06)    : 444444444422222224442444424444444444242244444444444444424444444444444244444444424442444444...4444444444  Quote rule 0
Type codes (jump 07)    : 444444444422222224442444424444444444242244444444444444444444444444444244444444424444444444...4444444444  Quote rule 0
Type codes (jump 08)    : 444444444442222224444444424444444444242244444444444444444444444444444444444444424444444444...4444444444  Quote rule 0
Type codes (jump 09)    : 444444444442222424444444424444444444244444444444444444444444444444444444444444424444444444...4444444444  Quote rule 0
Type codes (jump 10)    : 444444444442222424444444424444444444244444444444444444444444444444444444444444424444444444...4444444444  Quote rule 0
=====
 Sampled 305 rows (handled \n inside quoted fields) at 11 jump points including middle and very end
 Bytes from first data row on line 2 to the end of last row: 47000004016
 Line length: mean=45578.20 sd=33428.37 min=12815 max=108497
 Estimated nrow: 47000004016 / 45578.20 = 1031195
 Initial alloc = 2062390 rows (1031195 + 100%) using bytes/max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]
=====
Type codes (colClasses) : 444444444442222424444444424444444444244444444444444444444444444444444444444444424444444444...4444444444
Type codes (drop|select): 444444444442222424444444424444444444244444444444444444444444444444444444444444424444444444...4444444444
Allocating 12785 column slots (12785 - 0 dropped)
Reading 44928 chunks of 0.998MB (22 rows) using 144 threads
Read 872505 rows x 12785 columns from 43.772GB file in 05:26.908 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Final type counts
         0 : drop     
         0 : logical  
         0 : integer  
         0 : integer64
     12785 : numeric  
         0 : character
Rereading 508 columns due to out-of-sample type exceptions.
Column 171 ("D_19810618") bumped from 'integer' to 'numeric' due to <<2.23000001907349>> somewhere between row 6041 and row 24473
Column 347 ("D_19811211") bumped from 'integer' to 'numeric' due to <<1.02999997138977>> somewhere between row 6041 and row 24473
Column 348 ("D_19811212") bumped from 'integer' to 'numeric' due to <<3.75>> somewhere between row 6041 and row 24473
Column 643 ("D_19821003") bumped from 'integer' to 'numeric' due to <<1.04999995231628>> somewhere between row 6041 and row 24473
Column 1066 ("D_19831130") bumped from 'integer' to 'numeric' due to <<1.46000003814697>> somewhere between row 6041 and row 24473
Column 1102 ("D_19840105") bumped from 'integer' to 'numeric' due to <<0.959999978542328>> somewhere between row 6041 and row 24473
Column 1124 ("D_19840127") bumped from 'integer' to 'numeric' due to <<0.620000004768372>> somewhere between row 6041 and row 24473
Column 1130 ("D_19840202") bumped from 'integer' to 'numeric' due to <<0.540000021457672>> somewhere between row 6041 and row 24473
Column 1489 ("D_19850126") bumped from 'integer' to 'numeric' due to <<0.949999988079071>> somewhere between row 6041 and row 24473
Column 1508 ("D_19850214") bumped from 'integer' to 'numeric' due to <<0.360000014305115>> somewhere between row 6041 and row 24473

... 
...

Reread 872505 rows x 508 columns in 05:29.167
Read 872505 rows. Exactly what was estimated and allocated up front
Thread buffers were grown 0 times (if all 144 threads each grew once, this figure would be 144)
=============================
   0.000s (  0%) Memory map
   0.093s (  0%) sep, ncol and header detection
   0.186s (  0%) Column type detection using 305 sample rows from 44928 jump points
   0.600s (  0%) Allocation of 872505 rows x 12785 cols (192.552GB) plus 1.721GB of temporary buffers
 326.029s ( 50%) Reading data
 329.167s ( 50%) Rereading 508 columns due to out-of-sample type exceptions
 656.075s        Total

рдЗрд╕ рдЕрдВрддрд┐рдо рд╕рд╛рд░рд╛рдВрд╢ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрд╛ (~6 рдорд┐рдирдЯ)ред рдЕрдЧрд░ рд╣рдо рдЗрд╕ рд╡рд░реНрдмреЛрдЬрд╝ рд╕рд╛рд░рд╛рдВрд╢ рдХреЛ рдЧрд┐рдиреЗрдВ рддреЛ рдкреВрд░реЗ рдлрд╝реНрд░реЗрдб рдХреЛ ~ 11 рдорд┐рдирдЯ рд▓рдЧ рдЧрдПред рдпрд╣ рдЙрди 508 тАЛтАЛрдХреЙрд▓рдореЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рд╡рд░реНрдмреЛрдЬрд╝ = TRUE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ "рдЖрдЙрдЯ-рдСрдл-рд╕реИрдВрдкрд▓ рдЯрд╛рдЗрдк рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдХрд╛рд░рдг 508 рдХреЙрд▓рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдирд╛" рд╕рдВрджреЗрд╢ рднреА рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред

рдЗрд╕реЗ "verbose=TRUE" рдХреЗ рдмрд┐рдирд╛ рджреЗрдЦреЗрдВ

ptm<-proc.time() 
DT<-fread('dt.daily.4km.ver032917.csv')

Read 872505 rows x 12785 columns from 43.772GB file in 05:26.647 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Rereading 508 columns due to out-of-sample type exceptions.

Reread 872505 rows x 508 columns in 05:30.276
proc.time() - ptm 
    user   system  elapsed 
2113.100   85.919  657.870

рдПрдлрд░рд╛рдЗрдЯ рдЯреЗрд╕реНрдЯ
рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд▓рд┐рдЦрдирд╛ рдЗрди рджрд┐рдиреЛрдВ рдкрдврд╝рдиреЗ рд╕реЗ рдзреАрдорд╛ рдерд╛ред

fwrite(DT,'dt.daily.4km.ver032917.csv', verbose=TRUE)
No list columns are present. Setting sep2='' otherwise quote='auto' would quote fields containing sep2.
maxLineLen=151187 from sample. Found in 1.890s
Writing column names ... done in 0.000s
Writing 872505 rows in 32315 batches of 27 rows (each buffer size 8MB, showProgress=1, nth=144) ... 
done (actual nth=144, anyBufferGrown=no, maxBuffUsed=46%) 

"рд░реАрдб" рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреЛ рдмрд╛рд░ рдкрдврд╝рдиреЗ рдЬреИрд╕рд╛ рд╣реИред

рдЙрддреНрдХреГрд╖реНрдЯ! рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╢реБрдХреНрд░рд┐рдпрд╛ред

  1. рд╣рд╛рдБ рдЖрдк рд╕рд╣реА рд╣реИрдВ рдЗрд╕реЗ рджреЛрдмрд╛рд░рд╛ рдирд╣реАрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдиреЗ colClasses=list("numeric"=1:12785) рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП Type code (colClasses) рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЖрдЙрдЯрдкреБрдЯ рд▓рд╛рдЗрди рд╕рднреА рдорд╛рди 4 рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд▓рд╛рдкрддрд╛ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдареАрдХ рдХрд░реЗрдЧрд╛ рдФрд░ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
  2. 5.5рдореА рдмрдирд╛рдо 1.3рдореА рдкрд░, рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХрд╛ рдмрдлрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ 1MB рд╣реИред рдХреИрд╢ рдореЗрдВ рдлрд╝рд┐рдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛ рд╣реЛрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ред рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ 1MB/12785 cols = 82 рдмрд╛рдЗрдЯреНрд╕ред рддреЛ рдпрд╣ рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде 50x рднреА рдХреИрд╢ рдЕрдХреНрд╖рдо рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╡реИрд╕реЗ рднреАред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрд╛ рд╣реЛрдЧрд╛ред рдЬрдм рдпрд╣ 1.3 рдореАрдЯрд░ рдХреА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рддреЛ рдЙрд╕рдореЗрдВ 1 рдПрдордмреА рдЖрдХрд╛рд░ рдирд╣реАрдВ рдерд╛ред
  3. рдЗрд╕рдиреЗ рдХреЗрд╡рд▓ 305 рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдирдореВрдирд╛ рдХреНрдпреЛрдВ рд▓рд┐рдпрд╛ рд╣реИ рдпрд╣ рднреА рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИред рдЗрд╕реЗ 1,000 рдХрд╛ рдирдореВрдирд╛ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдЕрдЧрд░ рдпрд╣ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ рддреЛ рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЗ рдмрд┐рдирд╛ 508 рдХреЙрд▓рдо рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ред рдирдореВрдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдордп рдирд╣реАрдВ рд▓рдЧ рд░рд╣рд╛ рд╣реИ (0.186s) рдЗрд╕рд▓рд┐рдП рдирдореВрдирд╛ рдЖрдХрд╛рд░ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ lscpu рдпреВрдирд┐рдХреНрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рдЖрдкрдХреЗ рдХреИрд╢ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧрд╛ рдФрд░ рдореИрдВ рд╡рд╣рд╛рдВ рд╕реЗ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ buffMB рдХреЛ fread рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХреЗрдВ рдХрд┐ рдпрд╣ рд╡рд╣ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдореИрдВ рдПрдХ рдмреЗрд╣рддрд░ рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдпрд╣ рд╣реИред

рдореЗрд░реА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдХреЗ рдПрдХ рдмрд┐рдВрджреБ рдореЗрдВ рдореЗрд░реА рдЧрд▓рддреАред colClasses=list("numeric"=1:12785) рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ "colClasses" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ "рд░реАрд░реАрдбрд┐рдВрдЧ" рдХрд░рддрд╛ рд╣реИред рднреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреЗрдж рд╣реИред
рдПрдХ рдмрд╛рдд рдЬреЛ рдореИрдВрдиреЗ рджреЗрдЦреА рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдореИрдВ "colClasses" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рддрд╛рд▓рд┐рдХрд╛ NA рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдФрд░ RAM рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ DT рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (~ 106MB RAM рдореЗрдВ)ред

рдпрд╣рд╛рдБ рдПрд▓рдПрд╕рд╕реАрдкреАрдпреВ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

Architecture:          x86_64                                               
CPU op-mode(s):        32-bit, 64-bit                                       
Byte Order:            Little Endian                                        
CPU(s):                144                                                  
On-line CPU(s) list:   0-143                                                      
Thread(s) per core:    2                                                          
Core(s) per socket:    18                                                         
Socket(s):             4                                                          
NUMA node(s):          4                                                             
Vendor ID:             GenuineIntel                                                  
CPU family:            6                                                             
Model:                 63                                                             
Model name:            Intel(R) Xeon(R) CPU E7-8870 v3 @ 2.10GHz                      
Stepping:              4                                                              
CPU MHz:               2898.328                                                          
BogoMIPS:              4195.66                                                           
Virtualization:        VT-x                                                              
L1d cache:             32K                                                                  
L1i cache:             32K                                                                  
L2 cache:              256K                                                                       
L3 cache:              46080K                                                                     
NUMA node0 CPU(s):     0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140                                                                                    
NUMA node1 CPU(s):     1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141                                                                                                        
NUMA node2 CPU(s):     2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142                                                                                                             
NUMA node3 CPU(s):     3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143   

рдареАрдХ рдорд┐рд▓ рдЧрдпрд╛ред рдзрдиреНрдпрд╡рд╛рджред

рдЕрдкрдиреА рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рдирд╛, рдХреНрдпрд╛ рдпрд╣ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ "рдкреВрд░реНрдгрд╛рдВрдХ рд╕реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддрдХ рдЯрдХреНрдХрд░" рдХреЗ рдмрдЬрд╛рдп "рдкреВрд░реНрдгрд╛рдВрдХ рд╕реЗ рдбрдмрд▓ рддрдХ рдкрд╣реБрдВрдЪ рд░рд╣рд╛ рд╣реИ"?

'NA's рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд' рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИ? рд╕рднреА рддрд╛рд▓рд┐рдХрд╛ NAs рд╕реЗ рднрд░реА рд╣реИ, рдХреЗрд╡рд▓ 508 рдХреЙрд▓рдо?

рдХреНрдпрд╛ рд╣реИ 'рдбреАрдЯреА рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (~ 106 рдПрдордмреА рд░реИрдо рдореЗрдВ)'ред рдпрд╣ 44GB рдХреА рдлрд╛рдЗрд▓ рд╣реИ рддреЛ 106MB рд╕рд╛рдорд╛рдиреНрдп рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

  • рдЦреИрд░, рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдФрд░ NA рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рдирд╣реАрдВ рд╣реИрдВред рдЖрдк рдЙрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рдХрдм рдлреЗрдВрдХрддреЗ рд╣реИрдВ, "рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдП рд╕реЗ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдмреА рддрдХ рдЯрдХрд░рд╛рддреЗ рд╣реБрдП"?

  • рдареАрдХ рдпрд╣реА рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИред data.table рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛ рдореИрдВрдиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЕрдЧрд░ рдореИрдВ colClasses рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдбреАрдЯреА рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдирдП рд╕реЗ рднрд░рд╛ рд╣реЛрддрд╛ рд╣реИред DT[!is.na(D_19821001),] 0 рд░рд┐рдХреЙрд░реНрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдореИрдВ colClasses рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╡рд╣реА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИред

  • рдареАрдХ рд╣реИ, рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕реАрдПрд╕рд╡реА рдХреЗ рд░реВрдк рдореЗрдВ 47 рдЬреАрдмреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рдЖрд░ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд░реИрдо рдореЗрдВ рджреЛрдЧреБрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЗрддрд╛ рд╣реИ ... рдореВрд▓реНрдпреЛрдВ рдХреА рд╢реБрджреНрдзрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рдПрдХ рдмрд╛рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдХрд╛ рдЖрд╡рдВрдЯрди рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЙрд╕ рд╡реГрджреНрдзрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИрдВ?

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдФрд░ рдЯрд╛рдЗрдкреЛ: 106MB 106GB рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред
рдореИрдВ рдПрдирдП рдкрд╣рд▓реВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХреБрдЫ рд╕реБрдзрд╛рд░ рдФрд░ рдлрд┐рд░ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ ...

рдареАрдХ рд╣реИ - рдХреГрдкрдпрд╛ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХрд╛ рдирдореВрдирд╛ рдмрдврд╝рдХрд░ 10,000 рд╣реЛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рджреЗрдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ) рдФрд░ рдмрдлрд░ рдЖрдХрд╛рд░ рдЕрдм рдиреНрдпреВрдирддрдо рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдбреНрд░реИрдЯ рдкреИрдХреЗрдЬ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреНрд░рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо 30 рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рдкрдбрд╝ рд╕рдХрддреА рд╣реИред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ "рдПрдордмреА" рдХреЗ рдмрдЬрд╛рдп "рдЬреАрдмреА" рдерд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдХреЙрдлреА рдирд╣реАрдВ рдереАред
рдореИрдВ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ред

рдирд╡реАрдирддрдо рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдгред рддрд╛рд▓рд┐рдХрд╛ рджреЗрд╡ред: рдбреЗрдЯрд╛ред рддрд╛рд▓рд┐рдХрд╛ 1.10.5 рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд 2017-03-30 16:31:45 рдпреВрдЯреАрд╕реА :

рд╕рд╛рд░рд╛рдВрд╢:
рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рд╕реАрдПрд╕рд╡реА рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП 1.43 рдорд┐рдирдЯ) рдФрд░ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рднреА рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд░реИрдо рдЖрд╡рдВрдЯрди рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдирд╣реАрдВ рдмрдврд╝рддрд╛ рд╣реИред рдбрд┐рд╕реНрдХ рдкрд░ рдПрдХ 44 рдЬреАрдмреА рд╕реАрдПрд╕рд╡реА рдПрдХ рдмрд╛рд░ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ ~ 112 (+ 37 рдЬреАрдмреА рдЕрд╕реНрдерд╛рдпреА рдмрдлрд░) рдЬреАрдмреА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

рдЯреЗрд╕реНрдЯ 1 :

colClasses=list("numeric"=1:12785) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛

DT<-fread('dt.daily.4km.csv', verbose=TRUE)

Parameter na.strings == <<NA>>
None of the 1 na.strings are numeric (such as '-9999').
Input contains no \n. Taking this to be a filename to open
File opened, filesize is 43.772296 GB.
Memory mapping ... ok
Detected eol as \n only (no \r afterwards), the UNIX and Mac standard.
Positioned on line 1 starting: <<x,y,D_19810101,D_19810102,D_19810103,D_19810104,D_19810105,D_19810106,D_19810107,
D_19810108,D_19810109,D_19810110,D_19810111,D_19810112,
...
All the fields on line 1 are character fields. Treating as the column names.
Number of sampling jump points  = 101 because 47000004016 bytes from row 1 to eof / (2 * 1281788 jump0size) == 18333
Type codes (jump 000)    : 441111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...1111111111  Quote rule 0
Type codes (jump 001)    : 444222422222222224442444444444442222444444444444444444442444444444444222224444444444444444...4444444442  Quote rule 0
Type codes (jump 002)    : 444222444444222244442444444444444422444444444444444444442444444444444222224444444444444444...4444444442  Quote rule 0
...
Type codes (jump 034)    : 444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...4444444444  Quote rule 0
Type codes (jump 100)    : 444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...4444444444  Quote rule 0
=====
 Sampled 10049 rows (handled \n inside quoted fields) at 101 jump points including middle and very end
 Bytes from first data row on line 2 to the end of last row: 47000004016
 Line length: mean=79727.22 sd=32260.00 min=12804 max=153029
 Estimated nrow: 47000004016 / 79727.22 = 589511
 Initial alloc = 1179022 rows (589511 + 100%) using bytes/max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]
=====
Type codes (colClasses)  : 444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...4444444444
Type codes (drop|select) : 444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...4444444444
Allocating 12785 column slots (12785 - 0 dropped)
Reading 432 chunks of 103.756MB (1364 rows) using 144 threads
Read 872505 rows x 12785 columns from 43.772GB file in 02:17.726 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Final type counts
         0 : drop     
         0 : logical  
         0 : integer  
         0 : integer64
     12785 : double   
         0 : character
Thread buffers were grown 67 times (if all 144 threads each grew once, this figure would be 144)
=============================
   0.000s (  0%) Memory map
   0.099s (  0%) sep, ncol and header detection
  11.057s (  8%) Column type detection using 10049 sample rows
   0.899s (  1%) Allocation of 872505 rows x 12785 cols (112.309GB) plus 37.433GB of temporary buffers
 125.671s ( 91%) Reading data
   0.000s (  0%) Rereading 0 columns due to out-of-sample type exceptions
 137.726s        Total

рдЯреЗрд╕реНрдЯ 2 :

рдЕрдм colClasses=list("numeric"=1:12785) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕рдордп рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛...

DT<-fread('dt.daily.4km.csv', colClasses=list("numeric"=1:12785), verbose=TRUE)

Allocating 12785 column slots (12785 - 0 dropped)
Reading 432 chunks of 103.756MB (1364 rows) using 144 threads
Read 872505 rows x 12785 columns from 43.772GB file in 01:43.028 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Final type counts
         0 : drop     
         0 : logical  
         0 : integer  
         0 : integer64
     12785 : double   
         0 : character
Thread buffers were grown 67 times (if all 144 threads each grew once, this figure would be 144)
=============================
   0.000s (  0%) Memory map
   0.092s (  0%) sep, ncol and header detection
  11.009s ( 11%) Column type detection using 10049 sample rows
   0.332s (  0%) Allocation of 872505 rows x 12785 cols (112.309GB) plus 37.433GB of temporary buffers
  91.595s ( 89%) Reading data
   0.000s (  0%) Rereading 0 columns due to out-of-sample type exceptions
 103.028s        Total

рдареАрдХ рд╣реИ рдмрдврд╝рд┐рдпрд╛ - рд╣рдо рд╡рд╣рд╛рдБ рдкрд╣реБрдБрдЪ рд░рд╣реЗ рд╣реИрдВред рд╕рд╣реА рдирдореВрдирд╛ рдЖрдХрд╛рд░ рдкреНрд▓рд╕ рдЗрд╕реЗ 100 рдмрд┐рдВрджреБрдУрдВ (10,000 рдирдореВрдирд╛ рд▓рд╛рдЗрдиреЛрдВ) рдкрд░ 100 рд▓рд╛рдЗрдиреЛрдВ рддрдХ рдмрдврд╝рд╛рдирд╛ рддрдм рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ - рдмрдврд╝рд┐рдпрд╛ред рдЪреВрдВрдХрд┐ 12,875 рдХреЙрд▓рдо рд╣реИрдВ рдФрд░ 44рдЬреАрдмреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рдФрд╕рдд 80,000 рд╡рд░реНрдгреЛрдВ рдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдирдореВрдирд╛ рд▓реЗрдиреЗ рдореЗрдВ 11 рдХрд╛ рд╕рдордп рд▓рдЧрд╛ред рд▓реЗрдХрд┐рди рд╡рд╣ рд╕рдордп рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдиреЗ рд╕реЗ рдмрдЪрддрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд 90 рдХрд╛ рд╕рдордп рд▓рдЧрддрд╛ рдерд╛ред рд╣рдо рддрдм рдЙрд╕ рдкрд░ рдЯрд┐рдХреЗ рд░рд╣реЗрдВрдЧреЗред

рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рджреВрд╕рд░реА рдмрд╛рд░ рддреЗрдЬ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рджреВрд╕рд░реА рдмрд╛рд░ рдерд╛ рдФрд░ рдЖрдкрдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЧрд░реНрдо рдФрд░ рдХреИрд╢ рдХрд┐рдпрд╛ рд╣реИред рдмреЙрдХреНрд╕ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреЛрдИ рднреА рдЪреАрдЬрд╝ рджреАрд╡рд╛рд░ рдШрдбрд╝реА рдХреЗ рд╕рдордп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧреАред рдпрд╣ рдкрд╣рд▓реЗ рдЯреЗрд╕реНрдЯ рдХреЗ рд▓рдЧрд╛рддрд╛рд░ 3 рд╕рдорд╛рди рд░рди рдЪрд▓рд╛рдХрд░ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдХреЛ рдмрджрд▓рдирд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ 3 рд╕рдорд╛рди рд░рди рдЪрд▓рд╛рдирд╛ред 44GB рдЖрдХрд╛рд░ рдореЗрдВ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд┐рдиреНрдирддрд╛рдПрдБ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ 3 рд░рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдХрд╛рд▓реА рдХрд▓рд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╣рд╛рдБ 112GB рдореЗрдореЛрд░реА рдмрдирд╛рдо 44GB рдбрд┐рд╕реНрдХ рдореЗрдВ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдореЗрдореЛрд░реА рдореЗрдВ рдмрдбрд╝рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдХреЙрд▓рдо рдбрдмрд▓ рдЯрд╛рдЗрдк рд╣реИрдВ; рдЖрд░ рдореЗрдВ рдХреЛрдИ рдЗрди-рдореЗрдореЛрд░реА рд╕рдВрдкреАрдбрд╝рди рдирд╣реАрдВ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдирдП рдорд╛рди рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реАрдПрд╕рд╡реА рдореЗрдВ рдХреЛрдИ рд╕реНрдерд╛рди рдирд╣реАрдВ рд▓реЗрддреЗ рд╣реИрдВ (рдХреЗрд╡рд▓ ",," ) рд▓реЗрдХрд┐рди рд╕реНрдореГрддрд┐ рдореЗрдВ 8 рдмрд╛рдЗрдЯреНрд╕ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ 83GB рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рди рдХрд┐ 112GB (872505 рдкрдВрдХреНрддрд┐рдпрд╛рдБ x 12785 рдХреЙрд▓реНрд╕ x 8 рдмрд╛рдЗрдЯ рдпреБрдЧрд▓ / 1024 ^ 3 = 83GB)ред рд╡рд╣ 112GB рд╡рд╣ рд╣реИ рдЬреЛ рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдорд╛рдзреНрдп рдФрд░ рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд╕рдд рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдпрд╣ 589,511 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА рдЬреЛ рдмрд╣реБрдд рдХрдо рд╣реЛрдВрдЧреАред рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рдХрд╛ рд╡рд┐рдЪрд░рдг рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдерд╛ рдХрд┐ рдХреНрд▓реИрдВрдк +100% рдкрд░ рдкреНрд░рднрд╛рд╡реА рд╣реЛ рдЧрдпрд╛ред 58,9511 * 2 = 1,179,022 * 12785 * 8/1024^3 = 112GBред рдЕрдВрдд рдореЗрдВ рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдлрд╛рдЗрд▓ рдореЗрдВ 872,505 рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЦрд╛рд▓реА рдЬрдЧрд╣ рдЦрд╛рд▓реА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛ред (TODO1)

рдЬрдм рдЖрдк рд╕рднреА рд╕реНрддрдВрднреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрддрдВрдн рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддрдм рднреА рдпрд╣ рдирдореВрдирд╛ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдирдореВрдирд╛рдХрд░рдг рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред (TODO2)

рдЪреВрдВрдХрд┐ рдЖрдкрдХрд╛ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдбрдмрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ C рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрдВрдХреНрд╢рди strtod() рдкрд░ 11 рдмрд┐рд▓рд┐рдпрди рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХрд╛рдордирд╛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧрддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред (рдХрд┐рдпрд╛ рд╣реБрдЖ)

рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдорд╣рд╛рди рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдБред рдореИрдВ рдПрдХ рдФрд░ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рд▓рдВрдмреЗ рдкреНрд░рд╛рд░реВрдк рдкрд░ рдЕрдзрд┐рдХ рд╣реИ, ~ 21 рдорд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпреЛрдВ x 1432 рдХреЙрд▓рдо рдХреЗ рд╕рд╛рдеред

     NAME       NROW  NCOL      MB                                                                                                                                                     
[1,] DT   21,812,625 1,432 238,310  

рдЗрд╕рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯ рдЬреЛрдбрд╝рдирд╛ред 89G .tsv , рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЕрдзрд┐рдХрддрдо рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ ~180G рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдПрдирдП рдФрд░ рдбрдмрд▓ рд╣реИрдВред

рдореИрдВ рднреА рдЗрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рдЦреБрд╢ рд╣реВрдВред

Ubuntu 16.04 64bit / Linux 4.4.0-71-generic
R version 3.3.2 (2016-10-31)
data.table 1.10.5 IN DEVELOPMENT built 2017-04-04 14:27:46 UTC

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                64
On-line CPU(s) list:   0-63
Thread(s) per core:    2
Core(s) per socket:    16
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
Stepping:              1
CPU MHz:               2699.984
CPU max MHz:           3000.0000
CPU min MHz:           1200.0000
BogoMIPS:              4660.70
Hypervisor vendor:     Xen
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              46080K
NUMA node0 CPU(s):     0-15,32-47
NUMA node1 CPU(s):     16-31,48-63
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq monitor est ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm xsaveopt ida
Parameter na.strings == <<NA>>
None of the 1 na.strings are numeric (such as '-9999').
Input contains no \n. Taking this to be a filename to open
File opened, filesize is 88.603947 GB.
Memory mapping ... ok
Detected eol as \n only (no \r afterwards), the UNIX and Mac standard.
Positioned on line 1 starting: <<allele prediction_uuid sample_>>
Detecting sep ...
  sep=='\t'  with 101 lines of 76 fields using quote rule 0
Detected 76 columns on line 1. This line is either column names or first data row (first 30 chars): <<allele    prediction_uuid sample_>>
All the fields on line 1 are character fields. Treating as the column names.
Number of sampling jump points  = 101 because 95137762779 bytes from row 1 to eof / (2 * 24414 jump0size) == 1948426
Type codes (jump 000)    : 5555542444111145424441111444111111111111111111111111111111111111111111111111  Quote rule 0
Type codes (jump 009)    : 5555542444114445424441144444111111111111111111111111111111111111111111111111  Quote rule 0
Type codes (jump 042)    : 5555542444444445424444444444111111111111111111111111111111111111111111111111  Quote rule 0
Type codes (jump 048)    : 5555544444444445444444444444225225522555545111111111111111111111111111111111  Quote rule 0
Type codes (jump 083)    : 5555544444444445444444444444225225522555545254452454411154454452454411154455  Quote rule 0
Type codes (jump 085)    : 5555544444444445444444444444225225522555545254452454454454454452454454454455  Quote rule 0
Type codes (jump 100)    : 5555544444444445444444444444225225522555545254452454454454454452454454454455  Quote rule 0
=====
 Sampled 10028 rows (handled \n inside quoted fields) at 101 jump points including middle and very end
 Bytes from first data row on line 2 to the end of last row: 95137762779
 Line length: mean=465.06 sd=250.27 min=198 max=929
 Estimated nrow: 95137762779 / 465.06 = 204571280
 Initial alloc = 409142560 rows (204571280 + 100%) using bytes/max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]
=====
Type codes (colClasses)  : 5555544444444445444444444444225225522555545254452454454454454452454454454455
Type codes (drop|select) : 5555544444444445444444444444225225522555545254452454454454454452454454454455
Allocating 76 column slots (76 - 0 dropped)
Reading 90752 chunks of 1.000MB (2254 rows) using 64 threads

рдпрджрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рдПрдХ рдмрд╣реБрдд рд▓рдВрдмреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдкрд░рд┐рдгрд╛рдо рджрд┐рдП рдЧрдП рд╣реИрдВ: 419,124,196 x 42 (~ 2 ^ 34) рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реЗрдбрд░ рдкрдВрдХреНрддрд┐ рдФрд░ colClasses рдкрд╛рд╕ рд╣реБрдП рд╣реИрдВред

> library(data.table)
data.table 1.10.5 IN DEVELOPMENT built 2017-09-27 17:12:56 UTC; travis
  The fastest way to learn (by data.table authors): https://www.datacamp.com/courses/data-analysis-the-data-table-way
  Documentation: ?data.table, example(data.table) and browseVignettes("data.table")
  Release notes, videos and slides: http://r-datatable.com
> CC <- c(rep('integer', 2), rep('character', 3),
+      rep('numeric', 2), rep('integer', 3),
+      rep('character', 2), 'integer', 'character', 'integer',
+      rep('character', 4), rep('numeric', 11), 'character',
+      'numeric', 'character', rep('numeric', 2),
+      rep('integer', 3), rep('numeric', 2), 'integer',
+      'numeric')
> P <- fread('XXXX.csv', colClasses = CC, header = TRUE, verbose = TRUE)
Input contains no \n. Taking this to be a filename to open
[01] Check arguments
  Using 40 threads (omp_get_max_threads()=40, nth=40)
  NAstrings = [<<NA>>]
  None of the NAstrings look like numbers.
  show progress = 1
  0/1 column will be read as boolean
[02] Opening the file
  Opening file XXXXcsv
  File opened, size = 51.71GB (55521868868 bytes).
  Memory mapping ... ok
[03] Detect and skip BOM
[04] Arrange mmap to be \0 terminated
  \r-only line endings are not allowed because \n is found in the data
[05] Skipping initial rows if needed
  Positioned on line 1 starting: <<X,X,X,X>>
[06] Detect separator, quoting rule, and ncolumns
  Detecting sep ...
  sep=','  with 100 lines of 42 fields using quote rule 0
  Detected 42 columns on line 1. This line is either column names or first data row. Line starts as: <<X,X,X,X>>
  Quote rule picked = 0
  fill=false and the most number of columns found is 42
[07] Detect column types, good nrow estimate and whether first row is column names
  'header' changed by user from 'auto' to true
  Number of sampling jump points = 101 because (55521868866 bytes from row 1 to eof) / (2 * 13006 jump0size) == 2134471
  Type codes (jump 000)    : 5161010775551055105101111111111111110110771117717  Quote rule 0
  Type codes (jump 022)    : 5561010775551055105101111111111111110110771117717  Quote rule 0
  Type codes (jump 030)    : 5561010775551055105101010107517171151110110771117717  Quote rule 0
  Type codes (jump 037)    : 5561010775551055105101010107517771171110110771117717  Quote rule 0
  Type codes (jump 073)    : 5561010775551055105101010107517771177110110771117717  Quote rule 0
  Type codes (jump 093)    : 5561010775551055105101010107717771177110110771117717  Quote rule 0
  Type codes (jump 100)    : 5561010775551055105101010107717771177110110771117717  Quote rule 0
  =====
  Sampled 10049 rows (handled \n inside quoted fields) at 101 jump points
  Bytes from first data row on line 1 to the end of last row: 55521868866
  Line length: mean=132.68 sd=6.00 min=118 max=425
  Estimated number of rows: 55521868866 / 132.68 = 418453923
  Initial alloc = 460299315 rows (418453923 + 9%) using bytes/max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]
  =====
[08] Assign column names
[09] Apply user overrides on column types
  After 11 type and 0 drop user overrides : 551010107755510105105101010107777777777710710775557757
[10] Allocate memory for the datatable
  Allocating 42 column slots (42 - 0 dropped) with 460299315 rows
[11] Read the data
  jumps=[0..52960), chunk_size=1048373, total_size=55521868441
Read 98%. ETA 00:00 
[12] Finalizing the datatable
Read 419124195 rows x 42 columns from 51.71GB (55521868868 bytes) file in 13:42.935 wall clock time
Thread buffers were grown 0 times (if all 40 threads each grew once, this figure would be 40)
Final type counts
         0 : drop     
         0 : bool8    
         0 : bool8    
         0 : bool8    
         0 : bool8    
        11 : int32    
         0 : int64    
        19 : float64  
         0 : float64  
         0 : float64  
        12 : string   
=============================
   0.000s (  0%) Memory map 51.709GB file
   0.016s (  0%) sep=',' ncol=42 and header detection
   0.016s (  0%) Column type detection using 10049 sample rows
 188.153s ( 23%) Allocation of 419124195 rows x 42 cols (125.177GB)
 634.751s ( 77%) Reading 52960 chunks of 1.000MB (7901 rows) using 40 threads
   =    0.121s (  0%) Finding first non-embedded \n after each jump
   +   17.036s (  2%) Parse to row-major thread buffers
   +  616.184s ( 75%) Transpose
   +    1.410s (  0%) Waiting
   0.000s (  0%) Rereading 0 columns due to out-of-sample type exceptions
 822.935s        Total
> memory.size()
[1] 134270.3
> rm(P)
> gc()
             used    (Mb)  gc trigger     (Mb)    max used     (Mb)
Ncells     585532    31.3     5489235    293.2     6461124    345.1
Vcells 1508139082 11506.2 20046000758 152938.9 25028331901 190951.1
> memory.size()
[1] 87.56
> P <- fread('XXXX.csv', colClasses = CC, header = TRUE, verbose = TRUE)
Input contains no \n. Taking this to be a filename to open
[01] Check arguments
  Using 40 threads (omp_get_max_threads()=40, nth=40)
  NAstrings = [<<NA>>]
  None of the NAstrings look like numbers.
  show progress = 1
  0/1 column will be read as boolean
[02] Opening the file
  Opening file XXXX.csv
  File opened, size = 51.71GB (55521868868 bytes).
  Memory mapping ... ok
[03] Detect and skip BOM
[04] Arrange mmap to be \0 terminated
  \r-only line endings are not allowed because \n is found in the data
[05] Skipping initial rows if needed
  Positioned on line 1 starting: <<X,X,X,X>>
[06] Detect separator, quoting rule, and ncolumns
  Detecting sep ...
  sep=','  with 100 lines of 42 fields using quote rule 0
  Detected 42 columns on line 1. This line is either column names or first data row. Line starts as: <<X,X,X,X>>
  Quote rule picked = 0
  fill=false and the most number of columns found is 42
[07] Detect column types, good nrow estimate and whether first row is column names
  'header' changed by user from 'auto' to true
  Number of sampling jump points = 101 because (55521868866 bytes from row 1 to eof) / (2 * 13006 jump0size) == 2134471
  Type codes (jump 000)    : 5161010775551055105101111111111111110110771117717  Quote rule 0
  Type codes (jump 022)    : 5561010775551055105101111111111111110110771117717  Quote rule 0
  Type codes (jump 030)    : 5561010775551055105101010107517171151110110771117717  Quote rule 0
  Type codes (jump 037)    : 5561010775551055105101010107517771171110110771117717  Quote rule 0
  Type codes (jump 073)    : 5561010775551055105101010107517771177110110771117717  Quote rule 0
  Type codes (jump 093)    : 5561010775551055105101010107717771177110110771117717  Quote rule 0
  Type codes (jump 100)    : 5561010775551055105101010107717771177110110771117717  Quote rule 0
  =====
  Sampled 10049 rows (handled \n inside quoted fields) at 101 jump points
  Bytes from first data row on line 1 to the end of last row: 55521868866
  Line length: mean=132.68 sd=6.00 min=118 max=425
  Estimated number of rows: 55521868866 / 132.68 = 418453923
  Initial alloc = 460299315 rows (418453923 + 9%) using bytes/max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]
  =====
[08] Assign column names
[09] Apply user overrides on column types
  After 11 type and 0 drop user overrides : 551010107755510105105101010107777777777710710775557757
[10] Allocate memory for the datatable
  Allocating 42 column slots (42 - 0 dropped) with 460299315 rows
[11] Read the data
  jumps=[0..52960), chunk_size=1048373, total_size=55521868441
Read 98%. ETA 00:00 
[12] Finalizing the datatable
Read 419124195 rows x 42 columns from 51.71GB (55521868868 bytes) file in 05:04.910 wall clock time
Thread buffers were grown 0 times (if all 40 threads each grew once, this figure would be 40)
Final type counts
         0 : drop     
         0 : bool8    
         0 : bool8    
         0 : bool8    
         0 : bool8    
        11 : int32    
         0 : int64    
        19 : float64  
         0 : float64  
         0 : float64  
        12 : string   
=============================
   0.000s (  0%) Memory map 51.709GB file
   0.031s (  0%) sep=',' ncol=42 and header detection
   0.000s (  0%) Column type detection using 10049 sample rows
  28.437s (  9%) Allocation of 419124195 rows x 42 cols (125.177GB)
 276.442s ( 91%) Reading 52960 chunks of 1.000MB (7901 rows) using 40 threads
   =    0.017s (  0%) Finding first non-embedded \n after each jump
   +   12.941s (  4%) Parse to row-major thread buffers
   +  262.989s ( 86%) Transpose
   +    0.495s (  0%) Waiting
   0.000s (  0%) Rereading 0 columns due to out-of-sample type exceptions
 304.910s        Total
> memory.size()
[1] 157049.7

> sessionInfo()
R version 3.4.2 beta (2017-09-17 r73296)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows Server >= 2012 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] data.table_1.10.5

loaded via a namespace (and not attached):
[1] compiler_3.4.2 tools_3.4.2   

рдПрдХ рджреЛ рдиреЛрдЯред рдореИрдВрдиреЗ [07] рд╕реЗ рдкрд╣рд▓реЗ [07] рдбрд╛рд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдЧрд░ colClasses рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рд╕рд╛рде рд╣реА, рд╡рд┐рдВрдбреЛрдЬрд╝ рдиреЗ рдкреНрд░рддреНрдпреЗрдХ рд░рди рдХреЗ рдмрд╛рдж рд▓рдЧрднрдЧ 160GB рдЙрдкрдпреЛрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ред memory.size() рд╢рд╛рдпрдж рдХреБрдЫ рд╕рдлрд╛рдИ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ 532GB рд░реИрдо рдХреЗ рд╕рд╛рде, рдореЗрдореЛрд░реА рдХреИрд╢рд┐рдВрдЧ рдХрд╛ рджреВрд╕рд░реЗ рд░рди рдкрд░ рдЧрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗред

рд╡рд┐рд╕реНрддреГрдд "рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╡рд┐рд╢реНрд╡" рддрд╛рд▓рд┐рдХрд╛ (рдЕрд╕реНрдкрддрд╛рд▓ рдбреЗрдЯрд╛) рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ: 30M рдкрдВрдХреНрддрд┐рдпрд╛рдБ ├Ч 125 рдХреЙрд▓рдо v рд░реАрдбрд░ '1.2.0' рдФрд░ read.csv 3.4.3ред

image

рд╕рдорд╕реНрдпрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдЕрднреА рднреА 1.11.4 рдкрд░ рдорд╛рдиреНрдп рд╣реИ? рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдбред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдпрд╣ рд╕рдм рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред @geponce рдХреГрдкрдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдпрджрд┐ рдирд╣реАрдВред
TODO1 рдКрдкрд░ рдЕрдм #3024 . рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛
TODO2 рдКрдкрд░ рдЕрдм #3025 . рдХреЗ рд░реВрдк рдореЗрдВ рджрд╛рдпрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

rafapereirabr picture rafapereirabr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tcederquist picture tcederquist  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lux5 picture lux5  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DavidArenburg picture DavidArenburg  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nachti picture nachti  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ