如何从不同的表中减去两列?

问题描述 投票:0回答:1

我有两个桌子。

第一个表data包含idfeatures。第二个表result包含value

我想从值中减去要素,并且最终表包含id,结果相减。

val total=sqlContext.sql("SELECT t1.id,t1.features ,t2.value , t1.features-t2.value AS features  FROM data t1 INNER JOIN result t2")

但是由于数据类型不匹配,给出错误无法解析(t1.features - t2.value)(t1.features - t2.value)中的类型不同。

scala apache-spark-sql subtraction
1个回答
0
投票

这里我以示例为例:

scala> spark.sql("select * from test_table").show
+-------+-------+
|column1|column2|
+-------+-------+
|      b|      2|
|      a|      1|
+-------+-------+


scala> spark.sql("select a.*,a.column2 -b.column2 as substractCol from test_table a  inner join test_table b on a.column1 =b.column1 and a.column2=b.column2 ").show
+-------+-------+------------+
|column1|column2|substractCol|
+-------+-------+------------+
|      b|      2|           0|
|      a|      1|           0|
+-------+-------+------------+
© www.soinside.com 2019 - 2024. All rights reserved.