Хотя оба элемента обеспечивают функциональный одинаковый результат *, я настоятельно рекомендую вам использовать <button>
:
input
предполагает, что управление редактируется или может быть отредактировано пользователем; button
гораздо более ясен с точки зрения цели, которой он служит input[type="submit"]
не отображаются корректно в некоторых случаях POST
/ GET
сервер & ast; За исключением <button type="button">
, который по умолчанию не имеет определенного поведения.
Таким образом, я очень не рекомендую использовать <input type="submit" />
.
Исключение является довольно явным - такой случай не поддерживается по умолчанию. Вы должны помнить, что Datasets
кодируются в реляционную схему, поэтому все обязательные поля должны быть объявлены заранее и ограничены. Здесь нет места для рекурсивной структуры.
Здесь есть небольшое окно - двоичное Encoders
:
import org.apache.spark.sql.{Encoder, Encoders}
sparkSession.createDataset(List(
BulletPoint("1", Nil), BulletPoint("2", Nil)
))(Encoders.kryo[BulletPoint])
или эквивалентное:
implicit val bulletPointEncoder = Encoders.kryo[BulletPoint]
sparkSession.createDataset(List(
BulletPoint("1", Nil), BulletPoint("2", Nil)
))
, но это действительно не то, что вы хотел бы иметь в своем коде, если это не является строго необходимым.