powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
8 сообщений из 8, страница 1 из 1
Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
    #39584064
Фотография Александр Савинов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большинство подходов и систем обработки данных, включая SQL и map-reduce, основаны на преобразовании множеств элементов (таблиц, коллекций и т.п.), т.е. это обычно граф операций на множествах.

Bistro реализует другой поход, где вместо преобразования таблиц используются преобразования колонок с помощью трех основных операций calculate-link-accumulate. Формально, колонки это функции, т.е. вместо операций на множествах используются операции на функциях . Таким образом, преобразования данных представляются как граф операций с функциями (а не множествами), а каждая функция определяется и во время выполнения вычисляется через другие функции. Например, это могло бы выглядеть так:

Код: java
1.
2.
3.
4.
5.
6.
7.
// Определить колонки 
col1.calc(...); 
col2.link(...); 
col3.accu(...); 
colN.calc(...); 
// Вычислить все колонки 
schema.eval(); 


Этот подход реализован с помощью вот этой библиотеки:

Bistro: https://github.com/asavinov/bistro

Она может быть включена в системы где необходима потенциально сложная обработка данных, например, для миграции данных, импорта-экспорта, генерация отчетов, СУБД, анализ потоков и др.

Было бы интересно узнать мнение по поводу этого подхода вообще и его реализации в библиотеке Bistro в частности. Будет ли это вообще работать? Кому и где это могло быть наиболее полезно сейчас и в будущем? Что можно улучшить в данной реализации?

Ранее этот подход был реализован как веб-приложение для работы с таблицами (обсуждение здесь ) :

Data Commandr: http://dc.conceptoriented.com
...
Рейтинг: 0 / 0
Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
    #39584124
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если честно, это похоже на очень простую курсовую работу.
Как можно несколько функций, которые вы реализовали, серьезно сравнивать с SQL? Тем более, когда давно есть DAX и MDX.
...
Рейтинг: 0 / 0
Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
    #39584125
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И M.
...
Рейтинг: 0 / 0
Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
    #39585439
мигель1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bideveloper, секундочку.

Допились можно все. Сам подход то живой или фантазии?
...
Рейтинг: 0 / 0
Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
    #39585503
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мигель1bideveloper, секундочку.

Допились можно все. Сам подход то живой или фантазии?угу: Maple, Matlab, Mathcad
...
Рейтинг: 0 / 0
Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
    #39585532
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр СавиновБольшинство подходов и систем обработки данных, включая SQL и map-reduce, основаны на преобразовании множеств элементов (таблиц, коллекций и т.п.), т.е. это обычно граф операций на множествах.

SQL вообще оффтоп тут

А map-reduce это о другом. Это частный случай массивно-параллельных вычислений.
Т.е. когда один компьютер не справляется- надо параллелить вычисления на кластер.
mr это очень частный случай. spark, yarn- это поытка обощить.

Вы пишете о другом- о способе выбрать нужное подмножество данных. И аналогом является формат parquet , если я правильно понял.
...
Рейтинг: 0 / 0
Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
    #39585680
Фотография Александр Савинов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominSQL вообще оффтоп тут
А я в негативном смысле, как ругательство :)

На самом деле я противопоставляю Bistro множеству подходов, основанных на операциях с множествами, включая SQL, реляционную алгебру, map-reduce ну и кучу их вариантов в разных системах. Суть этих подходов к преобразованию данных в том, что из имеющихся множеств (таблица, отношение, коллекция и т.п.) получается другое множество с помощью какой-то операции.

В Бистро вместо генерации множеств их других множеств предлагается генерировать колонки (функции) с помщью операций на них.

Например, SELECT *, c = a + b FROM T. Казалось бы все нормально. Но концептуальная проблема в том, что мы вовсе не хотим создавать новую таблицу - цель состоит в создании новой колонки. Тем не менее просто создать колонку (принципильно) невозможно - надо создавать таблицу. Если использовать map, то тоже на выходе будет создана новая коллекция с копированием всех исходных элементов. Но это можно решить, например, df.apply() в pandas.

А далее идут две следующие проблемы: 2) как связывать записи в таблицах и 3) как агрегировать данные.

Для 2) если надо связать таблицы A и B, то используется join и создается новая таблица. Опять же, проблема: я не хочу создавать третью таблицу - я хочу создать колонку в одной со ссылкой на другую. В Бистро для этого есть операция link, которая именно это и делать.

Для 3) есть group-by который тоже создает новую таблицы. Но зачем? Я не хочу новую таблицу - я хочу новую колонку, которая содержит агрегат. Бистро решает проблему с помощью операции accu - она работает иначе чем group-by.

В результате Бистро не использует join и не использует group-by и мы избавляемся от всех этих ужасов. Достаточно ли calc, link, accu - это вопрос.

Alexey TominА map-reduce это о другом.
Я использую это как паттерн обработки данных без отношения к физической (распределенной) реализации. Для последнего лучше использовать Hadoop, HDFS и т.п.

Alexey TominВы пишете о другом- о способе выбрать нужное подмножество данных. И аналогом является формат parquet , если я правильно понял.
Бистро это не о физической реализации (хотя это весьма интересно). Это логическая модель. Я не знаю деталей parquet, но я так понимаю это формат для персистентного хранения, как и другие сериализации типа arrow. Сейчас Бистро не занимается сериализацией, но это было бы очень интересно, также как распределенная обработка. Просто этот рынок уже занят и есть куча систем (Spark и т.п.), которые более или менее делают что надо. Я хочу разработать сервер для потоковой аналитики типа Kafka Streams, просто потому что здесь не так много систем (вообще нет хороших) и я хочу позиционировать это для IoT.

Запостил вчера для критики: https://news.ycombinator.com/item?id=16161673
...
Рейтинг: 0 / 0
Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
    #39585941
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр СавиновНапример, SELECT *, c = a + b FROM T. Казалось бы все нормально. Но концептуальная проблема в том, что мы вовсе не хотим создавать новую таблицу - цель состоит в создании новой колонки. Тем не менее просто создать колонку (принципильно) невозможно - надо создавать таблицу. Если использовать map, то тоже на выходе будет создана новая коллекция с копированием всех исходных элементов. Но это можно решить, например, df.apply() в pandas.

А далее идут две следующие проблемы: 2) как связывать записи в таблицах и 3) как агрегировать данные.

Для 2) если надо связать таблицы A и B, то используется join и создается новая таблица. Опять же, проблема: я не хочу создавать третью таблицу - я хочу создать колонку в одной со ссылкой на другую. В Бистро для этого есть операция link, которая именно это и делать.

Для 3) есть group-by который тоже создает новую таблицы. Но зачем? Я не хочу новую таблицу - я хочу новую колонку, которая содержит агрегат. Бистро решает проблему с помощью операции accu - она работает иначе чем group-by.



И чем это отличается от M в PowerBI? Там все это можно сделать с помощью очень удобного графического интерфейса.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Оцените новый подход к преобразованию данных (альтернатива map-reduce, SQL и др.)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]