gpt4 book ai didi

Azure Synapse - 有没有办法从 ODBC 源批量导入数据?

转载 作者:行者123 更新时间:2023-12-03 06:34:26 26 4
gpt4 key购买 nike

我们正在尝试通过 SuiteAnalytics Connect (ODBC) 将数据从 Netsuite 导入到 Azure Synapse Analytics - 这适用于除一个表 (transactionLine) 之外的所有表,其中连接总是在 2 小时超时

根据与 Oracle 的交谈,两小时的限制似乎是固定的,无法增加。

我在管道中设置了复制数据事件,当我将“使用查询”设置为“表”时,它会超时,但是当我将其设置为“查询”并将其限制为少量行时(例如 100 )它工作正常(见屏幕截图)

是否有内置方法可以批量导入此数据(例如一次导入 1000 行),而无需创建数十个单独的复制数据事件?

Copy data limit to 100 rows

最佳答案

为了让您的管道在大量记录时正常工作或创建批量导入数据,您可以使用以下方法。

  • 如果记录数量较多,并且您希望将它们分批处理为 1000 行,请首先使用查找事件并获取所有记录的计数,然后使用以下动态表达式将其存储在设置变量中,或者如果您知道您需要的数量直接添加到设置变量activity中即可。
#to get ftom lookup
@string(activity('Lookup1').output.count)

#to add manually
@string(5000)

enter image description here

  • 我使用另一个变量将处理的记录的开头设置为 start .
@string(1)

enter image description here

  • 我使用另一个变量来设置处理记录的结尾 end .
@string(1000)

enter image description here

  • 现在使用until事件处理直到 end值大于left .
@greater(variables('end'),variables('left'))

enter image description here

  • 现在,使用execute pipeline事件并将变量值传递给该管道参数,借助此参数,您可以查询数据并批量导入。

enter image description here

  • 现在我们必须更新 start 的值和end我们增加 start 的值并且还增加 end 的值.
  • 由于我们无法自引用变量,因此我们必须获取一个临时引用变量,然后更新它。
  • 更新 start 的值,我取为changestart具有以下值的变量。
@string(add(int(variables('start')),1000))

enter image description here

  • 分配上述changestart值为 start变量。

enter image description here

  • 按照类似的方式操作 end以及。以下是有 5000 条记录时的调试输出。

enter image description here

关于Azure Synapse - 有没有办法从 ODBC 源批量导入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75020122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com