Re[64]: В России опять напишут новый объектно-ориентированны
От: Gt_  
Дата: 13.05.18 11:41
Оценка: -1
MH>>>MapReduce это больше про как выполнять. а sql про как описать. MapReduce выражается через sql — упрощенно это select и group by.
MH>>>и я бы не назвал MapReduce "императивным" подходом.

Gt_>>не правда. маппер и редюсер это в случае хадуп это обычный императивный жава код. любой sql можно выразить через MapReduce, но в другую сторону зачастую не выйдет.

MH>что тогда мешает сказать, что и для sql выражения (например name like 'А%', соотвествует "обычный императивный" C# код — x.Name.StartsWith("А") ?

конкретно мне образование. x.Name.StartsWith() указывает как именно фильтровать, like в sql не обязывает использовать конкретный алгоритм.

MH>с точки зрения концепции неважно как внутри реализован маппер и редьюсер. для маппера важно что это чистая функция без побочных эффектов, а это значит если мы можем расширять скл своими функциями (а мы можем), то любой маппер мы можем выразить за счет select и композиции базовых функций, то есть возможность выразить мап-редюс через скл, ограничена только возможность расширения скл-сервера нужными функциями.


скл-сервер расширяется императивным t-sql или С#. у мсскл исторически не самая продвинутая аудитория, потому им пришлось ради упрощения объявить t-sql расширением, хотя реально это другой, императивный, язык. лидеры, типа оракла четко разделяют декларативный sql и императивный pl/sql.

Gt_>>в императивном коде мап-редюс не проблема подключить допустим хитрую либо шифрования и читать писать шифрованные данные, а в sql если функции нет, то все.

MH>да, можно, если на сервере выполняющем мап-редюс она (хитрая функция для шифрования) есть. но тогда что мешает на скл-сервере тоже написать/подключить любую нужную функцию? и чем ситуации будут отличаться?

тем что функция будет написана на императивном C#, а не декларативным sql, ограниченным несколькими DML командами.

MH>и если на сервере мап-редюс нужной функции/либы нет — то тоже всё.


нет. на маперы/редюсеры jar-ники могут передаваться
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.