У меня есть таблица данных в PySpark, которая содержит два столбца с типом данных Struc.
Пожалуйста, см. Образец кадра ниже:
word_verb word_noun
{_1=cook, _2=VB} {_1=chicken, _2=NN}
{_1=pack, _2=VBN} {_1=lunch, _2=NN}
{_1=reconnected, _2=VBN} {_1=wifi, _2=NN}
Я хочу объединить два столбца вместе, чтобы я мог сделать подсчет частоты объединенного глагола и существительного чанка.
Я попробовал код ниже:
df = df.withColumn('word_chunk_final', F.concat(F.col('word_verb'), F.col('word_noun')))
Но я получаю следующую ошибку:
AnalysisException: u"cannot resolve 'concat(`word_verb`, `word_noun`)' due to data type mismatch: input to function concat should have been string, binary or array, but it's [struct<_1:string,_2:string>, struct<_1:string,_2:string>]
Моя желаемая выходная таблица выглядит следующим образом. Конкатенированное новое поле будет иметь тип строки:
word_verb word_noun word_chunk_final
{_1=cook, _2=VB} {_1=chicken, _2=NN} cook chicken
{_1=pack, _2=VBN} {_1=lunch, _2=NN} pack lunch
{_1=reconnected, _2=VBN} {_1=wifi, _2=NN} reconnected wifi