как зарегистрировать функцию python в классе как udf из sparksql - PullRequest
0 голосов
/ 08 июня 2018

Вот моя проблема:

У меня есть класс с некоторыми функциями для обработки nlp, а также я должен использовать sparksql dataframe для решения этих проблем

вот пример

class nlpcut:

    def __init__(self,content):
         self.content = content

    @staticmethod
    def __spark_session(filePath):
        filePath = SparkSession.builder.appName('test').master('yarn').getOrCreate()
        dataFrameReader = session.read
        data = dataFrameReader.option('header','true') \
                              .option('inferSchema',value=True) \
                              .csv(filePath)
        return data

     def __nlp_cut(self):
         # processing some nlp cut..
         cut = nlp.cut(self.content)

         return cut

     def spark_nlp_cut(self):

         # here i want to use sparksql UDF 
         data_session = DPP().__spark_session('/project/test.csv')

         # i have problem at this part, how can i insert column 'address' content into class self.content in to class DPP?

         my_udf = udf(DPP.__nlp_cut, StringType())

         data_session.select('address',my_udf('address').alias('address_cut')).show()

есть ли какие-нибудь методы для помещения столбца "address" из dataFrame в sparkSQL в класс как глобальное значение, которое вставляется в функцию udf как self.content?спасибо

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