У меня есть требование прочитать данные из файла csv и проверить их по явной схеме, и, если проверка схемы не удалась, выдать ошибку.Для этого я сделал следующее: 1) Определил схему
public static StructField[] schema ={
new StructField("name", DataTypes.StringType, false, Metadata.empty()),
new StructField("type_id",DataTypes.StringType, false, Metadata.empty())
};
2) Проверьте данные по схеме
StructType schemaType =new StructType(Myschema.schema);
Dataset<Row> df =session.read().schema(schemaType).option("header", "true").csv(csvInput);
df.printSchema();
Мои вопросы
- 1) Как вывести ошибку, если какая-либо строка не прошла проверку?
- 2) Хотя я упоминал, что поля не обнуляются в определениях
Structfield, когда я печатаю схему, она печатает поля как обнуляемые, почему это происходит? - 3) Как использовать параметр Metadata в конструкторе StructField?