查询特定列的外部 table 时,列名也显示为一行

Column Name also appear as a row when querying the external table for specific column

我在 Azure Data Lake Store 中有一个文件。我正在使用 polybase 将数据从数据湖存储移动到数据仓库。 我遵循了提到的所有步骤 here

假设我创建了外部 table 作为 External_Emp,它有 3 列:ID、姓名、部门。

当我运行正在执行以下查询时:

select * from External_Emp;

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

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

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

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

删除外部 Table 和外部文件格式。然后使用 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
                    )
);