Size: a a a

2020 November 12

ИГ

Игорь Гомановский... in Moscow Spark
Тогда, наверное, проще всего смотреть на количество партиций (это партиции спарк джоба, а не таблицы) в хранилище (df.rdd.getNumPartitions()) и сделать repartition обоих наборов данных по ключам join по этому количеству партиций
источник

ИГ

Игорь Гомановский... in Moscow Spark
Но решение догружать инкремент с join'ом на всё хранилище мне не нравится. Каждый следующий запуск будет дольше предыдущего. Может быть грузить всё (raw), а после выполнить дедубликацию в хранилище (ods)?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
источник

AD

Alex D in Moscow Spark
Коллеги, а подскажите, кто в России читает хорошие Advanced курсы по Spakу,  для корпоративного обучения (интересует именно Advanced, а не вводный курс)?
источник

NN

No Name in Moscow Spark
Alex D
Коллеги, а подскажите, кто в России читает хорошие Advanced курсы по Spakу,  для корпоративного обучения (интересует именно Advanced, а не вводный курс)?
Возникло ощущение, что никто. Самому копаться в сырцах продуктивнее будет, да и под ваши кейсы конкретно никто читать не будет, многое же и от данных зависит.
источник

PK

Pavel Klemenkov in Moscow Spark
Alex D
Коллеги, а подскажите, кто в России читает хорошие Advanced курсы по Spakу,  для корпоративного обучения (интересует именно Advanced, а не вводный курс)?
Яцека выпишите )
источник

NN

No Name in Moscow Spark
Alex D
Коллеги, а подскажите, кто в России читает хорошие Advanced курсы по Spakу,  для корпоративного обучения (интересует именно Advanced, а не вводный курс)?
Хотя мб у нас просто разное представление о том, что такое эдвенсед)
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Pavel Klemenkov
Яцека выпишите )
Он на smartdata будет как раз, идеальный момент чтобы за него зацепиться
источник

AD

Alex D in Moscow Spark
Pavel Klemenkov
Яцека выпишите )
Спасибо, расмотрим, хорошее предложение!
источник

AD

Alex D in Moscow Spark
Паша Финкельштейн
Он на smartdata будет как раз, идеальный момент чтобы за него зацепиться
А когда Смартдата?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Alex D
А когда Смартдата?
С 9 по 12 декабря. 4 дня, 4 трека по два доклада
источник

ПФ

Паша Финкельштейн... in Moscow Spark
источник

AD

Alex D in Moscow Spark
No Name
Возникло ощущение, что никто. Самому копаться в сырцах продуктивнее будет, да и под ваши кейсы конкретно никто читать не будет, многое же и от данных зависит.
Согласен, но для корпоративного обучения надо бы курсы.
источник

AD

Alex D in Moscow Spark
Паша Финкельштейн
С 9 по 12 декабря. 4 дня, 4 трека по два доклада
Ага, понял, сенкс.
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Драфт программы опубликован уже, кстати
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Alex D
Ага, понял, сенкс.
Там ещё будет @tenKe, тоже про Спарк, например.
источник

AD

Alex D in Moscow Spark
Паша Финкельштейн
Там ещё будет @tenKe, тоже про Спарк, например.
Ага, спасибо, я знаю.
источник
2020 November 13

ПФ

Паша Финкельштейн... in Moscow Spark
Сейчас, чувствую, хорошо будет
источник

ИК

Иван Калининский... in Moscow Spark
Gev
Да, конечно. В общем. есть глобальная партиция снапшота и нам надо, прочитать ее и выделить дельту относительно того, что уже было вычитано. И положить уже раскинув по партициям.
Выделить инкремент через join-очень дорогая операция, даже если, как по учебнику, это две бакетированые и сортированные таблицы.

Я советую пойти более дешёвым путем, а именно, найти поле, которое монотонно возрастает. Сохранить его максимальное полученное значение. И сделать фильтр по условию {поле > последнее наибольшее значение}. Это проверенная, можно сказать, классическая техника выделения инкремента, имеющая линейное время выполнения на любом наборе данных.

Если персистить последнее значение невозможно, то находите max({поле из снепшота}) и кидайте в условие фильтра. Все равно быстрее, чем join
источник

G

Gev in Moscow Spark
Иван Калининский
Выделить инкремент через join-очень дорогая операция, даже если, как по учебнику, это две бакетированые и сортированные таблицы.

Я советую пойти более дешёвым путем, а именно, найти поле, которое монотонно возрастает. Сохранить его максимальное полученное значение. И сделать фильтр по условию {поле > последнее наибольшее значение}. Это проверенная, можно сказать, классическая техника выделения инкремента, имеющая линейное время выполнения на любом наборе данных.

Если персистить последнее значение невозможно, то находите max({поле из снепшота}) и кидайте в условие фильтра. Все равно быстрее, чем join
Так и делаем
источник