Size: a a a

2021 May 13

ЕГ

Евгений Глотов... in Moscow Spark
Так-то когда права есть, всё хорошо)
источник

N

Nikita Blagodarnyy in Moscow Spark
за день управишься )
источник

ЕГ

Евгений Глотов... in Moscow Spark
А когда нужно вотпрямщас, получается пип инсталл в юдф)
источник
2021 May 15

BD

Bakhruz Dzhafarov in Moscow Spark
Привет, столкнулся с таким поведением спарка: есть колонка с пропусками в датафрейме, хочу её фильтрануть по условию !=2, смотрю результат: у меня дропнулись строчки не только с двойками но и с пропусками. Если фильтровать по ==2, то остаются строчки только с 2 (что логично). Баг это или фича?
Что именно меня смущает: как мне кажется, такое поведение не соответствует логике - есть закон в булевой алгебре, что x + !x =1, а тут получается, что df.filter(myCondition) и df.filter(!myCondition) при объединении не дают первоначальный датасет
источник

АА

Артем Анистратов... in Moscow Spark
Может не правильно понял твою ситуацию, почему просто не добавить условие || col is null?
источник

АА

Артем Анистратов... in Moscow Spark
Если значения колонок null, то можно говорить, что null не в полной мере соответствует формальной логике, ибо «0 это присутствие отсутствия, а null это отсутствие присутсвия»
источник

BD

Bakhruz Dzhafarov in Moscow Spark
Конкретно эту ситуацию обойти можно)
Вопрос про то, что насколько логично такое поведение: при фильтрации != abc удалять и строки с пропусками
источник

АА

Артем Анистратов... in Moscow Spark
Ты в принципе не можешь сравнивать null, ибо null != null, аналогично и любое другое сравнение null с другими значениями.

Вообще я видимо не в ту степь тебя веду.
Если я не путаюсь то ты опираешься на формальную(двузначную логику), понятие null, оно же unknown по сути относится к троичной логике. Там немного другие правила
источник

АА

Артем Анистратов... in Moscow Spark
Есть вот такое правило, касаемо СУБД:
Правила операций с UNKNOWN
Любая операция сравнения любого значения с NULL или UNKNOWN даёт в результате UNKNOWN.
not UNKNOWN = UNKNOWN
TRUE and UNKNOWN = UNKNOWN
FALSE and UNKNOWN = FALSE
TRUE or UNKNOWN = TRUE
FALSE or UNKNOWN = UNKNOWN
TRUE xor UNKNOWN = UNKNOWN
FALSE xor UNKNOWN = UNKNOWN
источник

BD

Bakhruz Dzhafarov in Moscow Spark
Спасибо, стало понятнее
источник

t

tenKe in Moscow Spark
есть nullsafe =!=
источник

EC

Eugene Chipizubov in Moscow Spark
Ну и
Null <=> null есть True
источник

N

Nikita Blagodarnyy in Moscow Spark
Вот это трешово довольно.
источник

NN

No Name in Moscow Spark
А это как переводится на примитивный русский?
источник

N

Nikita Blagodarnyy in Moscow Spark
Если с обеих сторон не налл или с обеих сторон налл, то труе. Иначе фалсе.
источник

NN

No Name in Moscow Spark
А, данке шон
источник
2021 May 16

EC

Eugene Chipizubov in Moscow Spark
In order to compare the NULL values for equality, Spark provides a null-safe equal operator (‘<=>’), which returns False when one of the operand is NULL and returns ‘True when both the operands are NULL.
источник

EC

Eugene Chipizubov in Moscow Spark
источник

АА

Артем Анистратов... in Moscow Spark
Ребята, могли бы подсказать, есть ли опасность(с точки зрения производительности) установления слишком большого fetchSize при записе/чтении jdbc?

Обычно использую 10 тыс, но возникает вопрос почему бы не 100?
Играют ли роль размера кэша rom СУБД, при котором после достижения некого размера пакета(batch’а) сами диски не смогут обеспечить нужную скорость записи?
источник

R

Rogoley in Moscow Spark
100к оптимально. Можно ещё Воркеров увеличить в постгре и под такое же кол-во параллельности записи добавить.
источник