Ich versuche, so etwas wie diesesWarum erhalte ich Nullpointer Exception
Object Main extends app {
val sc = new SparkContext(sparkConf)
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
val data = hiveContext.sql("select * from person").map(mapData(_))
println(data.collect())
def mapData(row:Row){
val data = new Person <- Java object
data.setName(getStringTrimmedToNull(row.getAs("name")))
data.setId(getStringTrimmedToNull(row.getAs("id")))
var salaryQuery = "select * from salary where id = '${id}'"
val query = salaryQuery. replace("${id}",data.getId)
hiveContext.sql(query).map(mapSalData(_))
}
def mapSalData(row:Row){
val salData = new Salary <= object for java class salary
//set data into the object
}
}
Above zu implementieren wird der Pseudo-Code von dem, was ich versuche, an dieser Linie zu tun und es Null-Pointer-Fehler zurückgibt
hiveContext.sql(query).map(mapSalData(_))
Würde jemand eine Idee haben, was mache ich falsch?
Können Sie auf Englisch beschreiben, was Sie tun möchten? – Aaron