Azure 数据工厂在一列中映射 2 列
Azure Data Factory mapping 2 columns in one column
有人可以帮我解决在连接我的文本文件中的两列即 first name
和 last name
并将两列合并到我的 [=24= 中的一个名称列时出现的错误吗]Azure SQL database as a sink
in Azure Data Factory 另一个问题是我想选择性别列的第一个字母即 M
或 F
分别来自源文本文件的 男性 和女性,并将其更改为 Azure 数据中我的性别列中的一个字母 M 或 F工厂流水线 enter image description here?
- 更新 1
我的 table 名字是 [dbo].[Contact] 并且在应用这个过程之后我得到了这个错误,我在文本文件中的列名在它们之间有 space,比如 First名字和姓氏,这也会产生问题吗?
enter image description here
根据文档:副本中的架构映射 activity,架构映射支持合并列。
作为解决方法,我建议在您的 sql server sink 中配置 sql 服务器 stored procedure
。它可以将正在复制的数据与现有数据合并。
请按照 doc 中的步骤操作:
第 1 步:配置输出数据集:
第 2 步:在副本 activity 中配置 Sink 部分,如下所示:
第 3 步:在您的数据库中,定义与 sqlWriterTableType 同名的 table 类型。请注意,table 类型的架构应与输入数据返回的架构相同。
CREATE TYPE [dbo].[MarketingType] AS TABLE(
[FirstName] [varchar](256) NOT NULL,
[LastName] [varchar](256) NOT NULL,
[Gender] [varchar](256) NOT NULL
)
第四步:在你的数据库中,定义与SqlWriterStoredProcedureName同名的存储过程。它处理来自指定源的输入数据,并合并到输出 table。注意存储过程的参数名要和dataset中定义的"tableName"一致
Create PROCEDURE spOverwriteMarketing @Marketing [dbo].[MarketingType] READONLY
AS
BEGIN
MERGE [dbo].[jay] AS target
USING @Marketing AS source
ON (1=1)
WHEN NOT MATCHED THEN
INSERT (name, gender)
VALUES (source.FirstName + ' ' + source.LastName, UPPER(left(source.Gender,1)));
END
输出截图:
希望对你有帮助。
有人可以帮我解决在连接我的文本文件中的两列即 first name
和 last name
并将两列合并到我的 [=24= 中的一个名称列时出现的错误吗]Azure SQL database as a sink
in Azure Data Factory 另一个问题是我想选择性别列的第一个字母即 M
或 F
分别来自源文本文件的 男性 和女性,并将其更改为 Azure 数据中我的性别列中的一个字母 M 或 F工厂流水线 enter image description here?
- 更新 1
我的 table 名字是 [dbo].[Contact] 并且在应用这个过程之后我得到了这个错误,我在文本文件中的列名在它们之间有 space,比如 First名字和姓氏,这也会产生问题吗?
enter image description here
根据文档:副本中的架构映射 activity,架构映射支持合并列。
作为解决方法,我建议在您的 sql server sink 中配置 sql 服务器 stored procedure
。它可以将正在复制的数据与现有数据合并。
请按照 doc 中的步骤操作:
第 1 步:配置输出数据集:
第 2 步:在副本 activity 中配置 Sink 部分,如下所示:
第 3 步:在您的数据库中,定义与 sqlWriterTableType 同名的 table 类型。请注意,table 类型的架构应与输入数据返回的架构相同。
CREATE TYPE [dbo].[MarketingType] AS TABLE(
[FirstName] [varchar](256) NOT NULL,
[LastName] [varchar](256) NOT NULL,
[Gender] [varchar](256) NOT NULL
)
第四步:在你的数据库中,定义与SqlWriterStoredProcedureName同名的存储过程。它处理来自指定源的输入数据,并合并到输出 table。注意存储过程的参数名要和dataset中定义的"tableName"一致
Create PROCEDURE spOverwriteMarketing @Marketing [dbo].[MarketingType] READONLY
AS
BEGIN
MERGE [dbo].[jay] AS target
USING @Marketing AS source
ON (1=1)
WHEN NOT MATCHED THEN
INSERT (name, gender)
VALUES (source.FirstName + ' ' + source.LastName, UPPER(left(source.Gender,1)));
END
输出截图:
希望对你有帮助。