Spark SQL 2.3+ поддерживает UDT? - PullRequest
0 голосов
/ 26 ноября 2018

Я проходил этот билет и не мог понять, поддерживает ли Spark UDT в версии 2.3+ на любом языке (Scala, Python, Java, R)?

У меня есть класс чего-товот так

Class Test{        
    string name;
    int age;
}

И мой метод UDF:

public Test UDFMethod(string name, int age){           
       Test ob = new Test();
       ob.name = name;           
       ob.age = age; 
}

Пример запроса Spark

Select *, UDFMethod(name, age) From SomeTable;

Теперь UDFMethod(name, age) вернет объект Test.Так будет ли это работать в Spark SQL после использования тега SQLUserDefinedType и расширения класса UserDefinedType?

Поскольку класс UserDefinedType стал закрытым в Spark 2.0.Я просто хочу знать, поддерживается ли UDT в Spark 2.3+.Если да, что лучше использовать UserDefinedType или UDTRegisteration.На данный момент оба являются частными в искре.

1 Ответ

0 голосов
/ 26 ноября 2018

Как вы можете проверить, связанный вами билет JIRA был отложен как минимум до Spark 3.0.Таким образом, это означает, что на данный момент не существует такой опции, предназначенной для публичного использования.

Всегда можно обойти ограничения доступа (путем отражения, поместив свой собственный код в пространство имен Spark), но это определенно неподдерживается, и вы не должны ожидать помощи, если она потерпит неудачу или сломается в будущем.

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