У меня есть 2 экземпляра для одинаковых данных.
- Таблица кустов myData в формате паркета
- Файл для паркета (не управляется Hive) в формате паркета
Рассмотрим следующий код:
val myCoolDataSet = spark
.sql("select * from myData")
.select("col1", "col2")
.as[MyDataSet]
.filter(x => x.col1 == "Dummy")
А вот этот:
val myCoolDataSet = spark
.read
.parquet("path_to_file")
.select("col1", "col2")
.as[MyDataSet]
.filter(x => x.col1 == "Dummy")
Мой вопрос: что лучше с точки зрения производительности и количества отсканированных данных?
Как спарк вычисляет это для 2 разных подходов?