我使用polybase创建了一个外部表

CREATE EXTERNAL TABLE [ext].[gendertable]
(
        gender_id TINYINT NOT NULL,
        gender VARCHAR(16) NOT NULL
)
WITH
(
    LOCATION = '/MovieDB/gender.csv',
    DATA_SOURCE = AzureBlobHDP,
    FILE_FORMAT = csvformat0
);
GO


数据源是HADOOP。有没有一种方法可以导入该表,而无需再次为每一列定义数据类型?我搜索一些代码like this

CREATE TABLE [mov].[gendertable]
WITH
(
    DISTRIBUTION = REPLICATE,
    CLUSTERED COLUMNSTORE INDEX
)
AS
SELECT * FROM [ext].[gendertable]


当然,这段代码对我来说失败了,因为我没有使用Azure SQL DW(出现语法错误)。我在VM上使用SQL Server 2019。

我的问题是有一个SQL表达式,这样我不必声明每一列的数据类型吗?

最佳答案

其实这很简单:

SELECT *
INTO [mov].gendertable
FROM [ext].[gendertable];
GO

10-05 19:29