当我尝试用bit()编写Spark时,它会导致一个错误。
代码
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:中的异常 外来输入'quantity‘期待{,’',‘','FROM','WHERE',组’,'ORDER',‘有’,‘限制’,‘横向’,‘窗口’,‘联合’,‘除外’,‘相交’,‘排序’,‘群集’,‘分布’}(第1行,pos 122)
发布于 2016-09-26 11:53:08
您可以使用一个布尔表达式,并使用生成的布尔值而不是位,因此尝试
SELECT
idcustomer,
quantity,
quantity < 0 as isthisreturn
FROM
pointofsale
WHERE
iddataloadmanager = 10 and quantity <> 0如果在数据帧上调用printSchema(),则应该出现布尔数据类型。
https://stackoverflow.com/questions/39699841
复制相似问题