gpt4 book ai didi

azure-data-lake - 使用 gzip 和虚拟列的 u-sql 问题

转载 作者:行者123 更新时间:2023-12-04 19:25:39 24 4
gpt4 key购买 nike

处理压缩文件的 u-sql 作业有一个奇怪的问题。如果我在普通的 csv 文件上运行 u-sql,它工作正常。但是,如果我对文件进行 gzip 压缩,它就不会再工作了(生成 E_RUNTIME_USER_EXTRACT_ENCODING_ERROR:在处理顶点输入拆分中的 0 条记录后发生编码错误。)

所以有效的代码是

DECLARE @path string = "output/{ids}/{*}.csv";

@data =
EXTRACT
a string,
b string,
c string,
d string,
ids string
FROM @path
USING
Extractors.Csv(skipFirstNRows:1, silent: true);

@output =
SELECT *
FROM @data
WHERE ids == "test";

OUTPUT @output
TO "output/res.csv"
USING Outputters.Csv(quoting : false, outputHeader: true);

此代码不起作用(文件的 gz 版本)

DECLARE @path string = "output/{ids}/{*}.csv.gz";

@data =
EXTRACT
a string,
b string,
c string,
d string,
ids string
FROM @path
USING
Extractors.Csv(skipFirstNRows:1, silent: true);

@output =
SELECT *
FROM @data
WHERE ids == "test";

OUTPUT @output
TO "output/res.csv"
USING Outputters.Csv(quoting : false, outputHeader: true);

如果我删除虚拟列“ids”,它适用于 gz 版本

DECLARE @path string = "output/test/{*}.csv.gz";

@data =
EXTRACT
a string,
b string,
c string,
d string
FROM @path
USING
Extractors.Csv(skipFirstNRows:1, silent: true);

@output =
SELECT *
FROM @data;

OUTPUT @output
TO "output/res.csv"
USING Outputters.Csv(quoting : false, outputHeader: true);

附件是我正在使用的两个文件。有没有人知道发生了什么事?如果我删除虚拟列 ID,它对两者都有效吗?

test.csv

test.csv.gz

我仅在针对 Data Lake Storage 中的文件运行时出现此错误。如果我在本地运行文件,它工作正常。

我收到的详细错误是"internalDiagnostics":""-"innerError":{"diagnosticCode":195887128-"severity":"Error"-"component":"RUNTIME"-"source":"User"-"errorId":"E_RUNTIME_USER_EXTRACT_INVALID_CHARACTER"- "message":"输入流中UTF-8编码的无效字符。"-"description":"在输入中发现UTF-8编码的无效字符。"-"resolution":"更正输入文件中的无效字符-或在提取器中更正编码,然后重试。”

最佳答案

添加一些额外的问题:

  1. 这是一个已确认的缺陷。我们已经为此部署了一个修复程序,因此无论有没有 @@FeaturesPreview = "FileSetv2Dot5:on" 标志,您都不会再遇到这个问题。

  2. SET @@FeaturesPreview = "FileSetv2Dot5:on" 上面的标志是正确的解决方法,因为它将强制在不存在缺陷的情况下生成不同的计划。

  3. SET @@FeaturesPreview = "FileSetv2Dot5:on" 默认情况下仍处于关闭状态。

关于azure-data-lake - 使用 gzip 和虚拟列的 u-sql 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45308792/

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