[Exceptions]hive Cannot convert column xx from void to array<int>.

这篇具有很好参考价值的文章主要介绍了[Exceptions]hive Cannot convert column xx from void to array<int>.。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原因

写hive sql的时候,用null给复杂类型的列赋值了。null不能转成对应的复杂类型而导致的报错。比如我这次要做的是c、b表有复杂类型这一列。a表没有。要把a表数据导入c,用的insert into table c select a.*,null from a.就会报错。null这个值,在读取数据的时候,没有值会返回null,用来做“占位”的,但是赋值的时候不能简单用null赋值。文章来源地址https://www.toymoban.com/news/detail-514686.html

解决方法

  1. 用udf,自己开发或用第三方的看需要。
  2. 用另外的列数据赋值。比如我这次要做的是c、b表有这一列。a表没有。就insert into table c select a.*,b.column from a join b on a.id = b.id.

null转换的记录

数据类型 是否可以用null赋值
bigint、int 等 可以
string 没试(哈哈哈哈
array以及array(string)这种元素类型也定义了的 不行,有的可以用array()或array(‘’)来赋值
map以及map<string,string>这种元素类型也定义了的 不行
struct以及struct<a:string>这种内部字段类型也定义了的 不行

到了这里,关于[Exceptions]hive Cannot convert column xx from void to array<int>.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包