Мы запускаем контекст spark (версия 2.1) в локальном режиме и используем его для анализа и получения оптимизированного плана для запросов sql. Однако мы заметили, что для синтаксического анализа запроса требуется 10 se c.
Есть ли способ настроить производительность локального контекста искры так, чтобы это время можно было уменьшить?
Фрагмент кода:
import java.util
import org.apache.spark.SparkContext
import org.apache.spark.sql.{SQLContext, SparkParser, SparkSession}
import scala.collection.JavaConversions._
object SparkTest {
private lazy val spark: SparkSession = {
val sparkConf = new org.apache.spark.SparkConf()
sparkConf.set("hive.metastore.uris", "thrift://localhost:9083")
SparkSession.builder()
.master("local")
.appName("spark-poc")
//.config("hive.metastore.uris", "thrift://localhost:9083")
.config(sparkConf)
//.enableHiveSupport()
.getOrCreate()
}
def session: SparkSession = spark
def context: SparkContext = spark.sparkContext
def sqlContext: SQLContext = spark.sqlContext
// this is taking time for parsing a query.
private def parseSql(sql: String) = sqlContext.sparkSession.sessionState.sqlParser.parsePlan(sql)
}