我用sql server 2016 rc3 developer测试了polybase:
我能够创建外部数据源
我可以创建文件格式
我创建了指向hadoop文件系统的外部表
我可以在外部表上运行select并在managementstudio中获取数据
但是,当我尝试插入到相同的表中时,出现以下错误:
'microsoft.sqlserver.datawarehouse.common.errorhandling.mppsqlexception:外部表访问失败,因为指定的路径名“”hdfs://localhost:9000/input/oldsales.csv“”不存在。输入有效路径并重试'
我确信路径存在,而且,如果我能够选择相同的外部表,外部源包含正确的路径,或者我遗漏了什么?
这是我的插入语句:
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服务器2012
hadoop 2.7.1(单节点)
如有任何意见,将不胜感激。
1条答案
按热度按时间nkcskrwz1#
对于使用polybase导出,请确保指定的路径是存在或可以创建的目录,并且可以在该目录中创建文件。
参考https://msdn.microsoft.com/en-us/library/mt652313.aspx 更多细节。