【发布时间】:2021-12-13 11:47:43
【问题描述】:
所以我设置了一个外部文件来将一些数据拉到一个 blob 中,但是这样做时它会生成多个文件,而不是我期望的那个。
当我向一位同事询问这个问题时,他们建议它是因为桌面上的分布集,并且我可以使用 top 强制它推送到单个文件中。
有没有更好的解决方案?
不幸的是,我来自 Teradata 平台,对 Azure 了解不多。我对将这些数据提取到 blob CSV 的其他方法持开放态度,这位同事刚刚告诉我,使用外部表将是最快的提取方法。我总共要取出大约 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
我们有外部表设置:
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
【问题讨论】:
-
你能分享更多关于你已经尝试过的细节吗?这个外部文件是什么,一些片段将有助于提出更好的建议。但是,如果您只想复制,请尝试Copy data tool
-
@KarthikBhyresh-MT - 我添加了一些代码来展示我们目前如何设置它。这只是在测试表上,但这也会产生多个文件。
-
对不起,如果有错误请纠正我,您想将此 340GB 文件作为单个 csv 文件存储到 adls 中吗?
-
正确,已压缩。我可能会考虑将数据分成一些更小的块,但它们的大小仍然是几 GB。
-
嗨,是的,看来我将在之后继续合并文件。复制数据工具确实有效,但使用并发槽的时间更长。我会将其标记为已解决。
标签: azure azure-sql-database azure-blob-storage azure-data-factory