Фильтрация строк, которые не соответствуют схеме в pysparkPython

Программы на Python
Anonymous
Фильтрация строк, которые не соответствуют схеме в pyspark

Сообщение Anonymous »

У меня есть файл с именем сотрудника.csv со столбцами empid как целое число и строкой empname. Я читаю файлы в фрейм данных d1, определяя схему и считывая их в другой фрейм данных d2 как есть. Сотрудник.csv содержит следующие данные:

Код: Выделить всё

01,A\n
02,B\n
3,C\n
D,d\n
Я хочу вывести список строк, в которых empid не является целым числом. Я преобразовал empid столбца в целое число в d2, чтобы найти плохие строки с помощью вычитания, но теперь я вижу, что строка D,d имеет значение null,d в качестве вывода команды вычитания. Как мне получить желаемый результат.
Я также пытался отфильтровать строки, которые не могут быть преобразованы в целое число, но это тоже не работает.

Код: Выделить всё

d3 = d2.filter(d2[“empid”].cast(“int”).isNull())
Пожалуйста, дайте мне знать, как этого добиться.

Подробнее здесь: https://stackoverflow.com/questions/787 ... in-pyspark

Вернуться в «Python»