在Azure SQL数据仓库中使用Polybase访问Hadoop(Azure IaaS)HDFS文件

在Azure SQL数据仓库中使用Polybase访问Hadoop(Azure IaaS)HDFS文件,azure,hadoop,hdfs,azure-sqldw,polybase,Azure,Hadoop,Hdfs,Azure Sqldw,Polybase,我正在尝试使用Azure SQLDW中的Polybase访问Cloudera集群中HDFS中的分隔文件(在Azure中设置为IaaS),但遇到以下错误: Msg 105019,16级,状态1,第40行外部表访问失败 由于内部错误:“调用时引发Java异常” HdfsBridge_是不存在的。Java异常消息:来自的调用 DB55/10.0.0.59到10…:8020因套接字超时异常而失败: org.apache.hadoop.net.ConnectTimeoutException:20000毫秒

我正在尝试使用Azure SQLDW中的Polybase访问Cloudera集群中HDFS中的分隔文件(在Azure中设置为IaaS),但遇到以下错误:

Msg 105019,16级,状态1,第40行外部表访问失败 由于内部错误:“调用时引发Java异常” HdfsBridge_是不存在的。Java异常消息:来自的调用 DB55/10.0.0.59到10…:8020因套接字超时异常而失败: org.apache.hadoop.net.ConnectTimeoutException:20000毫秒超时 等待通道准备好进行连接时。中国: java.nio.channels.SocketChannel[连接挂起] 远程=10.56.140.31/10.56.140.31:8020];有关更多详细信息,请参阅: :Error[从 套接字超时时DB55/10.0.0.59到10.56.140.31:8020失败 异常:org.apache.hadoop.net.ConnectTimeoutException:20000毫秒 等待通道准备好连接时超时。ch: java.nio.channels.SocketChannel[连接挂起] 远程=10…/10…*:8020];有关更多详细信息,请参阅: 访问时发生 “外部文件。”

我使用了以下Polybase T-SQL脚本:

创建主密钥

使用标识创建数据库范围的凭据HadoopUser1= '用户名',密码='密码'

使用(
TYPE=HADOOP,
地点:hdfs://10...:8020“,
资源管理器位置='10…:8032',
凭证=HadoopUser1)

使用创建外部文件格式TextFile( 格式\u TYPE=DelimitedText, 格式选项(字段终止符=',')

创建外部表dbo.ra( Id INT不为空, 数字INT不为空, ZIPCODE INT NOT NULL)带有( 位置='/user/hive/warehouse/sample_poly', 数据源=MyHadoopCluster, 文件(格式=文本文件)

Cloudera集群和Azure SQLDW之间没有连接问题(因为我能够使用BCP、JDBC将数据从Cloudera集群摄取到SQLDW实例) Cloudera群集尚未Kerberize。数据库范围凭据中指定的用户名和密码存在于Cloudera群集的底层Linux文件系统中。
在此问题上的任何帮助都将不胜感激。

Azure SQL DW中的PolyBase当前仅支持blob存储和Azure Data Lake存储。它当前不支持连接到HDFS

注意:文档中没有提到任何hdfs示例中的Azure SQL DW:

--仅PolyBase:Hadoop群集作为数据源
--(在SQL Server 2016上)创建外部数据源数据源名称
带有(
类型=HADOOP, 地点:hdfs://NameNode_URI[:端口]”
[,RESOURCE_MANAGER_LOCATION='ResourceManager_URI[:端口]']
[,凭证=凭证名称] )[;]