Как реализовать пользовательский DataType в Spark? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть довольно простая черта и некоторые объекты case, которые ее расширяют.Ничего фантастического.В настоящее время я пишу новый источник данных, используя API Data Source V2, и хочу создать пользовательский DataType для этой конструкции.

В настоящее время у меня есть это:

class ChannelGroupType extends DataType {

  val defaultSize: Int = 1
}

Теперь яя застрялЧто мне дополнительно нужно сделать, чтобы преобразовать это в какое-то внутреннее представление и обратно?Как мне на самом деле связать это с моими ChannelGroup объектами trait и case?

Существует ли руководство по реализации пользовательского типа?

1 Ответ

0 голосов
/ 18 февраля 2019

С моей точки зрения похоже, что вам не нужно реализовывать свои DataType.Следующий поток для создания источника данных с DataSourceV2 решит вашу проблему.Расширенные примеры с транзакциями, DB для DataSourceV2, вы можете найти в , этот проект , репо соответствует объяснению в этом блоге .IMO, следуя этим учебникам, является наиболее простым решением в вашем случае.

PS Если вам достаточно использования Data Source V1 , конкретную реализацию вы можете найти в spark-CSV проект Databricks.spark-csv является зрелым проектом, поэтому вы можете положиться на шаблоны в этом проекте.

PSS Если вы хотите создать собственный Определенный пользователем тип , на данный момент это не представляется возможным, этот API былзакрыт и будет выпущен для общественности в Spark 3.0, вы можете следить за билетом SPARK-7768 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...