代码之家  ›  专栏  ›  技术社区  ›  Kim Stacks

不能对Float8数据类型使用NEGATIVE函数。什么给?

  •  0
  • Kim Stacks  · 技术社区  · 8 年前

    我正在使用以下内容:

    Apache Drill 1.5.0
    
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.3 LTS
    Release:    14.04
    Codename:   trusty
    
    
    java version "1.8.0_60"
    Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
    Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
    

    当我运行以下查询时

    SELECT NEGATIVE(`EX QTY`) as `quantity`, `contract_symbol`, `contract_expiration_month` FROM dfs.`BobBrokerJapanFutures.json` WHERE  `B/S` = 'S'
    

    我得到一个错误说

    Query Failed: An Error Occurred
    org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: SchemaChangeException: Failure while trying to materialize incoming schema. Errors: Error in expression at index -1. Error: Missing function implementation: [negative(FLOAT8-OPTIONAL)]. Full expression: --UNKNOWN EXPRESSION--.. Fragment 0:0 [Error Id: 0d38ceb9-c490-442b-87da-a22043093abd on vagrant-ubuntu-trusty-64:31010
    

    这意味着我不应该在Float8上使用负数,对吗?

    但是,当我使用相同的查询但使用ABS函数时,它工作得很好。

    发生什么事?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Kim Stacks    8 年前

    我当前使用

    SELECT(`EX QTY` * -1) as `quantity`, `contract_symbol`, `contract_expiration_month` FROM dfs.`/src/Apps/BobBrokerJapanFutures.xlsx.json` WHERE  `B/S` = 'S'
    

    作为解决这个问题的一种方法。