'da top_listesi ve collect_set öğelerini kullanın docs'a göre, collect_set
ve collect_list
işlevleri Spark SQL'de bulunmalıdır. Ancak, onu işe alamıyorum. Spark 1.6.0'ı Docker image kullanarak çalıştırıyorum.Spark SQL
import org.apache.spark.sql.functions._
df.groupBy("column1")
.agg(collect_set("column2"))
.show()
Ve zamanında aşağıdaki hatayı alırsınız::
ben Scala bunun çalışıyorumException in thread "main" org.apache.spark.sql.AnalysisException: undefined function collect_set;
Ayrıca
pyspark
kullanarak denedim, ama aynı zamanda başarısız olur. Dokümanlar, bu işlevlerin Hive UDAF'ların takma adları olduğunu belirtir, ancak bu işlevlerin etkinleştirileceğini anlayamıyorum.
Bunu nasıl düzeltebilirim? Thanx!
ve ne Avialable "@since 1.6.0" olduğunu sais ama yine de o alıyorum belgelerde 1.6.1 hakkında hata –
Hey @ zero323, Spark 1.5.0'da 'collect_list' işlevini kullanmaya çalışıyorum. Kovan bağlamını oluşturdum, ancak işlevi nasıl içe aktaracağımı anlayamıyorum. Bu derleme değil: .groupBy (providerData ("PRVSEQ"), providerData ("PROV_NUM")) .agg (collect_list (regexp_replace (triggerReport ("match_type"), "_ (Bireysel | Uygulama) Modeli.", " "))) –
@VijayRatnagiri 1.6'da tanıtıldı. Hatırladığım kadarıyla kayıtlı SQL'de 1.5'te ham SQL sorgusunu kullanabilmelisiniz. – zero323