Большое спасибо за ответ. но на самом деле мне нужно проверить, является ли схема куста той же самой Sas-схемой, поэтому мне нужно указать "timestamptype" в кусте с Datetime в SAS, который имеет тип NUm, а также тип Integer в кусте имеет соответствующий тип данных как NUM в SAS, так что в основном мне также нужно сравнить столбец «Формат» в схеме SAS со схемой улья.
вниваю два кадра данных (в основном это схемы двух разных источников данных, один из куста, а другой из SAS9.2)
Мне нужно проверить структуру для обоих источников данных, поэтому я преобразовал схему в два кадра данных, и вот они:
Схема SAS будет иметь следующий формат:
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|
+----+----------------+----+---+-----------+-----------+
Аналогичным образом метаданные улья будут иметь следующий формат:
df2.show
+----------------+-------------+
| Variable| type|
+----------------+-------------+
| datetime|TimestampType|
| load_datetime|TimestampType|
| source_bank| StringType|
| emp_name| StringType|
|header_row_count| IntegerType|
| emp_hours| DoubleType|
+----------------+-------------+
Теперь мне нужно сравнить их по типу столбца и проверить структуру. Для эквивалента типа «Num» аналогичен «Integertype».
Наконец, мне нужно сохранить нулевое значение в качестве вывода, если проверка схемы прошла успешно
Как мне этого добиться?