【问题标题】:COPY INTO path with wildcards = Index out of range使用通配符复制到路径 = 索引超出范围
【发布时间】:2020-07-30 18:41:27
【问题描述】:

我正在尝试使用 COPY INTO 在存储帐户 (ADLS Gen2) 上的文件夹中提取文件。

如果我连接每个文件的路径,它就可以工作。

COPY INTO dbo.internal_heap
FROM 'https://storageaccount.dfs.core.windows.net/folderA/folderB/1.orc',
     'https://storageaccount.dfs.core.windows.net/folderA/folderB/2.orc',
     'https://storageaccount.dfs.core.windows.net/folderA/folderB/3.orc',
     'https://storageaccount.dfs.core.windows.net/folderA/folderB/4.orc'
WITH (
    FILE_TYPE = 'ORC'
    ,CREDENTIAL=(IDENTITY= 'Managed Identity')
)

如果我使用这样的通配符:

COPY INTO dbo.internal_heap
    FROM 'https://storageaccount.dfs.core.windows.net/folderA/folderB/*.orc'
    WITH (
        FILE_TYPE= 'ORC'
        ,CREDENTIAL=(IDENTITY= 'Managed Identity')
    )

我有这个错误:

Msg 110813, Level 16, State 1, Line 1
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex

有什么线索吗?

【问题讨论】:

    标签: azure-sqldw azure-synapse


    【解决方案1】:

    我从 Synapse 团队得到了答复。

    如果所有 ORC 文件名都从 'part-' 开始,您需要像这样指定您的位置:

    COPY INTO dbo.internal_heap
        FROM 'https://storageaccount.dfs.core.windows.net/folderA/folderB/part-*.orc'
        WITH (
            FILE_TYPE= 'ORC'
            ,CREDENTIAL=(IDENTITY= 'Managed Identity')
        )
    

    【讨论】:

      【解决方案2】:

      documentation 表明可以使用通配符,但确实提出了以下建议:

      为获得最佳性能,请避免指定会扩展的通配符 在大量文件上。如果可能,列出多个文件 位置而不是指定通配符。

      文档还声明“通配符扩展被应用递归...”所以我会猜想您的错误是因为您有多个文件夹而发生的?尝试删除同一父目录中的任何其他文件夹,就像调试练习一样。

      COPY INTO 仍处于预览阶段,因此此时可能会有一两个小错误。考虑通过 Azure 门户向 MS 提出支持请求。

      【讨论】:

      • 我没有嵌套文件夹所以是的,这很奇怪
      • COPY INTO btw 的性能如何?如果对您有帮助,请随时更新其他问题、点赞或标记为答案! :)
      • 当然我会更新另一个;)现在,就性能而言,我需要进一步使用 COPY INTO
      • 寻呼@RonDunn.
      • 快速更新性能。就 Polybase 而言,这或多或少是相同的。相同的文件,相同的卷,相同的结果。这里 24 分钟 6GB ORC 文件 (DW1000c/staticrc80)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 2013-06-26
      相关资源
      最近更新 更多