gpt4 book ai didi

azure - USQL Azure 数据湖中的更新

转载 作者:行者123 更新时间:2023-12-02 07:41:14 24 4
gpt4 key购买 nike

有什么方法可以更新行集中的值

数据:

1,apple,0
2,check,1
3,chec,1

USQL 脚本:

@result = EXTRACT
ID int,
value string,
types int
FROM @"TLD_BT/sacmple.txt"
USING Extractors.Csv();

现在我想更新上面的结果集@result set type =1,其中值为apple

我尝试了下面的脚本。

UPDATE @result SET types=1 WHERE value="apple"

但我收到以下错误:

UPDATE  ### @result SET types=1 WHERE value="apple"

Error
E_CSC_USER_SYNTAXERROR
Message
syntax error. Expected one of: STATISTICS

无论如何我都可以更新行集的值,或者我应该找到任何其他解决方法。

最佳答案

目前 U-SQL 中没有 UPDATE 命令,但您可以使用条件语句创建新列并将其输出。您还可以使用 CTAS 语法创建新的内部表。示例如下:

@result =
EXTRACT [ID] int,
value string,
types int
FROM @"input/input.txt"
USING Extractors.Csv();

//UPDATE @result SET types=1 WHERE value="apple"
@output =
SELECT [ID] AS id,
value,
value == "apple"? 1 : types AS types
FROM @result;

// CTAS
CREATE TABLE IF NOT EXISTS dbo.interimResult
(
INDEX cdx_Result
CLUSTERED(id)
DISTRIBUTED BY
ROUND ROBIN
)
AS
SELECT [ID] AS id,
value,
value == "apple"? 1 : types AS types
FROM @result;


// output result
OUTPUT @output TO "/output/adlaresult.csv"
USING Outputters.Csv();

希望这是有道理的。另请参阅此处:U-SQL DML Statements

关于azure - USQL Azure 数据湖中的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242776/

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