文件名上的字符串函数并添加为附加列
String function on filenames and adding as additional column
我在 blob 存储中有 CSV 文件,文件名由下划线分隔,例如 100001_1036_1595841882.csv
。我想将这些 CSV 推送到 Azure Synapse,但为文件名中的每个分隔字段添加了列。
我已经尝试在复制 activity 中使用新的“附加列”功能,但不知何故我无法将字符串函数与 $$FILEPATH
一起使用(参见下图)。单独 $$FILEPATH
就可以了。
您可以使用副本 activity 来执行此操作,但您必须采取不同的方法然后使用 $$FILEPATH 变量,这无法使用“添加动态内容”公式生成器进行操作。
如果您改为将文件名作为参数传递给管道,您可以像往常一样操作它。例如,如果您有一个基于事件的触发器,您可以从那里提取文件名。
在上面的屏幕截图中,您可以看到我是如何使用 @split(pipeline().parameters.fileName, '_')[0]
函数提取文件名的不同部分的。我对每个部分都这样做,并添加 $$FILEPATH
以获得完整的文件名(您当然可以改用 @pipeline().parameters.fileName
中的值)。对于最后一部分,我还删除了文件扩展名。
当您在源和接收器之间进行映射时,附加列将显示为源数据集中的任何列。
管道执行完成后 SQL table 包含所有相关数据
我在 blob 存储中有 CSV 文件,文件名由下划线分隔,例如 100001_1036_1595841882.csv
。我想将这些 CSV 推送到 Azure Synapse,但为文件名中的每个分隔字段添加了列。
我已经尝试在复制 activity 中使用新的“附加列”功能,但不知何故我无法将字符串函数与 $$FILEPATH
一起使用(参见下图)。单独 $$FILEPATH
就可以了。
您可以使用副本 activity 来执行此操作,但您必须采取不同的方法然后使用 $$FILEPATH 变量,这无法使用“添加动态内容”公式生成器进行操作。
如果您改为将文件名作为参数传递给管道,您可以像往常一样操作它。例如,如果您有一个基于事件的触发器,您可以从那里提取文件名。
在上面的屏幕截图中,您可以看到我是如何使用 @split(pipeline().parameters.fileName, '_')[0]
函数提取文件名的不同部分的。我对每个部分都这样做,并添加 $$FILEPATH
以获得完整的文件名(您当然可以改用 @pipeline().parameters.fileName
中的值)。对于最后一部分,我还删除了文件扩展名。
当您在源和接收器之间进行映射时,附加列将显示为源数据集中的任何列。
管道执行完成后 SQL table 包含所有相关数据