【发布时间】:2017-09-23 07:08:05
【问题描述】:
我的 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);
运行上述查询后,这是我最终得到的错误:
消息 596,第 21 级,状态 1,第 26 行
无法继续执行,因为会话处于终止状态。消息 0,级别 20,状态 0,第 26 行
当前命令发生严重错误。结果(如果有)应丢弃。
我确信磁盘空间没有问题。请协助。
更新: 正在使用 HDP 2.5 版本。我已成功安装 Polybase,这是我尝试从 hdfs 导入的第一个外部表。
txt文件的格式有2行2列:
1234|abcd
5676|efgh
【问题讨论】:
-
你能发布一些示例数据吗?另外,你有installed and enabled Polybase 吗?您是否让其他外部表成功运行,或者这是第一个?在安全方面,你是如何连接的? Hadoop 安装是什么版本(Hortonworks HDP x.x 或 Cloudera CDH)?
-
您的外部数据源定义中没有
CREDENTIAL? -
更新:正在使用 HDP 2.5 版本。我已成功安装 Polybase,这是我尝试从 hdfs 导入的第一个外部表。 txt文件的格式有2行2列:1234|abcd 5676|efgh
标签: sql-server hadoop hdfs polybase