You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Lake Analytics中U-SQL执行报错求助

修复你的U-SQL查询错误

先帮你定位到代码里的核心问题:sum(int.valor)这行的类型转换语法不符合U-SQL规范,这也是导致报错的直接原因。下面是修正后的完整可执行查询:

DECLARE @log_file string = "/datalake/valores.tsv";
DECLARE @summary_file string = "/datalake/output.tsv";

@log = EXTRACT valor string 
       from @log_file 
       USING Extractors.Tsv();

@summary = SELECT SUM(CAST(valor AS int)) AS somavalor 
           FROM @log;

OUTPUT @summary TO @summary_file 
       USING Outputters.Tsv();

错误原因与额外注意事项:

  • 语法错误解释:U-SQL不支持int.valor这种类型转换写法,必须使用CAST(列名 AS 目标类型)或者Convert.ToInt32(列名)这类标准转换函数。你从TSV提取的valor是字符串类型,必须先转为整数才能执行求和操作。
  • 数据兼容性问题:要确保valores.tsv里的valor列所有值都能正常转成整数,如果存在非数值内容,建议用TRY_CAST(valor AS int)替代CAST,这样无法转换的值会被识别为null,求和时会自动忽略,避免查询直接崩溃。
  • 权限验证:确认你的Azure Data Lake Analytics账户拥有读写指定存储路径的权限,避免出现隐性的权限报错。

如果你那个没写完的"When..."疑问有具体内容,比如特定场景、补充报错信息或者扩展需求,可以把细节补充完整,我再帮你进一步分析。

内容的提问来源于stack exchange,提问作者kPiroto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:23:32