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

Hadopp Polybase: the query processor encountered an unexpected error during the processing of a remote query phase

我是 Polybase 的新手,但我已经能够创建外部数据源和外部 table 从 SQL Server polybase 到启用了 Kerberos 和 HA 的 Hadoop HortonWorks 3.1。

当我尝试从外部 table 进行 select 查询时,抛出以下错误:

Internal Query Processor Error: The query processor encountered an unexpected error during the processing of a remote query phase.

我已经阅读了说明我需要在安装后重新启动 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])

和我的外部 table 作为:

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 enabled'
  2. 已配置'hadoop connectivity'
  3. 已修改'yarn-site.xml'
  4. 创建了主密钥加密
  5. 在 Hadoop 中,您已经在 OS 级别创建了用户并向其授予了文件夹权限

另外,请提供您的外部文件格式的代码(我写这个答案时没有包含)。以下是关于 Kerberos 的附加信息:https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-configuration, and here is additional information for troubleshooting: https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-troubleshoot-connectivity.

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