我的 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