簡體   English   中英

Redshift Lambda UDF 未按預期進行批處理

[英]Redshift Lambda UDF not batching as expected

如何配置 redshift lambda UDF 以批量請求?

在此頁面上創建一個標量 Lambda UDF - Amazon Redshift它在注釋部分中說:

您可以配置 Lambda function 的多次調用的批處理,以提高性能並降低成本。

我正在測試一個簡單地返回給定輸入的 hello world lambda。 這是我正在使用的 SQL ddl:

CREATE OR REPLACE EXTERNAL FUNCTION hello_world (varchar)
RETURNS varchar IMMUTABLE
LAMBDA 'redshift_udf_testy'
IAM_ROLE '<redacted>';

我的 UDF 工作正常,但它似乎沒有批處理請求。 我希望有以下查詢:

select hello_world(generate_series(1, 500)::text);

一次將多行傳遞給 hello_world(因為 lambda UDF JSON api 指定它能夠處理 arrays 個參數)。 但是它對我的 lambda function 執行了 500 次單獨的調用(每個 lambda 調用都傳入了一行),這似乎完全不正確。

知道如何將其配置為批處理嗎? 文檔順便提到了它,但我找不到任何具體的東西。

您可以通過配置 MAX_BATCH_ROWS 和 MAX_BATCH_SIZE 設置 Amazon Redshift 在單個 lambda 調用的單個批處理請求中發送的最大行數,以及 Amazon Redshift 在單個 lambda 調用的單個批處理請求中發送的數據負載的最大大小參數分別。 公共文檔可在以下位置找到: https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM