Size: a a a

2021 June 10

ПБ

Повелитель Бури... in Moscow Spark
да
источник

МК

Михаил Королев... in Moscow Spark
первый процесс работает через метастор (т.е. с таблицами) или напрямую в файлы?
источник

N

Nail in Moscow Spark
Если читать такое спарком будет такая же ошибка
источник

N

Nail in Moscow Spark
Чудес не бывает
источник

ПБ

Повелитель Бури... in Moscow Spark
через ('/apps/hive/warehouse'
источник

A

Alex in Moscow Spark
нет, так как это то что у нас есть, только в разы больших масштабах =)
источник

МК

Михаил Королев... in Moscow Spark
все же - .saveAsTable() или .save()?
источник

ПБ

Повелитель Бури... in Moscow Spark
saveAsTable
источник

N

Nail in Moscow Spark
Ну значит вы читаете файлы, а не таблички
источник

N

Nail in Moscow Spark
И в метастор не ходите
источник

МК

Михаил Королев... in Moscow Spark
прям интересно стало, хочется проверить 😊, дурацкий вопрос - версия спарк какая?
источник

ПБ

Повелитель Бури... in Moscow Spark
2.3.1
источник

N

Nail in Moscow Spark
Я не вам отвечал
источник

МК

Михаил Королев... in Moscow Spark
правильно я понял: беру какой-то объем данных, пишу их спарком saveAsTable(), параллельно другим спарком читаю read.table() или sql() и получаю ошибку (как Вы написали)?
источник

ПБ

Повелитель Бури... in Moscow Spark
да
источник

A

Alex in Moscow Spark
ходим в метастор, всё в хайве

правда в отличии от стандартного метастора структура
/hive/metastore/table/partition1/partition2/__versionN__/files.parquet

versionN чисто наша синтетика
при чтении конечно запрашивается (table,partition1,partition2)

запись конечно проходит не через .saveAsTable, а через свой лоадер

он создаёт новый фолдер с versionN+1
заливает туда данные
пытается по CAS поменять куда указывает (table,partition1,partition2)

старые версии периодически чистятся

это позволяет избежать проблем когда из спарка джоба уже запущена, но кто-то начинает вливать новые данные

работает с hive/spark/impala
правда импалу нужно инвалидировать периодически метаданную, чтобы увидела новые версии


понимаем что на опенсорс тулы нужно уходить, тот же айсберг или худи
но пока импала всё стопорит
источник

АЖ

Андрей Жуков... in Moscow Spark
А можно как-то внятно процесс описать? Кто на ком стоит?
источник

A

Alex in Moscow Spark
Переслано от Михаил Королев...
правильно я понял: беру какой-то объем данных, пишу их спарком saveAsTable(), параллельно другим спарком читаю read.table() или sql() и получаю ошибку (как Вы написали)?
источник

A

Alex in Moscow Spark
@fall_out_bug вот тут описано
источник

A

Alex in Moscow Spark
странно ожидать что это будет работать стабильно
источник