Перший погляд на iotools: імпорт даних

Масштабована обробка даних в R

Simon Urbanek

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

Пакетна обробка (chunk-wise)

  1. Завантажити частини даних
  2. Перетворити їх на рідні об'єкти
  3. Обчислити й зберегти результати

Повторюйте 1–3, доки не обробите всі дані

Масштабована обробка даних в R

Імпорт даних

  • Часто завантаження даних триває довше, ніж обробка, і має 2 кроки
    • Зчитування з диска відносно повільне
    • Перетворення сирих даних на рідні об'єкти R
Масштабована обробка даних в R

Імпорт даних за допомогою iotools

У пакеті iotools фізичне завантаження даних і розбір вхідних даних у об'єкти R розділено для гнучкості та швидкодії.

Масштабована обробка даних в R

iotools: імпорт даних

  • readAsRaw() зчитує всі дані в вектор raw
  • read.chunk() зчитує дані порціями у вектор raw
Масштабована обробка даних в R

iotools: розбір даних

  • mstrsplit() перетворює сирі дані на матрицю
  • dstrsplit() перетворює сирі дані на датафрейм
Масштабована обробка даних в R

iotools: завантаження й розбір

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

Масштабована обробка даних в R

Пакетна обробка

  • Не обов'язково імпортувати всі дані
  • Читайте по одному «чанку» рядків із джерела
  • Без проміжних структур
Масштабована обробка даних в R

Файлові з'єднання

# Відкрити файлове з'єднання
fc <- file("data-file.csv", "rb")
# Прочитати перший рядок, якщо є заголовок
readLines(fc, n = 1)
....
# Код для імпорту та розбору даних
....
# Закрити файлове з'єднання
close(fc)
Масштабована обробка даних в R

Давайте потренуємось!

Масштабована обробка даних в R

Preparing Video For Download...