Pierwsze spojrzenie na iotools: Importowanie danych

Skalowalne przetwarzanie danych w R

Simon Urbanek

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

Przetwarzanie porcjami

  1. Wczytaj porcje danych
  2. Przekształć je w natywne obiekty
  3. Wykonaj obliczenia i zapisz wyniki

Powtarzaj kroki 1–3 aż do przetworzenia wszystkich danych

Skalowalne przetwarzanie danych w R

Importowanie danych

  • Wczytywanie danych często trwa dłużej niż ich przetwarzanie i odbywa się w 2 krokach
    • Pobieranie danych z dysku jest stosunkowo powolną operacją
    • Konwersja surowych danych do natywnych obiektów R
Skalowalne przetwarzanie danych w R

Importowanie danych za pomocą iotools

W pakiecie iotools fizyczne wczytywanie danych i parsowanie do obiektów R są rozdzielone, co zapewnia większą elastyczność i wydajność.

Skalowalne przetwarzanie danych w R

iotools: Importowanie danych

  • readAsRaw() wczytuje wszystkie dane do surowego wektora
  • read.chunk() wczytuje dane porcjami do surowego wektora
Skalowalne przetwarzanie danych w R

iotools: Parsowanie danych

  • mstrsplit() konwertuje surowe dane do macierzy
  • dstrsplit() konwertuje surowe dane do ramki danych
Skalowalne przetwarzanie danych w R

iotools: Wczytywanie i parsowanie danych

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

Skalowalne przetwarzanie danych w R

Przetwarzanie porcjami

  • Nie trzeba importować wszystkich danych
  • Dane są odczytywane porcjami ("chunk") ze źródła
  • Brak pośredniej struktury
Skalowalne przetwarzanie danych w R

Połączenia z plikami

# 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)
Skalowalne przetwarzanie danych w R

Czas na ćwiczenia!

Skalowalne przetwarzanie danych w R

Preparing Video For Download...