Когда я запускаю запрос GroupBy
в spark-shell
, он показывает мне отличные результаты, но когда я выполняю тот же запрос с использованием spark SQL в playframework
с той же версией spark, он показывает пустой результат. У меня похожая проблема с операциями соединения. Операции перекрестного объединения работают в среде воспроизведения с sbt
, но другие объединения показывают пустые результаты.
Я использую spark 2.4.0
, play framework 2.7
и sbt 1.2.8
.
вот мой код
var file_name1 ="excel1.xlsx"
var file_name2 ="excel2.xlsx"
var df1 =Spark.sqlContext.read
.format("com.crealytics.spark.excel")
.option("sheetName", "sheet1") // Required
.option("useHeader", "true") // Required
.option("treatEmptyValuesAsNulls", "false")
.option("inferSchema", true)
.option("addColorColumns", "false")
.option("timestampFormat", "MM-dd-yyyy HH:mm:ss")
.load(file_name1)
.limit(10)
var df2 =Spark.sqlContext.read
.format("com.crealytics.spark.excel")
.option("sheetName", "sheet1") // Required
.option("useHeader", "true") // Required
.option("treatEmptyValuesAsNulls", "false")
.option("inferSchema", true) // Optional, default: false
.option("addColorColumns", "false") // Optional, default: false
.option("timestampFormat", "MM-dd-yyyy HH:mm:ss") // Optional,
default: yyyy-mm-dd hh:mm:ss[.fffffffff]
.load(file_name2)
.limit(10)
df1.registerTempTable("temp1")
df2.registerTempTable("temp2")
val df= sqlContext.sql("select * from temp1 inner join temp2 on
temp1.a==temp2.a")
df.show()