我有两个实例存储相同的数据。
- 名为myData的Hive表,以parquet格式存储
- 一个未被Hive管理、以parquet格式存储的Parquet文件
请考虑以下代码:
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")
我的问题是在性能和扫描数据量方面,哪个更好?Spark如何计算这两种不同的方法?