Azure 数据工厂中的 Parquet 文件名
Parquet file name in Azure Data Factory
我正在使用 Azure 数据工厂的副本 activity 将数据从 Oracle 数据库复制到 ADLS。
此副本的结果是一个镶木地板文件,其中包含与
table 我已经复制了,但是生成的镶木地板文件的名称是这样的:
data_32ecaf24-00fd-42d4-9bcb-8bb6780ae152_7742c97c-4a89-4133-93ea-af2eb7b7083f.parquet
我需要这个名字是这样存储的:
TableName-Timestamp.parquet
我如何使用 Azure 数据工厂做到这一点?
又一个问题:有没有办法在写这个文件的时候加层级?例如,我使用相同的
用于编写多个 table 的管道,我想为每个 table 创建一个新文件夹。如果我为每个 table 创建一个新的数据集,我就可以做到这一点
写,但我想知道是否有办法自动完成(使用动态内容)。
提前致谢。
您可以设置一个管道参数来实现它。
这是我尝试将数据从 Azure SQL 数据库复制到 ADLS 的示例,它也适用于 oracle 到 ADLS。
设置管道参数:设置需要复制到ADLS的AzureSQL/Oracletable名称:
源数据集:
添加动态内容以设置table名称:
来源:
添加动态内容:设置 table 带有管道参数的名称:
接收器数据集:
添加动态内容以设置 Parquet 文件名:
接收器:
添加动态内容以使用管道参数设置 Parquet 文件名:
格式:表名-Timestamp.parquet:
@concat(pipeline().parameters.tablename,'-',utcnow())
然后执行管道,你会得到类似TableName-Timestamp.parquet
:
的Parquet文件
关于你的另一个问题:
您可以为每个 table 添加动态内容集文件夹名称,只需按照以下步骤操作:
比如我们复制table"test",结果会是:
container/test/test-2020-04-20T02:01:36.3679489Z.parquet
希望这对您有所帮助。
我正在使用 Azure 数据工厂的副本 activity 将数据从 Oracle 数据库复制到 ADLS。 此副本的结果是一个镶木地板文件,其中包含与 table 我已经复制了,但是生成的镶木地板文件的名称是这样的:
data_32ecaf24-00fd-42d4-9bcb-8bb6780ae152_7742c97c-4a89-4133-93ea-af2eb7b7083f.parquet
我需要这个名字是这样存储的:
TableName-Timestamp.parquet
我如何使用 Azure 数据工厂做到这一点?
又一个问题:有没有办法在写这个文件的时候加层级?例如,我使用相同的 用于编写多个 table 的管道,我想为每个 table 创建一个新文件夹。如果我为每个 table 创建一个新的数据集,我就可以做到这一点 写,但我想知道是否有办法自动完成(使用动态内容)。
提前致谢。
您可以设置一个管道参数来实现它。
这是我尝试将数据从 Azure SQL 数据库复制到 ADLS 的示例,它也适用于 oracle 到 ADLS。
设置管道参数:设置需要复制到ADLS的AzureSQL/Oracletable名称:
源数据集:
添加动态内容以设置table名称:
来源:
添加动态内容:设置 table 带有管道参数的名称:
接收器数据集:
添加动态内容以设置 Parquet 文件名:
接收器:
添加动态内容以使用管道参数设置 Parquet 文件名:
格式:表名-Timestamp.parquet:
@concat(pipeline().parameters.tablename,'-',utcnow())
然后执行管道,你会得到类似TableName-Timestamp.parquet
:
关于你的另一个问题:
您可以为每个 table 添加动态内容集文件夹名称,只需按照以下步骤操作:
比如我们复制table"test",结果会是:
container/test/test-2020-04-20T02:01:36.3679489Z.parquet
希望这对您有所帮助。