spark-sql读取不到parquet格式的hive表

当向Hive metastore中读写Parquet表时,Spark SQL将使用Spark SQL自带的Parquet SerDe(SerDe:Serialize/Deserilize的简称,目的是用于序列化和反序列化),而不是用Hive的SerDe,Spark SQL自带的SerDe拥有更好的性能。这个优化的配置参数为spark.sql.hive.convertMetastoreParquet,默认值为开启。

所以有时会发生spark自带的序列化方式无法解析hive中的parquet数据,便读不到数据,此时可以将这个参数设置为false。

SET spark.sql.hive.convertMetastoreParquet = false;

猜你喜欢

转载自blog.csdn.net/x950913/article/details/106211587