|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
Вопрос в топике задан слишком просто, позвольте расшифровать. Есть 250 миллионов строк за год, все это собирается с разных внешних информационных систем (занимаемся разработкой мобильного приложения). Только начали это делать, первую имплементацию пайплайна сделал на спарке, standalone кластер, мощная машинка с линуксом (64 ядра 256 гиг оперативки). Думаем что делать дальше, видим что данных скоро будет 10х от того, что есть. Для экономии денег я рассматривал вариант построения on-premise кластера со спарком, который будет удовлетворять как задачи обработки, так и задачи кверяния этих данных. Пришел новый человек в другой отдел, и очень агитирует за то, чтобы перейти на big query. С его слов, обработку можно делать не только спарком, но и с помощью Airflow+big query. На его прошлой работе была именно такая комбинация: были написаны джобины на пайтоне, которые оркестрировались в airflow, все это записывалось в big query, и потом эти данные он оттуда кверял. А еще он утверждает что это все очень дешево. И у нас случился небольшой холливар, но по факту я человек трезвомыслящий: хочу понять, неужели с помощью airflow+big query можно технически заимплементить все настолько удобно и легко, как на спарке, и это все будет работать в scalable манере да еще и дешево? Ну то есть, здесь есть хоть кто нибудь, кто пытался свою big data архитектуру строить на airflow + BQ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 11:30 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
Игорь Бобак Есть 250 миллионов строк за год А где, собственно, "big data"-то?.. Это в лоб потянет даже Firebird в умелых руках. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 14:59 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
+ про Firebird не знаю, но я когда занимался авиаперелетами, не меньше из интернета вытягивал и обрабатывал на medium инстанце AWS (4 проца, 4 гига) и на своем офисном компе на SQLLite данные о ценах на перелеты в мире, точной цифры уже не помню, но порядок был примерно такой же. Десятки/сотня миллионов записей в месяц. PostgreSQL по скорости не устраивал, т.ч. потом пришлось перейти на SQLLite ))) (смотрел и на no sql базы, но ничего не понравилось, а то что понравилось, было платное) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 15:06 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
Пропустили часть предложения выше: "видим что данных скоро будет 10х от того, что есть". "видим" = не "от фонаря думаем", а "тщательно подсчитали". И это только в ближайшем будущем. Во вторых, я не сказал ни слова о ширине строк (т.е. к-ве колонок). Их не десятки. Их пару сотен на старте, дальше приклеиваются. Я понимаю что всегда есть желание сразу поосуждать того, кто начал тему, однако я смотрю сейчас на DAG visualization в спарке своих джобов, и что-то не верю, что какой-то постгрес бы столько обработал за такое краткое время на моих 64 ядрах. Так что вопрос остается в силе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 17:02 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
Игорь Бобак, имея компетенции в спарк идти в BQ особо смысла имхо нет. в BQ же платят даже за читающий квери, т.е. чем сложнее аналитика, тем внушительнее счета будут. где-то видел как народ офигивал от счетов, когда вырос в 10 раз. ну и по питончику, простая обработка наверно ок, но если что посложней с данными, то питончик все в память потащит, любой джойн - все в памяти, там каталиста нет, который бы на партиции бы побил и частями бы процессил. on-perm кластер это только хадуп сегодня, бесплатные кончились, покупать не дешевые лицензии на платформу переживающие не лучшие времена - не самый оптимльный выбор. spark в k8s похоже не скоро будет продакшен реди, плюс по сториджу в k8s все грустно. учитывая компетенции в спарк, я бы смотрел на связку airflow + spark jobs + databriks, еще много в последнее время про snowflake говорят. они вроде сильно дешевле BQ выйдут. если задача позволяет не держать кластер целый день поднятый, то очень дешево можно намутить в облаке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 22:19 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
H5N1, спасибо за ответ. C big query у меня еще есть одна непонятка на счет расчета цены, может Вы сможете подсказать? они пишут что деньги берут за хранение (здесь все понятно) и за обработку, и даже приводят примеры как считается размер колонки в зависимости от типа. вот только мне одно не понятно: если у меня случайно был написан кривой запрос, который вычитал 1000 строк из одной таблицы, 1000 строк из другой, и случайно сделал кроссджойн между ними (и вышло миллион строк), то с меня возьмут денег за 2000 строк, или же все-таки за миллион? (учитывая, что этот миллион возможно надо будет разместить в памяти, может по частям может нет - это уже не важно, но на одном из промежуточных этапов выполнения SQL будет сгенерировано миллион строк) Я просто не понимаю что они считают: только то, что вычитают из диска, или же сумму всех промежуточных байт, которые были скушаны на всех промежуточных этапах выполнения sql запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 00:53 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
H5N1 ...ну и по питончику, простая обработка наверно ок, но если что посложней с данными, то питончик все в память потащит, любой джойн - все в памяти, там каталиста нет, который бы на партиции бы побил и частями бы процессил... смотря какая задача по структуре бизнес логики на бриксах (PySpark) многое если хорошо подумать - начинает биться на более мелкие задачи, хотя некоторые типы задач конечно не получается разделить например у нас портфели каждого клиента считаются в своей джобе соответственно каждая нода кластера тянет только свои данные, а не всю кучу, результаты расчётов тоже не всегда обязательно собирать на драйвер, а можно отдавать напрямую в базу по соответствующим кускам. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 07:40 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
Игорь Бобак, я не вникал, но полагаю идея там за процессор счет выставить. vikkiv смотря какая задача по структуре бизнес логики на бриксах (PySpark) многое если хорошо подумать - начинает биться на более мелкие задачи, хотя некоторые типы задач конечно не получается разделить например у нас портфели каждого клиента считаются в своей джобе соответственно каждая нода кластера тянет только свои данные, а не всю кучу, результаты расчётов тоже не всегда обязательно собирать на драйвер, а можно отдавать напрямую в базу по соответствующим кускам. так PySpark это спарк в первую очередь, понятно что каталист умеет в распределенные вычисления. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 09:36 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
Игорь Бобак Во вторых, я не сказал ни слова о ширине строк (т.е. к-ве колонок). Их не десятки. Их пару сотен на старте, дальше приклеиваются. а это никому не интересно, может там були одни... или инт4/инт2 = ~0.5 кб на строку, а это всего 120Гб в год (по хорошему там инты и должны быть, в умелых руках, а текста минимум) так что лучше оперировать сразу размером строки возьмите на вооружение отлаженный приём: старые данные в архив, а выписки оттуда по запросу, который обрабатывается отдельно в бэкграунде и потом в кабинете появляется ссылка на PDF ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 09:46 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
Игорь Бобак они пишут что деньги берут за хранение (здесь все понятно) и за обработку, и даже приводят примеры как считается размер колонки в зависимости от типа. вот только мне одно не понятно: если у меня случайно был написан кривой запрос, который вычитал 1000 строк из одной таблицы, 1000 строк из другой, и случайно сделал кроссджойн между ними (и вышло миллион строк), то с меня возьмут денег за 2000 строк, или же все-таки за миллион? (учитывая, что этот миллион возможно надо будет разместить в памяти, может по частям может нет - это уже не важно, но на одном из промежуточных этапов выполнения SQL будет сгенерировано миллион строк) Я просто не понимаю что они считают: только то, что вычитают из диска, или же сумму всех промежуточных байт, которые были скушаны на всех промежуточных этапах выполнения sql запроса? если у вас план "фикс" то вы по сути покупаете выч. ресурсы и платите именно за них, без платы за чтение с диска ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 14:25 |
|
Что лучше: спарк или big query?
|
|||
---|---|---|---|
#18+
у меня есть и бигквери и спарк кластер Если вопрос не про деньги я тупо чтобы работало я за бигквеги (Запустил запрос получил резутат) Если нужно по финансам то конечно спарк, но там нужно прям погружаться ( шафлы всякие смотреть, хеши солить) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 00:19 |
|
|
start [/forum/topic.php?fid=48&tid=1856513]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 132ms |
0 / 0 |