【发布时间】:2022-01-02 02:03:49
【问题描述】:
创建外部表时显示错误。谁能告诉我 core-site.xml 或其他文件中的 Hadoop 设置是否有问题?端口 9000 对于 SQL Server 端的设置是否正确,还是应该使用另一个?
一般架构概述:
- SQL Server 和 Hadoop 在其他 Windows 服务器上运行。
- Ping 检查后,两台服务器可以互相看到。
- 在 SQL Server 中,TCP 传输设置正确,防火墙设置正确。
错误
消息 105036,第 16 级,状态 1,第 33 行 由于内部错误引发了“JNI.JavaExceptionCheckException”类型的异常,无法检索外部数据源信息。:错误 [Call From xxxxxxxxxxxx/00.000.000.000 to xxxxxx.xx.dev.net:9000 failed on connection exception: java .net.ConnectException:连接被拒绝:没有更多信息;有关详细信息,请参阅:>http://wiki.apache.org/hadoop/ConnectionRefused] 在访问外部文件时发生..
Hadoop core-site.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.security.authorization</name>
<value>false</value>
</property>
</configuration>
SQL Server 中外部源的设置。
CREATE EXTERNAL DATA SOURCE MyHadoop
WITH
( LOCATION = 'hdfs://00.000.000.000:9000'
,RESOURCE_MANAGER_LOCATION = '00.000.000.000:9000'
,TYPE = HADOOP
) ;
SQL Server 中的文件格式。
CREATE EXTERNAL FILE FORMAT csvformat
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (FIELD_TERMINATOR =';')
);
SQL Server 中的外部表(运行此代码后出现错误)
CREATE EXTERNAL TABLE [EX_SQLPolybase]
(
id [int],
[Name] varchar(50)
)
WITH
(
DATA_SOURCE = [MyHadoop]
,LOCATION = N'[Test].dbo.Test_tbl'
,FILE_FORMAT = csvformat
)
【问题讨论】:
标签: sql-server hadoop sql-server-2016 polybase