1

我的 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
无法继续执行,因为会话处于终止状态。

消息 0,级别 20,状态 0,第 26 行
当前命令发生严重错误。结果,如果有的话,应该丢弃。

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

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

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

1234|abcd

5676|efgh

4

2 回答 2

0

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

于 2018-08-31T21:56:47.753 回答
0

你修好了吗?我刚刚在 SQL 产品组花了 3 周时间来追踪这个问题。

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

希望这可以帮助。

于 2017-06-08T19:40:00.520 回答