Size: a a a

2020 November 03

ДН

Дмитрий Негреев... in Data Engineers
Вертика тоже вроде интересно в клауд-моде работает, хотя и писалась изначально под железки
источник

ИК

Иван Калининский... in Data Engineers
Andrey Smirnov
мне стало интересно, полез посмотреть в исходники, боюсь что не получится
partitionedFiles.foreach { file =>
     if (currentSize + file.length > maxSplitBytes) {
       closePartition()
     }
     // Add the given file to the current partition.
     currentSize += file.length + openCostInBytes
     currentFiles += file
   }
в object FilePartition
Спасибо!

В итоге отказываюсь от этой идеи, не оправдывает себя
источник

AT

Al T in Data Engineers
Anton Zadorozhniy
редшифт кстати ни разу не клауд нейтив, это paraccel в девичестве, он также точно хранит все на локальные диски, посмотри как там ресайзы сделаны (спойлер: рид-онли, либо даунтайм)
ну есть же RA3 уже - там S3 + локальный SSD кеш
источник

AZ

Anton Zadorozhniy in Data Engineers
Al T
ну есть же RA3 уже - там S3 + локальный SSD кеш
это оптимизированная загрузка, и лучше чем было, но внутри они все равно поддерживают стейт (поэтому они не называют это кэшем, это именно что "горячие данные") который потом снапшотят обратно в S3, поэтому ресайз работает так: 1) остановить запись 2) сделать снапшот 3) поднять новый кластер из снапшота 4) разрешить запись
источник

AZ

Anton Zadorozhniy in Data Engineers
настоящая клаудная СУБД должна просто постоянно писать свой WAL из узлов в объектный сторадж (и у нее должна быть команда "flush" которая форсит этот процесс), а ресайз просто дает больше узлов куда WAL может реплицироваться, и где могут подниматься кэши
источник

AZ

Anton Zadorozhniy in Data Engineers
условно у вас должен быть sloppy quorum на набор DML операций, и когда WAL этих операций записан обратно в S3 - то можно про него забыть, терять узлы, ресайзиться как угодно или вообще убить кластер - данные не будут потеряны
источник

AT

Al T in Data Engineers
да согласен, менять количество нод без остановки записи не умеет
источник

AZ

Anton Zadorozhniy in Data Engineers
в элитном чатике СУБДстроителей ходят слухи об очень клауд-нейтив базе которая есть гдето в фаанге которая по полной программе использует такие фичи, у нее причем еще copy-on-write изначально, с background compaction что сильно упрощает репликацию и запись обратно в S3 (по сравнению с обычными mutable data blocks которые используются в  paraccel/redshift и большинстве других "старых" СУБД)
источник

AE

Alexey Evdokimov in Data Engineers
обещал вчера показать, как сделать SQL against spatial object rdd with partial schema.

собсно, вот так это делается https://github.com/PastorGL/OneRing/commit/422e91d21c6494440efed60ca99851cad75d1ded

уложился в 700 строк (пол-коммита там к делу относится опосредованно), но ничего окромя селектов нам пока не надо... думал, сильно больше работы потребуется, но нет. просто всё. впрочем, добавить джойны тоже будет совсем несложно.
источник

AT

Al T in Data Engineers
Anton Zadorozhniy
в элитном чатике СУБДстроителей ходят слухи об очень клауд-нейтив базе которая есть гдето в фаанге которая по полной программе использует такие фичи, у нее причем еще copy-on-write изначально, с background compaction что сильно упрощает репликацию и запись обратно в S3 (по сравнению с обычными mutable data blocks которые используются в  paraccel/redshift и большинстве других "старых" СУБД)
хачу в такой элитный
источник

VP

Vitaly Pismarev in Data Engineers
Anton Zadorozhniy
snowflake построен изначально под клауд: все хранение изначально в S3, кластер по сути держит WAL и кэши, отсюда обновления и скейлинг без остановки, спокойно переживают всякие падения и проч
А мне кажется потихонечку все начнут свои дистрибы под клауд допиливать. Яркий пример, вертика
https://www.vertica.com/blog/understanding-vertica-eon-mode/
источник

AZ

Anton Zadorozhniy in Data Engineers
да, это заход на ту самую архитектуру, смотрю тоже как они ее пилят, в 10 появились всякие саб-кластер пиннинг, они далеко продвинулись
источник

AZ

Anton Zadorozhniy in Data Engineers
но с полей люди пока не очень довольны тем как получается, продолжают сноуфлейк выбирать
источник
2020 November 04

А

Алексей in Data Engineers
Подскажите, пытаюсь выполнить shuffled hash join , установил
spark.conf.set("spark.sql.join.preferSortMergeJoin", false)

и все равно в плане SortMergeJoin
пробовал в spark 2.3 и 3.0.1 databricks
что еще нужно поставить, чтобы активировать shuffled hash join? или может его совсем выпилили?
источник

AG

Alexander Gorokhov in Data Engineers
Алексей
Подскажите, пытаюсь выполнить shuffled hash join , установил
spark.conf.set("spark.sql.join.preferSortMergeJoin", false)

и все равно в плане SortMergeJoin
пробовал в spark 2.3 и 3.0.1 databricks
что еще нужно поставить, чтобы активировать shuffled hash join? или может его совсем выпилили?
Как вариант false в виде строки должен быть? Ещё там есть неприятный момент что может быть случай когда спарк всегда будет выбирать broadcastnestedloopjoin несмотря на настройки
источник

А

Алексей in Data Engineers
пробовал на реальном запросе и на примере из инета: https://jaceklaskowski.gitbooks.io/mastering-spark-sql/content/spark-sql-SparkPlan-ShuffledHashJoinExec.html
источник

AG

Alexander Gorokhov in Data Engineers
А так это скала код?
источник

А

Алексей in Data Engineers
пробовал и так как в статье и обычным sql
источник

AG

Alexander Gorokhov in Data Engineers
Возможно значит у вас условия не сошлись для него
источник

R

Renarde in Data Engineers
Алексей
пробовал и так как в статье и обычным sql
а вот эту часть конфига?
// Use ShuffledHashJoinExec's selection requirements
// 1. Disable auto broadcasting
// JoinSelection (canBuildLocalHashMap specifically) requires that
// plan.stats.sizeInBytes < autoBroadcastJoinThreshold * numShufflePartitions
// That gives that autoBroadcastJoinThreshold has to be at least 1
spark.conf.set("spark.sql.autoBroadcastJoinThreshold", 1)
источник