【问题标题】:Unsigned Apache Spark SQL types未签名的 Apache Spark SQL 类型
【发布时间】:2021-12-03 14:20:37
【问题描述】:

我想知道 Apache Spark SQL 中是否有 无符号 数字类型?

我在DataType documentation 中没有看到任何内容,但是,我们知道文档可能是不完整的。

最初我试图从 varchar 中转换一个很长的整数:

SELECT cast(myVeryLongIntAsString as UNSIGNED INTEGER)

但我得到了错误:

pyspark.sql.utils.ParseException:
     extraneous input 'INTEGER' expecting ')'

根据MySQL Types documentation,SQL 确实有一个UNSIGNED INTEGER

【问题讨论】:

    标签: apache-spark apache-spark-sql casting unsigned


    【解决方案1】:

    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 中,可以使用多种存储格式。使用有符号或无符号并不会真正产生影响(与选择二进制与字符串或列与行存储相比)

    【讨论】:

      猜你喜欢
      • 2015-06-04
      • 2016-08-08
      • 1970-01-01
      • 2018-05-21
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 2011-12-06
      相关资源
      最近更新 更多