1
Folks-無法找到存儲在DataSet
我是一個完整的Spark福利局,並已試圖讓下面的代碼在spark-shell
工作在過去的一天小數型編碼器。我花時間審閱了文檔,並嘗試Google解決這個問題,但是我的想法已經過時。
下面是代碼:
import spark.implicits._
val opts = Map(
"url" -> "jdbc:netezza://netezza:5480/test_schema",
"user" -> "user",
"password" -> "password",
"dbtable" -> "test_messages",
"numPartitions" -> "48"
)
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val site = sqlContext
.read()
.format("com.ibm.spark.netezza")
.options(opts)
.load()
.select("az","range","time")
.where("id == 34000007")
site.printSchema()
說明所有列的類型的decimal
val calcs = ama.agg(
min("az"), (max("az")-min("az")).divide(100),
min("range"), (max("range")-min("range")).divide(100),
min("time"), (max("time")-min("time")).divide(100)
).collect()(0)
calcs.printSchema()
說明所有列的類型都是decimal
一切正常,直到這條線。我認爲,通過import spark.implicits._
這將使我能夠訪問Encoder
,但是,情況並非如此。
val newSite = site.map(r => r.getDecimal(0).subtract(calcs.getDecimal(0)))
我回顧的每篇文章都會談到關於導入implicits
的問題,但這並沒有幫助。我正在使用Spark 2.0.2。
任何想法將不勝感激。