查询特定列

时间:2018-04-10 01:53:49

标签: azure azure-data-lake azure-sqldw polybase sql-data-warehouse

我在azure data lake store中有一个文件。我正在使用polybase将数据从数据湖存储移动到数据仓库。 我按照here提到的所有步骤进行了操作。

我们说我创建了外部表作为External_Emp,它有3列:ID,Name,Dept。

当我运行以下查询时:

select * from External_Emp;

然后,它向我展示了所有正确的记录。 但是当我选择特定的列/列时,它会在一行中显示列名。例如,如果我运行以下查询:

select Name from External_Emp;

然后输出是:

Name
-----
Name
1
2
3

然而,输出应该是:

Name
------
1
2
3

同样,当我运行查询时:

select ID, Name from External_Emp;

然后它显示以下输出:

ID | Name
---------
ID | Name
1  | abc
2  | xyz
3  | pqr

然而,输出应该是:

ID | Name
--------
1  | abc
2  | pqr
3  | xyz

为什么在单独的行中显示列名? 这是一个错误吗?

我多次检查了天蓝色数据湖中csv文件中的数据。它没有重复的列名。 感谢。

1 个答案:

答案 0 :(得分:7)

删除外部表和外部文件格式。然后使用FIRST_ROW=2重新创建外部文件格式,这将跳过documentation中提到的一行:

CREATE EXTERNAL FILE FORMAT TextFileFormat
WITH
(   FORMAT_TYPE = DELIMITEDTEXT
,    FORMAT_OPTIONS    (   FIELD_TERMINATOR = '|'
                    ,    STRING_DELIMITER = ''
                    ,    DATE_FORMAT         = 'yyyy-MM-dd HH:mm:ss.fff'
                    ,    USE_TYPE_DEFAULT = FALSE
                    ,    FIRST_ROW = 2
                    )
);