我的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
答案 0 :(得分:0)
你修复过这个吗?我花了3个星期的时间与SQL产品组一起追踪这个问题。
在我的情况下,我们设置了EVENT NOTIFICATIONS以通知DDL更改。这是他们的代码中的一个错误,将成为未来的CU。如果您有事件通知,请删除它们并重试。
希望这有帮助。
答案 1 :(得分:0)
这可能是由于各种原因引起的,对我们来说,将数据加载到外部表中时会发生此错误。数据包含日期列,该数据列包含的日期早于1970-01-01且晚于2038-01-18的日期导致了此错误