O privire asupra iotools: Importul datelor

Procesarea scalabilă a datelor în R

Simon Urbanek

Member of R-Core, Lead Inventive Scientist, AT&T Labs Research

Procesare pe blocuri

  1. Încărcați fragmente de date
  2. Convertiți-le în obiecte native
  3. Efectuați calcule și stocați rezultatele

Repetați pașii 1–3 până la procesarea tuturor datelor

Procesarea scalabilă a datelor în R

Importul datelor

  • Adesea, încărcarea datelor durează mai mult decât procesarea și are loc în 2 pași
    • Recuperarea datelor de pe disc este o operație relativ lentă
    • Conversia datelor brute în obiecte R native
Procesarea scalabilă a datelor în R

Importul datelor cu iotools

În pachetul iotools, încărcarea fizică a datelor și parsarea intrărilor în obiecte R sunt separate pentru flexibilitate și performanță mai bune.

Procesarea scalabilă a datelor în R

iotools: Importul datelor

  • readAsRaw() citește toate datele într-un vector brut
  • read.chunk() citește datele pe blocuri într-un vector brut
Procesarea scalabilă a datelor în R

iotools: Parsarea datelor

  • mstrsplit() convertește datele brute într-o matrice
  • dstrsplit() convertește datele brute într-un data frame
Procesarea scalabilă a datelor în R

iotools: Încărcarea și parsarea datelor

read.delim.raw() = readAsRaw() + dstrsplit()

Procesarea scalabilă a datelor în R

Procesare pe blocuri

  • Nu este necesar să importați toate datele
  • Citiți câte un „bloc" de rânduri din sursa de date
  • Fără structură intermediară
Procesarea scalabilă a datelor în R

Conexiuni la fișiere

# Open a file connection
fc <- file("data-file.csv", "rb")
# Read the first line if the data has a header
readLines(fc, n = 1)
....
# Code to import and parse the data
....
# Close the file connection
close(fc)
Procesarea scalabilă a datelor în R

Să exersăm!

Procesarea scalabilă a datelor în R

Preparing Video For Download...