【问题标题】:Azure Data Lake External Data Source: Row size is too bigAzure Data Lake 外部数据源:行大小太大
【发布时间】:2023-04-08 21:56:01
【问题描述】:

我尝试使用 CREATE EXTERNAL TABLE xyz ....FROM LOCATION "dbo.xyz"SELECT * FROM ExternalDataSource EXECUTE @"SELECT a,b,c FROM dbo.xyz WHERE DATALENGTH(a)<128000" 方法从外部 Azure Sql Db 中读取数据,但导致行大小太大(来自远程数据源的行大于 4194304 字节。)错误。当我尝试定位大于此值的行时,受 Jaime 的回答 here 启发的查询不会产生任何结果。

我尝试通过执行远程查询来限制行集,以获取行大小小于 4MB 的行以及具有大字符串的列以使其数据长度小于 128KB,但我仍然遇到相同的错误。

我的印象是,如果我在 Sql Db 端执行远程查询以将行集限制在 Azure Data Lake 可以容纳的范围内,我会没事,但似乎并非如此。我可以申请一个合理的解决方法吗?

干杯!

【问题讨论】:

    标签: azure-sql-database azure-data-lake u-sql azure-sql-server


    【解决方案1】:

    首先,即使使用远程 EXECUTE 示例,您是否也观察到错误?

    其次,您在 ExternalDataSource 上设置的 REMOTABLE_TYPES 是什么?

    第三,最好将工作链接发送给我们以供进一步调查。请随时通过 usql (at) Microsoft 与我们联系。

    【讨论】:

    • 谢谢迈克尔!远程执行示例产生了相同的结果。 REMOTABLE_TYPES 是 (bool, byte, sbyte, short, ushort, int, uint, long, ulong, decimal, float, double, string, DateTime) 在工作 url 上,有没有办法在我得到之前搜索特定错误你的信息。有这么多,我可能需要很长时间才能找到它。
    • 我认为您可以使用简单的查询界面在 Visual Studio 中浏览作业列表(但不确定它是否为您提供了一种简单的方法来检查特定错误),或者使用Powershell SDK。这绝对看起来像是我想调查的问题。如果您可以提供一个重现脚本(一个用于在 SQLDB 中生成一些测试数据的 T-SQL 脚本,然后是一个重现的 U-SQL 脚本,我也可以尝试重现它)。
    猜你喜欢
    • 1970-01-01
    • 2019-06-05
    • 2023-03-12
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    相关资源
    最近更新 更多