从 js UDF 输出 INT64

Posted

技术标签:

【中文标题】从 js UDF 输出 INT64【英文标题】:output INT64 from js UDF 【发布时间】:2018-06-13 07:45:03 【问题描述】:

我正在尝试使用 BigQuery 的 INT64 类型来保存位编码信息。我必须使用 javascript udf 函数,我想使用所有 64 位。

我的问题是 javascript 只处理 int32 所以1 << 32 == 1 我不确定如何使用 BigQuery 在 udf 中支持的完整 64 位范围。

【问题讨论】:

【参考方案1】:

无法将 Big Query 的 INT64 类型直接转换为 JavaScript UDF,既不能作为输入也不能作为输出,因为 JavaScript 不支持 64 位整数类型[1]。您可以改用 FLOAT64,只要值小于 2^53 - 1,因为它遵循 IEEE 754-2008 双精度标准[2]。您还可以使用包含数字值的字符串。这是支持的外部 UDF 数据类型的文档[3]。

【讨论】:

以上是关于从 js UDF 输出 INT64的主要内容,如果未能解决你的问题,请参考以下文章

关于C语言 的__int64 的:如何输出从键盘读入的__int64 变量 问题

Hive UDF 返回多列输出

我需要创建一个 pyspark UDF,它通过比较从查询中输出一个表

数组 UDF 不断重复单个值

Hive UDF 从列表中生成所有可能的有序组合

在 Hadoop UDF 输出中保留列数据类型(流)