Версия Spark: 3.0.0
Вот несколько кодов:
val df = spark.read.schema(schema).format("com.databricks.spark.csv")
.option(...)
.load(tablePath)
df.createOrReplaceTempView("t1")
// suppose we have create views "t2" and "t3".
val res = spark.sql("select * from t1, t2, t3 where t1.a = t2.a and t2.b = t3.b")
Я использую Spark SQL для создания представления путем чтения файлов CSV. И я хочу настроить производительность sql, собирая статистику таблицы, которая может помочь оптимизатору сгенерировать лучший план выполнения.
Я нашел документ о синтаксисе Analyze TABLE
. Но мои t1
, t2
и t3
являются представлениями вместо таблиц, поэтому я не могу использовать Analyze Table t1 ...
.
Вот мой вопрос: как собрать статистику VIEW
в Spark SQL в помощь CBO?