我正在尝试创建一个返回遵循以下格式的值的udf:
[
{u'description': None,
u'location': None,
u'list_field': [Row(details=None, name=u'John Smith', profile_url=None)],
u'join_date': u'January 21st 2008',
u'title': u'Potato Manager'},
{u'description': Profile 2,
u'location': None,
u'list_field': [Row(details=None, name=u'Tony Montana', profile_url=None)],
u'join_date': u'January 21st 2012',
u'title': u'Awesomeness Specialist'}
]
如您所见,返回值有多种类型(它返回一个dicts列表,其中某些字段'值是另一个dicts列表)。我怎么去创建udf?我试过了:
filter_udf = udf(func, ArrayType(MapType(StringType(),ArrayType(StringType(),StringType()))))
即,指定最复杂的返回节点。但这给了我错误。