С моей точки зрения похоже, что вам не нужно реализовывать свои DataType
.Следующий поток для создания источника данных с DataSourceV2
решит вашу проблему.Расширенные примеры с транзакциями, DB для DataSourceV2
, вы можете найти в , этот проект , репо соответствует объяснению в этом блоге .IMO, следуя этим учебникам, является наиболее простым решением в вашем случае.
PS Если вам достаточно использования Data Source V1 , конкретную реализацию вы можете найти в spark-CSV проект Databricks.spark-csv
является зрелым проектом, поэтому вы можете положиться на шаблоны в этом проекте.
PSS Если вы хотите создать собственный Определенный пользователем тип , на данный момент это не представляется возможным, этот API былзакрыт и будет выпущен для общественности в Spark 3.0, вы можете следить за билетом SPARK-7768 .