使用hadoop的SQL Server 2016多基础错误

时间:2017-04-26 03:52:47

标签: sql-server hadoop hdfs polybase

我的hdfs上有一个简单的管道分隔文件(newfile.txt),我已正确配置了polybase。我很难用Polybase将这个文件导入我的SQL Server。以下是查询:

首先创建外部文件格式:

CREATE EXTERNAL FILE FORMAT TextFile 
WITH (  
    FORMAT_TYPE = DELIMITEDTEXT  
    , FORMAT_OPTIONS ( Field_Terminator = '|',
      USE_TYPE_DEFAULT = TRUE));

其次,创建了Hadoopcluster的数据源:

CREATE EXTERNAL DATA SOURCE HadoopCluster
    WITH (   
        TYPE = HADOOP,
        LOCATION = 'hdfs://10.153.14.11:8020'  
    )

最后,创建了一个从hdfs导入数据的外部表:

create external table tmpExternal
(
    patientEncounter varchar(8000),
    PtAcctNo varchar(200)) 
    with (location = '/user/newfolder/',
          data_source = HadoopCluster,
          file_format = TextFile,
          reject_type = value,
          reject_value = 0);

运行上述查询后,这是我最终得到的错误:

  

Msg 596,Level 21,State 1,Line 26
  无法继续执行,因为会话处于kill状态。

     

Msg 0,Level 20,State 0,Line 26
  当前命令发生严重错误。结果(如果有的话)应该被丢弃。

我确信磁盘空间没有问题。请协助。

更新 正在使用HDP 2.5版本。我已经成功安装了Polybase,这是我尝试从hdfs导入的第一个外部表。

txt文件的格式有2行2列:

1234 | ABCD

5676 | EFGH

2 个答案:

答案 0 :(得分:0)

你修复过这个吗?我花了3个星期的时间与SQL产品组一起追踪这个问题。

在我的情况下,我们设置了EVENT NOTIFICATIONS以通知DDL更改。这是他们的代码中的一个错误,将成为未来的CU。如果您有事件通知,请删除它们并重试。

希望这有帮助。

答案 1 :(得分:0)

这可能是由于各种原因引起的,对我们来说,将数据加载到外部表中时会发生此错误。数据包含日期列,该数据列包含的日期早于1970-01-01且晚于2038-01-18的日期导致了此错误