我正在使用zeppelin对我的spark群集执行查询。 我有文件中的数据,可以通过scala访问DataFrame然后注册为表或通过Hive(因为相同的文件注册为hive表)
在执行SQL代码方面,哪一个比另一个快?
以下是加载数据并注册为表格的代码示例:
import sys.process._
// Zeppelin creates and injects sc (SparkContext) and sqlContext (HiveContext or SqlContext)
// So you don't need create them manually
val zeppelinHome = ("pwd" !!).replace("\n", "")
val bankText = sc.textFile(s"file://$zeppelinHome/data/bank-full.csv")
case class Bank(age: Integer, job: String, marital: String, education: String, balance: Integer)
val bank = bankText.map(s => s.split(";")).filter(s => s(0) != "\"age\"").map(
s => Bank(s(0).toInt,
s(1).replaceAll("\"", ""),
s(2).replaceAll("\"", ""),
s(3).replaceAll("\"", ""),
s(5).replaceAll("\"", "").toInt
)
).toDF()
bank.registerTempTable("bank")
我假设我使用SQL而不是HQL 谢谢!