问题描述
我是 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]
你能帮我吗?
解决方法
请检查您是否已完成以下操作:
- 配置“启用polybase”
- 已配置的“Hadoop 连接性”
- 修改了'yarn-site.xml'
- 创建主密钥加密
- 在 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 服务。 虽然,在更改域后,我们也更改了服务帐户;但是,日志显示一两个服务仍在使用旧服务。 因此,使用域帐户卸载并重新安装解决了该问题。