R Column `XXX` has different attributes on LHS and RHS of join

问题原因
分别从MySQL和Hive获取数据进行join操作。由于join时,使用的字段数据类型不同,导致无法join。需要指定字段数据类型,让左右两边的字段数据类型保持一致。

报错信息

# table1和table2表中的id在R中的数据类型不同,一个是integer64,另一个是characte
> table <- table1 %>%
	 inner_join(table2, by = "id") %>%
	 collect()

Error: Can't join on 'id' x 'id' because of incompatible types (integer64 / character)

处理方法1:在使用dbGetQuery()方法在使用SQL获取Hive中table2的数据时,将id改为cast(id as int) as id,再重新执行,继续报错:

Warning message:
Column `suite_id` has different attributes on LHS and RHS of join 

处理方法2:使用sapply方法查看两个table中id的数据类型,这次虽然都是integer但是仍然不是相同的数据类型。将table2中的id改为integer64类型,执行成功。需要先安装bit或者bit64包。

# 检查table1和t
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值