USQL:直接输出到SQLDB

U SQL: direct output to SQL DB

有没有办法将 U-SQL 结果直接输出到 SQL 数据库,例如 Azure SQL 数据库?找不到太多相关信息。

谢谢!

U-SQL 当前仅输出到文件或内部表(即 ADLA 数据库中的表),但您有几个选择。 Azure SQL 数据库最近获得了使用 BULK INSERTOPENROWSET 从 Azure Blob 存储加载文件的能力,因此您可以尝试一下。 This article 显示语法并提醒:

Azure Blob storage containers with public blobs or public containers access permissions are not currently supported.

wasb://<BlobContainerName>@<StorageAccountName>.blob.core.windows.net/yourFolder/yourFile.txt

BULK INSERTOPENROWSET 与 Azure Blob 存储显示如下:

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2017/02/23/loading-files-from-azure-blob-storage-into-azure-sql-database/

您还可以使用 Azure 数据工厂 (ADF)。它的副本 Activity 可以分两步将数据从 Azure Data Lake Storage (ADLS) 加载到 Azure SQL 数据库:

  1. 执行在 ADLS 中创建输出文件的 U-SQL 脚本(ADF 目前不支持将内部表作为源)
  2. 将数据从 ADLS 移动到 Azure SQL 数据库

作为最后的选择,如果您的数据可能会进入更大的容量(即太字节 (TB)),那么您可以使用支持 Polybase 的 Azure SQL 数据仓库。Polybase 现在支持 Azure Blob 存储和ADLS 作为来源。

也许如果您能告诉我们更多关于您的流程的信息,我们可以优化这些选项中最适合您的选项。