Spark сравнивает два кадра данных - PullRequest
0 голосов
/ 08 ноября 2019
  • Элемент списка

Необходимо сравнить два кадра данных и создать третий кадр данных, чтобы сгенерировать разницу. При сравнении фреймов данных необходимо соблюдать несколько условий.

DF1:(Struct type -> empid:IntegerType,name:StringType,phone:IntegerType)

empid|name|phone
   1| amar | 12345
   2|  23  |<blank>

DF2: я разыгрываю DF1 по их типам данных. (col(c).cast(datatype))

empid|name|phone
   1| amar | 12345
   2|  null  | null

Теперь здесь, поскольку имя было строковым типом, оно преобразуется в ноль. Кроме того, так как телефон был целым числом, пробел был приведен к нулю.

Мне нужна помощь для создания третьего Dataframe, который должен указывать только на ошибку приведения, которую я имел. Если я рассматриваю все нуль, это берет чистый бросок телефона также, который я не хочу. Ниже приведен пример ожидаемого DF3.

DF3:

empid|name|phone    |error
   1| amar | 12345  |null
   2|  23  |<blank> |name is wrong data type
...