Azure:如何从外部 table 创建单个文件而不是多个文件?

Azure: How to create single file rather than multiple from external table?

所以我设置了一个外部文件来将一些数据提取到 blob,但是这样做会生成多个文件,而不是我期望的文件。

当我向一位同事询问此事时,他们建议这是因为 table 上的分发集,我可以使用 top 强制将其推送到单个文件中。

有更好的解决办法吗?

不幸的是,我来自 Teradata 平台,对 Azure 了解不多。我对将此数据提取为 blob CSV 的其他方法持开放态度,这位同事刚刚告诉我,使用外部 tables 将是最快的提取方法。我总共要拉出大约340GB。

CREATE EXTERNAL DATA SOURCE [dataplatform_dataecosystem] WITH (TYPE = HADOOP, LOCATION = N'abfss://dataecosystem@(removed server name).dfs.core.windows.net', CREDENTIAL = [msi_cred])
GO

所以我们有文件格式设置:

CREATE EXTERNAL FILE FORMAT [eff_td_csv] WITH (FORMAT_TYPE = DELIMITEDTEXT, FORMAT_OPTIONS (FIELD_TERMINATOR = N'|', USE_TYPE_DEFAULT = False), DATA_COMPRESSION = N'org.apache.hadoop.io.compress.GzipCodec')
GO

我们有外部 table 设置:

create external table devl_trade.IRI_Test with
(
    Location = 'usr-data-engineering/rdp-extracts/cal'
    ,File_Format = [eff_td_csv]
    ,Data_Source = [dataplatform_dataecosystem]
)
AS
Select * from live_view.calendar

可以使用复制工具生成单个文件,但使用外部 table 然后合并文件效果更好。