Preciso comparar dois quadros de dados para validação de tipo e enviar um valor diferente de zero como saída

Estou comparando dois quadros de dados (basicamente, esses são esquemas de duas fontes de dados diferentes, uma da seção e outra da SAS9.2)

Preciso validar a estrutura para ambas as fontes de dados, então converti o esquema em dois quadros de dados e aqui estão eles:

O esquema do SAS estará no formato abaixo:

scala> metadata.show

+----+----------------+----+---+-----------+-----------+
|S_No|        Variable|Type|Len|     Format|   Informat|
+----+----------------+----+---+-----------+-----------+
|   1|        DATETIME| Num|  8|DATETIME20.|DATETIME20.|
|   2|   LOAD_DATETIME| Num|  8|DATETIME20.|DATETIME20.|
|   3|     SOURCE_BANK|Char|  1|       null|       null|
|   4|        EMP_NAME|Char| 50|       null|       null|
|   5|HEADER_ROW_COUNT| Num|  8|       null|       null|
|   6|       EMP_HOURS| Num|  8|       15.2|       15.1|
+----+----------------+----+---+-----------+-----------+

Da mesma forma, os metadados da seção estarão no formato abaixo:

df2.show

+----------------+-------------+
|        Variable|         type|
+----------------+-------------+
|        datetime|TimestampType|
|   load_datetime|TimestampType|
|     source_bank|   StringType|
|        emp_name|   StringType|
|header_row_count|  IntegerType|
|       emp_hours|   DoubleType|
+----------------+-------------+

Agora, eu preciso comparar os dois no tipo de coluna e validar a estrutura. Como no tipo "Num", o equivalente é "Integertype".

Finalmente, eu preciso armazenar um valor zero como saída se a validação do esquema for bem-sucedida

Como posso conseguir isso?

questionAnswers(1)

yourAnswerToTheQuestion