Spark / Scala udf должен возвращать список кортежей, как мешок в Pig - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть справочная таблица, которая является составным ключом => (столбец, значение). Учитывая набор данных, я хочу иметь возможность просматривать столбец и значения столбца и проверять, существует ли значение в справочной таблице. Если это так, я хочу выплюнуть запись для этого.

У меня есть трансляция поиска и я написал udf для обработки входящей строки, чтобы расширить до нескольких строк в зависимости от того, есть ли совпадение в столбце

val explodeRow = udf{(row: Row, customFields : Set[CompoundKey], 
inputCustomFields : Array[String])
// customFields => lookup table
// inputCustomFields => dynamic list of columns to look at

Expected output => List/Array/Seq[CustomFieldExpansion]  
case class CustomFieldExpansion(<staticcol> : String, <staticcol> : 
String, customFieldKey : String, customFieldVal : String)

У меня возникли проблемы при попытке вернуть список кортежей или сумку из udf. Наборы данных и dfs не будут работать, пока я не пройду сеанс искры, который я не считаю хорошей практикой. Любые мысли и предложения приветствуются! Спасибо!

...