我使用SQL Server 2016 RC3开发人员测试了Polybase:
我可以创建外部数据源
我可以创建文件格式
我创建了指向我的Hadoop文件系统的外部表
我可以在我的外部表上运行select并在Management Studio中获取数据
但是,当我尝试插入相同的表时,我收到以下错误:
' Microsoft.SqlServer.DataWarehouse.Common.ErrorHandling.MppSqlException:EXTERNAL TABLE访问失败,因为指定的路径名'< hdfs:// localhost:9000 / input / OldSales.csv&# 39;'不存在。输入有效路径,然后重试'
我确信路径存在,而且,如果我能够选择相同的外部表,外部源包含正确的路径,或者我错过了什么?
这是我的插入声明:
INSERT INTO [dbo].[OldTrasactions]
SELECT TOP 1000
[SalesOrderNumber]
,[SalesOrderLineNumber]
,p.EnglishProductName as ProductName
,st.SalesTerritoryCountry
,[OrderQuantity]
,[UnitPrice]
,[ExtendedAmount]
,[SalesAmount]
,convert(date,[OrderDate]) AS [OrderDate]
FROM [AdventureworksDW2016CTP3].[dbo].[FactInternetSales] a
inner join dbo.DimProduct p on a.ProductKey = p.ProductKey
inner join dbo.DimSalesTerritory st on st.SalesTerritoryKey = a.SalesTerritoryKey
where year(OrderDate) < 2011
我还启用了polybase导出:
sp_configure 'allow polybase export', 1;
reconfigure
似乎存在权限问题,我收到错误的错误消息。
其他细节:
Windows Server 2012
Hadoop 2.7.1(单节点)
任何评论都将不胜感激。
答案 0 :(得分:2)
要使用polybase导出,请确保指定的路径是存在或可以创建的目录,并且可以在该目录中创建文件。
有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/mt652313.aspx。