Hadopp Polybase:查询处理器在处理远程查询阶段遇到意外错误

问题描述

我是 polybase 的新手,但我已经能够在启用 Kerberos 和 HA 的情况下创建从 sql Server polybase 到 Hadoop HortonWorks 3.1 的外部数据源和外部表。

当我尝试从外部表中选择查询时,抛出以下错误

内部查询处理器错误查询处理器在处理远程查询阶段时遇到意外错误

我已经阅读了说明我需要在安装后重新启动 polybase 服务的文档和可能的原因,但我已经重新启动了所有与 sql 服务器相关的服务以及 polybase 服务。此外,我的 polybase 数据移动服务有时会自行停止;但是在运行时,我遇到了同样的错误

这是我的外部数据源

CREATE EXTERNAL DATA SOURCE [Hive_test3] 
WITH 
(TYPE = HADOOP,LOCATION = N'hdfs://xxxxxxxxxx:8020',RESOURCE_MANAGER_LOCATION = N'xxxxxxxxx:8032',CREDENTIAL = [HadoopUser2])

和我的外部表:

CREATE EXTERNAL TABLE [dbo].[municipal_test]
(
    [id] [int] NULL,[city_id] [int] NULL,[name] [varchar](250) NULL
)
WITH (DATA_SOURCE = [Hive_test3],LOCATION = N'/user/xxxx/xxxx.csv',FILE_FORMAT = [csvFileFormat],REJECT_TYPE = VALUE,REJECT_VALUE = 500)

甚至以下查询失败:

SELECT 1
FROM 
[dbo].[municipal_test]

你能帮我吗?

解决方法

请检查您是否已完成以下操作:

  1. 配置“启用polybase”
  2. 已配置的“Hadoop 连接性”
  3. 修改了'yarn-site.xml'
  4. 创建主密钥加密
  5. 在 Hadoop 中,您已在操作系统级别创建用户并为其授予文件夹权限

另外,请提供您的外部文件格式的代码(我写这个答案时没有包含它)。以下是有关 Kerberos 的其他信息:https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-configuration,以下是故障排除的其他信息:https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-troubleshoot-connectivity

,

问题是我们在迁移到另一个域之前已经安装了 SQL 和 Polybase 服务。 虽然,在更改域后,我们也更改了服务帐户;但是,日志显示一两个服务仍在使用旧服务。 因此,使用域帐户卸载并重新安装解决了该问题。