In base allo docs, le funzioni collect_set
e devono essere disponibili in Spark SQL. Tuttavia, non riesco a farlo funzionare. Sto usando Spark 1.6.0 usando un Docker image.Utilizzare collect_list e collect_set in Spark SQL
che sto cercando di fare questo a Scala:
import org.apache.spark.sql.functions._
df.groupBy("column1")
.agg(collect_set("column2"))
.show()
E visualizzato il seguente errore in fase di esecuzione:
Exception in thread "main" org.apache.spark.sql.AnalysisException: undefined function collect_set;
provato anche utilizzando pyspark
, ma non riesce anche. I documenti affermano queste funzioni sono alias di alveare UDAFs, ma non riesco a capire per abilitare queste funzioni.
Come risolvere il problema? Grazie!
e che dire 1.6.1 nei documenti si sais che avialable "@SINCE 1.6.0", ma io sono ancora ottenere che errore di –
Hey @ zero323, sto cercando di utilizzare la funzione 'collect_list' in Spark 1.5.0. Ho creato il contesto dell'alveare, ma non riesco a capire come importare la funzione. Questo non viene compilato: .groupBy (providerData ("PRVSEQ"), providerData ("PROV_NUM")) .agg (collect_list (regexp_replace (triggerReport ("match_type"), "_ (Individual | Practice) Model.", " "))) –
@VijayRatnagiri E 'stato introdotto nel 1.6. Per quanto mi ricordo dovresti essere in grado di utilizzare la query SQL raw in 1.5 sulla tabella temporanea registrata. – zero323