sql-server - Polybase 插入外部表失败 - 路径不存在 - SQL Server 2016 RC3

标签 sql-server hadoop sql-server-2016

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

  • 我能够创建外部数据源

  • 我可以创建文件格式

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

  • 我可以对我的外部表运行选择并在 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

似乎存在权限问题,我收到了错误的错误消息。

其他细节:

  • window 服务器 2012

  • Hadoop 2.7.1(单节点)

任何意见将不胜感激。

最佳答案

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

引用https://msdn.microsoft.com/en-us/library/mt652313.aspx了解更多详情。

关于sql-server - Polybase 插入外部表失败 - 路径不存在 - SQL Server 2016 RC3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37471646/

相关文章:

sql - 查找同一个表中两个字段的差异

hadoop - 尝试使用 LzoPigStorage 和 elephant-bird 加载索引 LZO 文件

java - 关于如何为 Hbase 编写 Hadoop InputFormat/OutputFormat 的任何想法

ms-access - 是否可以从 Access 更新 SQL Server 2016 时态表?

StorageTable 中的 Azure PolyBase 外部表

sql - 插入删除的数据,加上一些硬编码值,输出语句

sql - 无法使用插入(XML DML)插入新节点

php - SQL Server 查询从 PHP 慢,但从 SQL Mgt Studio 查询快 - 为什么?

hadoop - 具有 Kerberos 的 Hdfs 无法从远程服务器访问

json - SQL Server 只读取有效 JSON 的第一行