apache-spark - 未签名的 Apache Spark SQL 类型
问题描述
我想知道Apache Spark SQL 中是否有无符号数字类型?
我在DataType 文档中没有看到任何内容,但是,我们知道文档可能是部分的。
最初我试图从 varchar 中转换一个很长的整数:
SELECT cast(myVeryLongIntAsString as UNSIGNED INTEGER)
但我得到了错误:
pyspark.sql.utils.ParseException:
extraneous input 'INTEGER' expecting ')'
根据MySQL 类型文档,SQL 确实有一个UNSIGNED INTEGER
.
解决方案
Spark SQL 不是一个完整的 SQL 引擎,而是一个提供主要 SQL 功能的引擎。
不,spark SQL 中没有无符号类型。我们可以直接查看 spark 源代码中所有定义的数据类型: https ://github.com/apache/spark/tree/master/sql/catalyst/src/main/scala/org/apache/spark/sql/types
对不起 :\
现在,真的有必要吗?我认为,无符号 SQL 类型主要用于减少内存大小。但在 spark 中,可以使用多种存储格式。使用有符号或无符号并不会真正产生影响(与选择二进制与字符串或列与行存储相比)
推荐阅读
- javascript - 在具有 Empire 主题的 Shopify 商店中将 gtag 跟踪代码放在哪里?
- c - 使用宏在运行时堆栈中优雅地创建可变大小的“二维指针”列表
- pytorch - pytorch - 具有动量的 GroupNorm
- node.js - 等量应用程序,TypeORM && TypeScript && Express && Webpack 设置问题
- c# - 运行时的条件依赖解析器(.net Core)
- html - 如何在屏幕中央制作一个块?
- django - 调节要在递归关系中相关的记录
- python - pandas 将函数应用于多列并创建多列来存储结果
- c# - 从 Azure 函数访问嵌套的 Json 设置
- c++ - 断言失败错误,C++ 中的向量下标超出范围问题