Spark&中的比特值过程PostgreSQL的

时间:2016-09-26 10:00:38

标签: apache-spark apache-spark-sql spark-dataframe

当我尝试使用bit()编写Spark SQL时,会导致错误。

代码

val tpos_dfr = sqlContext.sql("SELECT idcustomer, quantity, CASE WHEN quantity < 0 THEN 1::bit(1) ELSE 0::bit(1) END as isthisreturn FROM pointofsale WHERE iddataloadmanager = 10 and quantity <> 0")   

错误

  

线程“main”中的异常org.apache.spark.sql.catalyst.parser.ParseException:
  无关的输入'数量'期待{,',','FROM','WHERE',GROUP','ORDER','HAVING','LIMIT','LATERAL','WINDOW','UNION','EXCEPT' ,'INTERSECT','SORT','CLUSTER','DISTRIBUTE'}(第1行,第122位)

1 个答案:

答案 0 :(得分:1)

您可以使用布尔表达式,并使用结果布尔值而不是位,请尝试

SELECT 
    idcustomer, 
    quantity, 
    quantity < 0 as isthisreturn 
  FROM 
    pointofsale 
  WHERE
    iddataloadmanager = 10 and quantity <> 0

如果您在数据框上调用printSchema(),则应显示布尔数据类型。