UDFArgumentTypeException Only primitive type arguments are accepted but array was passed as param...

出现这个问题的原因是,使用了group bycollect_set(),
当使用collect_set()参数建议是基本的数据类型

collect_set()
命令说明。
将colname指定的列值聚合为一个无重复元素的数组。此函数为MaxCompute 2.0扩展函数。

参数说明。
colname:必填。表的列名称,可以为任意类型。

返回值说明。
返回ARRAY类型。colname值为NULL时,该行不参与计算。

回顾下错误sql

CREATE TABLE table(
id string,
name string
values array<string>)
select  collect_set(values) from table group by name

因为values本身是个数组,所以是无法在聚合成一个多维数据的,可以转换为字符串

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Hive基本操作 Hive产生背景: mapreduce编程的不便性HDFS上文件缺少Schema (Schema...
    wong11阅读 8,979评论 0 2
  • 本篇文章长更,欢迎大家收藏和喜欢 2018.12.25 字符串函数2 1.正则表达式解析函数:regexp_ext...
    清听阅读 10,018评论 0 1
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,222评论 0 13
  • 1、给用户赋予权限 2、数据库新建/删除操作 创建数据库 查看所有的数据库 进入某个数据库 删除数据库 3、hiv...
    雪飘千里阅读 4,489评论 0 2
  • 操作手册:https://cwiki.apache.org/confluence/display/Hive/Lan...
    无剑_君阅读 5,095评论 0 3

友情链接更多精彩内容