Вот код блока.В фрагменте кода я читаю многострочное json
и преобразовываю в Emp
объект.
def main(args: Array[String]): Unit = {
val filePath = Configuration.folderPath + "emp_unformatted.json"
val sparkConfig = new SparkConf().setMaster("local[2]").setAppName("findEmp")
val sparkContext = new SparkContext(sparkConfig)
val sqlContext = new SQLContext(sparkContext)
val formattedJsonData = sqlContext.read.option("multiline", "true").json(filePath)
val res = formattedJsonData.rdd.map(empParser)
for (e <- res.take(2)) println(e.name + " " + e.company + " " + e.about)
}
case class Emp(name: String, company: String, email: String, address: String, about: String)
def empParser(row: Row): Emp =
{
new Emp(row.getAs("name"), row.getAs("company"), row.getAs("email"), row.getAs("address"), row.getAs("about"))
}
Мой вопрос: правильный ли подход "formattedJsonData.rdd.map(empParser)
"?Я конвертирую в RDD
из Emp
Object.1. это правильный подход.2. Предположим, у меня есть записи 1L, 1M, в этом случае возникает проблема с производительностью.3. есть ли лучший вариант для преобразования коллекции emp