Не равный оператор в pyspark, дающий неверные результаты - PullRequest
0 голосов
/ 12 января 2019

Я ищу эту конкретную запись в массиве, и она находит строки, как показано ниже:

xarr.filter(xarr["orderid"] == 27952740).count()

Это дает 67 272 строки, что является правильным ответом.

Тогда я делаю это. Присвойте все ненулевые значения другому массиву:

xarr2 = xarr.filter(xarr["orderid"] != 0)

Теперь в результирующем массиве xarr2 я пытаюсь найти запись следующим образом:

xarr2.filter(xarr2["orderid"] == 27952740).count()

Этот возвращает ноль записей. Почему это поведение? Есть идеи?

1 Ответ

0 голосов
/ 12 января 2019

Тип данных orderid - String. Изменение != 0 на != '0' дало правильные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...