Size: a a a

R (язык программирования)

2021 May 16

h

helby in R (язык программирования)
Ну я ориентируюсь на эту статью, вот и спросил

https://rpubs.com/msundar/large_data_analysis
источник

ГД

Григорий Демин... in R (язык программирования)
Но там же дальше идёт описание пакетов для работы без загрузки в память. Правильнее сказать, что data.table/базовый R все держит в памяти, а не сам язык. А даже для dplyr есть бэкенды, которые работают без загрузки в память
источник

h

helby in R (язык программирования)
Про бэкэнд, это типа spark или hadoop ?

Или я не в том направлении думаю?

Не особо шарю просто
источник

ГД

Григорий Демин... in R (язык программирования)
Вроде самый распространенный - это dbplyr - SQL - бэкенд. Для Спарка тоже есть
источник

h

helby in R (язык программирования)
Спасибо большое)
источник

IS

Ilya Shutov in R (язык программирования)
не совсем так. R работает только с данными в памяти. Как он их туда получил -- другой вопрос. Да и все остальные языки/интерпретаторы и пр. работают с данными в памяти. Конвейер такой.  RAM/Cache (L3/L2/L1)/ CPU. Это идет от архитектуры ЭВМ и языки здесь вообще ни при чем.
источник

IS

Ilya Shutov in R (язык программирования)
А в чем суть вопроса то? бэкенд и данные в памяти -- совсем разная вещь
источник

IS

Ilya Shutov in R (язык программирования)
не в том. Какая задача? Какая подоплека вопроса?
источник

h

helby in R (язык программирования)
Ну например, я хочу АБ тесты делать сразу в R

Все данные находятся на биг квери

Данных много, и не хочется чтобы они тянулись все и всегда

Я хочу оптимизировать работу, тем чтобы написать в R рабочий скрипт, который я буду запускать при каждом анализе АБ теста, меняя только фильтрацию таблиц и некоторые параметры
источник

h

helby in R (язык программирования)
Можно и в биг квери делать это, да, но я хотел бы в R попробовать сделать это
источник

A

Andrey in R (язык программирования)
тогда весь вопрос в том, какие данные тянутся из БД в R
источник

A

Andrey in R (язык программирования)
можно тянуть семпл, можно все целиком (если помещаются), можно агрегаты какие-то
источник

h

helby in R (язык программирования)
Ну я имел ввиду, вот то что выше советовали, чтобы не все данные Р хранил в оперативке

А типа, хранил только те которые я выбираю, или типа использовал бы бэкэнд как сказали

Я нагуглил, что для такого подходят всякие fread, ff, dbplyr
источник

EP

Ed P in R (язык программирования)
ну это какая-то странная постановка вопроса. Если данные нужны не все - просто грузите часть из хранилища. где хранятся данные - на удаленном сервере или локально в файлах / БД - не так важно.
источник

EP

Ed P in R (язык программирования)
грубо говоря, не нужно делать SELECT * FROM TABLE, если данных много.
источник

h

helby in R (язык программирования)
Ну я так и не собирался делать, просто даже со всеми фильтрами, обьемы большие могут быть
источник

EP

Ed P in R (язык программирования)
ну тогда лишние переменные можно выкинуть, какие-то текстовые переменные м.б. можно сократить или перекодировать в числовые.

От задачи зависит.
источник

Э

Эрик in R (язык программирования)
приветы, может помочь кто нибудь, начинаю только вникать в R и вот может кто-то поделиться кодом анализа/разбора абсолютно любой базы данных, в целом любого размера, не важно. интересно попробовать чужой код разбирать, анализирую где что и как работает. спасибо!
источник

IS

Ilya Shutov in R (язык программирования)
да неважно это все. архитектура тупа как валенок.
1. есть внешний источник (допустим,  bq)
2. можно делать локальный "кэш", если хочется (большой объем данных в запросе, большое время передачи по сети)
3. кэш может быть любом, главное, чтобы устраивал разработчика
локальная БД, apache arrow, просто файлы, ....

хорошо, если можно будет это этого кэша на конкретный процессинг вытаскивать сразу только то, что надо.+ все шлаковые колонки оставлять сразу за бортом.

Все равно все вычисления будут базироваться на данных в оперативке. ВСЕГДА И ДЛЯ ЛЮБОЙ АРХИТЕКТУРЫ
источник

IS

Ilya Shutov in R (язык программирования)
о каких объемах речь-то идет для конкретных A/B  тестов? 1-2 Гб?
источник