【发布时间】:2017-06-30 14:14:58
【问题描述】:
我有以下架构 -
[名称:StringType,等级:ArrayType( 结构类型( StructField(subject_grades, ArrayType(StructType(StructField(subject,StringType,false), StructField(grade,LongType,false)]
我想 groupby 在等级数组内的 subject_grades 数组内的主题字段上。
我试过了
sql.sql("select ... from grades_table group by grades.subject_grades.subject")
但我明白了
org.apache.spark.sql.AnalysisException: cannot resolve 'grades.subject_grades[subject]' due to data type mismatch: argument 2 requires integral type, however, 'subject' is of string type.;
我明白为什么会出现此错误,但是我希望我可以避免爆炸整个事物以便在内部字段上进行分组。
【问题讨论】:
标签: scala apache-spark apache-spark-sql