@ Бхарат Нет, это не закруглится. Для этого проверьте документы Spark на функцию округления или вы можете создать для нее отдельный UDF.
учаю ошибку:
org.apache.spark.sql.analysisexception: cannot resolve 'year'
Мои входные данные:
1,2012-07-21,2014-04-09
Мой код:
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
import org.apache.spark.sql.SaveMode
import org.apache.spark.sql._
import org.apache.spark.sql.functions._
case class c (id:Int,start:String,end:String)
val c1 = sc.textFile("date.txt")
val c2 = c1.map(_.split(",")).map(r=>(c(r(0).toInt,r(1).toString,r(2).toString)))
val c3 = c2.toDF();
c3.registerTempTable("c4")
val r = sqlContext.sql("select id,datediff(year,to_date(end), to_date(start)) AS date from c4")
Что я могу сделать, чтобы устранить ошибку выше?
Я попробовал следующий код, но я получил вывод в днях, и мне нужно в годах
val r = sqlContext.sql("select id,datediff(to_date(end), to_date(start)) AS date from c4")
Пожалуйста, сообщите мне, если я могу использовать любую функцию, такую как to_date, чтобы получить разницу в году.