【问题标题】:Update in Lookup Activity, in Azure data factory在 Azure 数据工厂中的查找活动中更新
【发布时间】:2021-07-14 09:00:58
【问题描述】:

我正在使用以下流程。

 ODATA -> Blob storage (JSON)
 JSON -> Snowflake table
 Copy Data -> Copy Data - Lookup
    

两个副本数据都工作正常。

在查找(查询)中,我已经给出了。 (需要在表中添加1个值,它是一个变体列)

Update T1 set source_json = object_insert(source_json,device_type,web_browser,TRUE);) 

             

当我在雪花数据库中使用上述查询时,它工作正常,表有 25K 行。

从管道运行时,会出现以下错误。

不支持单个 API 调用中的多个 SQL 语句;每条语句使用一个 API 调用。

请有任何建议。

【问题讨论】:

    标签: azure-devops azure-data-factory


    【解决方案1】:

    下面提供了一些解决方法。

    使用 SnowSql(命令行实用程序)执行多个 SQL 文件,如下所述:

    snowsql -c cc -f file1.sql -f file2.sql -f file3.sql
    

    下载并安装 snowsql 工具后,我们可以将所有 SQL 查询封装在一个 .sql 文件中,并使用 bash 调用该文件。

    例如,假设我们已将要运行的所有查询写入存储在 /tmp 中的名为 abc.sql 的文件中。

    然后我们可以运行以下命令:

    snowsql -a enter_accountname -u enter_your_username -f /tmp/abc.sql
    

    供参考:

    Workaround for multiple sql statement in a single api call are not supported

    Multiple single api call are not supported use one api call per statement instead

    【讨论】:

    • 嗨@AbhishekKhandave-MT snowsql 安装到哪里以及在 Azure 数据工厂上下文中从哪里执行?例如,此解决方案是否需要 Azure Batch?谢谢。
    【解决方案2】:

    感谢您的回复。需求变了。 我们的流程 Lookup1 -> 复制数据 -> 复制数据 > Lookup2 我们从 lookup1 传递了值并运行了存储过程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-17
      • 2022-11-11
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-11
      相关资源
      最近更新 更多