【发布时间】:2017-07-25 06:11:36
【问题描述】:
我创建了一个 U-SQL 查询,它从 DataLake 存储中获取输入文件并转换值。最终输出存储在 DataLake Store 中。
DECLARE @in string = "system/dbotable{*}.tsv";
DECLARE @out string ="system/temp.tsv";
@searchlog =
EXTRACT
Id int,
Address string,
number int
FROM @in
USING Extractors.Tsv();
@transactions =
SELECT
*,
ROW_NUMBER()
OVER(PARTITION BY Id ORDER BY Id DESC) AS RowNumber
FROM @searchlog;
@result =
SELECT
Id ,
Address,
number
FROM @transactions
WHERE RowNumber == 1;
OUTPUT @result
TO @out
USING Outputters.Tsv();
它显示以下错误,
执行失败,出现错误 '1_SV1_Extract 错误:'{"diagnosticCode":195887132,"severity":"Error","component":"RUNTIME","source":"User","errorId":"E_RUNTIME_USER_EXTRACT_COLUMN_CONVERSION_INVALID_ERROR" ,"message":"尝试转换列数据时出现无效字符。","description":"HEX: \"2243616E696E6522\" 转换输入记录时出现无效字符。\n位置:第 1 行,列索引:1,列名: \"Id\".","resolution":"检查输入是否有错误或使用 \"silent\" 开关忽略输入中过(过)大小的行。\n考虑忽略 \"invalid\" 行可能影响作业结果,并且类型必须可以为空才能忽略转换错误。","helpLink":""
【问题讨论】:
-
输入文件是否有需要跳过的标题?你能展示一些示例数据吗?
标签: azure-data-lake u-sql