更新时间:2023-03-17 GMT+08:00

spark-beeline查询Hive视图报错

用户问题

MRS 3.1.2版本,spark-beeline查询Hive视图报错,报错如下:

根据提示set spark.sql.hive.manageFilesourcePartitions=false后,查不到数据(但是实际在hive查询中是有数据的)。

原因分析

转换格式失败,spark-sql使用其内置的Metastore,而不是Hive中使用的Metastore,所以读取元数据时失败,spark-sql内部读取的是partque格式的数据,而Hive中默认是orc的。

处理步骤

  1. 登录Spark客户端节点,执行如下命令,进入spark-sql:

    cd {客户端安装目录}

    source bigdata_env

    source Spark2x/component_env

    kinit 组件业务用户(普通模式无需执行kinit)

    spark-sql

  2. 执行如下命令设置spark.sql.hive.convertMetastoreOrc=false。

    set spark.sql.hive.convertMetastoreOrc=false;

  3. 重新查询Hive视图,显示正常。