当使用spark1.6中表的底层Parquet文件时,computestats是否仍然有用?前任:
hiveCtx.read.format("parquet") .load("/path/*.parquet").registerTempTable("TEST")
brccelvz1#
这取决于各种情况你的表是否被分区,如果它被分区,那么你读的是一个分区还是一个排序中的所有分区。如果您的表是分区的,那么在hive或impala维护元数据时最好从表中读取数据,并在spark中创建带有关联数据的dataframe,这样当您对spark df应用一些转换时,代码的性能会更好。我可以看到你正在使用hivecontext读取你的Parquet文件,性能方面,它将只有小挠度,但总体上没有太大的差异。
1条答案
按热度按时间brccelvz1#
这取决于各种情况
你的表是否被分区,如果它被分区,那么你读的是一个分区还是一个排序中的所有分区。
如果您的表是分区的,那么在hive或impala维护元数据时最好从表中读取数据,并在spark中创建带有关联数据的dataframe,这样当您对spark df应用一些转换时,代码的性能会更好。
我可以看到你正在使用hivecontext读取你的Parquet文件,性能方面,它将只有小挠度,但总体上没有太大的差异。