【问题标题】:Polybase Insert into External table failed - Path does not exist - SQL Server 2016 RC3Polybase 插入外部表失败 - 路径不存在 - SQL Server 2016 RC3
【发布时间】:2016-09-25 02:16:42
【问题描述】:

我使用 SQL Server 2016 RC3 Developer 测试了 Polybase:

  • 我能够创建外部数据源

  • 我可以创建文件格式

  • 我创建了指向我的 Hadoop 文件系统的外部表

  • 我可以在我的外部表上运行 select 并在 Management Studio 中获取数据

  • 但是,当我尝试插入相同的表时,我收到以下错误:

“Microsoft.SqlServer.DataWarehouse.Common.ErrorHandling.MppSqlException:EXTERNAL TABLE 访问失败,因为指定的路径名​​“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 Server 2012

  • Hadoop 2.7.1(单节点)

任何评论将不胜感激。

【问题讨论】:

    标签: sql-server hadoop sql-server-2016


    【解决方案1】:

    使用polybase导出时,请确保指定路径是存在或可以创建的目录,并且该目录下可以创建文件。

    详情请参阅https://msdn.microsoft.com/en-us/library/mt652313.aspx

    【讨论】:

      猜你喜欢
      • 2022-01-02
      • 2016-11-03
      • 2017-05-08
      • 2020-06-22
      • 2021-12-30
      • 2020-03-31
      • 2017-09-08
      • 2017-09-23
      • 2020-11-16
      相关资源
      最近更新 更多