簡體   English   中英

在pySpark中從UDF動態推斷返回對象的Schema

[英]Dynamically infer Schema of returned object from UDF in pySpark

我想在pySpark中使用UDF,它不返回原子值而是返回嵌套結構。 我知道我可以注冊UDF並手動設置它將返回的對象的模式,例如

format = ArrayType(
                   StructType([
                               StructField('id',IntegerType()),
                               StructField('text',StringType())
                              ]
                  )
spark.udf.register('functionName', functionObject, format)

並在UDF中使用python列表來匹配格式,例如

return [[1,'A'],[2,'B']]

但有沒有辦法避免在注冊UDF時顯式設置返回類型,而是自動推斷其架構?

如果我沒有設置返回類型,它會自動設置為StringType

是否有任何方法可以避免在注冊UDF時顯式設置返回類型,而是自動推斷其架構?

那沒有。 在調用udf之前必須知道模式,並且無法在運行時推斷出模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM