如何加入BigQuery为其分配不同类型的整数字段?

时间:2012-07-31 13:04:10

标签: google-bigquery

尝试在数字字段上连接两个表('A'和'B'),并且每个表具有完全相同的值范围时,我收到以下错误:

错误:字段X和Y具有不相等的类型TYPE_INT64和TYPE_INT32,因此它们不能是连接属性。

无法加入INTEGER(A.X)= B.Y,因为只接受字段名称,而不是任意表达式。在子查询中运行A.X可以工作,但性能非常差,因为它是较大的表;转换B.Y不起作用,这似乎与错误消息(暗示Y是32位)和INTEGER函数的文档(转换为64位)不一致。这可能是个错误吗?

1 个答案:

答案 0 :(得分:1)

你最好的选择是子查询中的演员。连接性能的真正问题不是转换,而是连接算法的低效率。目前正在解决这个问题,但由于它是更大的查询执行引擎更改的一部分,因此需要更长的时间。