hive sql
select
grade,
str_to_map(course_list,',',':') lecture_count_map
from (
select
grade,
concat_ws(',',
collect_list(concat_ws(':', lecture, cast(count as string)))
) course_list
from courses
group by grade
) T;
示意例子: