问题标签 [polybase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
419 浏览

azure-sql-database - 为什么 SQL Server 2019 与 Azure SQL 数据库中的外部表语法不同?`

我必须在 SQL Server 2019 和 Azure SQL 中执行跨数据库查询。我能够在两个数据库中创建外部数据源和外部表,但是语法似乎不同。如果有一个标准脚本可以在这两种情况下工作,有人可以指导我吗?

Azure SQL 数据库

  • 外部数据源

    创建外部数据源 SQLServerInstance2

    和 (

    类型=关系型数据库,

    LOCATION='sourcesqlserver.database.windows.net',

    DATABASE_NAME='sourcedb',

    CREDENTIAL= SQLServerCredentials ) ;

  • 外部表

    创建外部表 [dbo].[SourceTable] ( Col1 INT NULL, Col2 INT NULL )

    WITH (DATA_SOURCE = [SQLServerInstance2])

SQL Server 2019

  • 外部数据源

    创建外部数据源 SQLServerInstance2

    WITH ( LOCATION = 'sqlserver://WINSQL2019:58137' , CREDENTIAL = SQLServerCredentials ) ;

  • 外部表

    创建外部表 [dbo].[SourceTable] ( Col1 INT NULL, Col2 INT NULL )

    WITH (DATA_SOURCE = [SQLServerInstance2],LOCATION = N'[SourceDB].[dbo].[SourceTable]')

0 投票
1 回答
343 浏览

azure - Azure SQL 数据仓库 Polybase 查询到 Azure Data Lake Gen 2 返回零行

为什么对 Azure Data Lake Gen 2 的 Azure SQL 数据仓库 Polybase 查询会为单个文件源返回多行,但为父文件夹源返回零行?

我建立:

  • 万能钥匙(CREATE MASTER KEY;)
  • 凭据 (CREATE DATABASE SCOPED CREDENTIAL) - 使用 ADLS Gen 2 帐户密钥
  • 外部数据源(CREATE EXTERNAL DATA SOURCE)
  • 文件格式(创建外部文件格式)
  • 外部表(创建外部表)

当我的外部表指向特定文件时,一切正常,即

返回了很多行,因此我相信上面提到的所有项目都配置正确。

Azure Data Lake Gen 2 中的 Time 文件夹包含许多文件,而不仅仅是 time001.txt。当我将外部表更改为指向文件夹而不是单个文件时,查询返回零行,即

返回零行

我试过了:

  • LOCATION = '/时间/',
  • 位置 = '/时间',
  • 位置='时间/',
  • 位置='时间',

但总是零行。我还按照https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-load-from-azure-data-lake-store上的说明进行操作

我测试了文件夹中的所有文件,并分别返回多行数据。

我从 Blob 存储而不是 ADLS Gen2 中查询了所有文件,并且“文件夹”查询按预期返回所有行。

如何使用 Azure SQL 数据仓库和 Polybase 从 Azure Data Lake Gen2 存储中“作为一个”查询文件夹中的所有文件?

0 投票
1 回答
813 浏览

orc - Azure SQL 数据仓库 (Synapse Analytics) 使用 ORC 表的 Polybase 性能

我在 Azure 存储帐户(带 ADLS Gen2 功能)上使用 Spark(Databricks)生成了一个 ORC 表(使用 Snappy 压缩)。这个 ORC 代表大约 12 GB 的数据(12 亿行)。该表有 32 列。

生成后,我使用 Polybase 将该文件加载到 Synapse Analytics 表中的内部表中。

这是我使用不同配置的结果:

  • DW100c / smallrc = 3h52
  • DW400c / smallrc = 1h50
  • DW400c / xlargerc = 1h58
  • DW1000c / xlargerc = 0h50
  • DW1500c / xlargerc = 0h42

当我查看存储帐户入口/出口时,我看到了几分钟内的活动(可能是为了在 Synapse 节点之间复制 ORC 文件)......然后 Synapse 资源开始受到压力。我看到 CPU 活动了一段时间,然后内存慢慢增加,缓慢,...

这里的内存(红色)和 CPU 最大百分比(蓝色)示例:

在此处输入图像描述

我需要再次扩大规模吗?我认为这不是网络吞吐量的 pb。或者可能是配置问题?关于 Polybase,我不明白为什么这么慢。Polybase 有望快速摄取 TB 的 ORC 数据!

BR,A.

编辑:DWU 使用

在此处输入图像描述

0 投票
2 回答
489 浏览

sql-server - 无法将 polybase 连接到 Oracle

我尝试通过 Polybase 将我的 SQL Server 2019 连接到 Oracle。

我已经卸载了 polybase 服务并重新安装了它。我还将我的 SQL Server 更新到了最新的 CU。

从服务器本身,我无法通过 odbc 或 DBEAVER 毫无问题地连接到 oracle 服务器本身。

感谢您的任何提示

0 投票
1 回答
122 浏览

sql-server - Polybase 无法在 XLSX 目标上放置 WHERE 条件

我的 T-SQL 查询中的WHERE条件没有返回任何行,从 SQL 2019 polybase 到 .XLSX 文件

这是我创建 Polybase 的代码:

此查询有效:

但是,这不会:

尽管有一位名叫 Steve 的客户,但该查询不返回任何行。

0 投票
0 回答
197 浏览

python - 通过 SFTP 以 UTF-8 格式上传到 blob

我正在通过 SFTP 将一些平面文件上传到 blob 存储。当我使用 polybase 时,我需要将它们转换为 UTF-8 格式。在上传到 blob 之前,是否可以将文件从 ANSI 转换为 UTF-8。我正在使用 python 上传,但无法转换为 UTF-8。请指教。谢谢

下面是我使用的代码

0 投票
1 回答
100 浏览

azure - 在不知道列顺序的情况下通过 Polybase 摄取 CSV 文件

我正在尝试使用 Polybase 将一些 CSV 文件从 Azure Data Lake 摄取到 Azure Synapse。每个 CSV 文件中有一组固定的列,列名在第一行给出。但是,这些列可以以不同的顺序出现。

在 Polybase 中,我需要声明外部表,我需要在设计时知道列的确切顺序,因此我无法创建外部表。还有其他方法可以摄取 CSV 文件吗?

0 投票
2 回答
2028 浏览

sql-server - 将 ADLS Gen 2 中的数据加载到 Azure Synapse

我正在尝试使用 polybase 外部表功能将 Parquet 文件从 ADLS Gen2 加载到 Synapse。

下面是代码,但是在运行 create external table 命令时,查询永远不会完成。在取消查询执行时,我看到了这个错误 -

由于内部错误,外部文件访问失败:“访问 HDFS 时发生错误:调用 HdfsBridge_IsDirExist 时引发 Java 异常。Java 异常消息:HdfsBridge::isDirExist - 检查目录是否存在时遇到意外错误:UnknownHostException: ''.azuredatalakestore.dfs.core.windows.net'

SQL查询

0 投票
1 回答
409 浏览

sql-server - 在外部表中找不到 SQL Server 2019 Polybase MongoDB 用户定义列

我正在 SQL Server 2019 中针对 Azure CosmosDB (MongoDB API) 设置 Polybase,但我无法创建外部表。

我在 Cosmos DB 中创建了一个示例文档,定义如下:

从 Azure 门户截取样本收集

当我运行以下语句时:

我收到一条消息:

连接似乎很好。如果我更改 Sales.Product,我将收到一条消息,表明表不存在。

0 投票
2 回答
3634 浏览

azure - Azure 数据资源管理器 (ADX) 与 Polybase 与 Databricks

问题

今天我发现了另一个 Azure 服务,称为Azure Data Explorer (ADX)。很抱歉这样的服务比较,除了ADX,我对所有的都很了解。我觉得有一个很大的功能覆盖,所以想知道 ADX 在 Azure 基础架构中的确切作用。

当 ADX 明显优于 Synapse/Databricks 时,用例是什么?

我对 ADX 的理解

AFAIK,ADX 是一个集群(按小时计费,如 Databricks 或 Synapse,不像 ADLA),它为您处理数据库,并针对大规模流式摄取和即席查询进行了优化。它还支持性能更差但更便宜的外部表(您需要为 Blob/ADLS 存储付费)。

细节

我不明白为什么我们需要 ADX,如果:

  1. Azure Synapse 具有类似的定价模型(集群、每小时),它还支持大规模流式摄取和临时查询。Azure Synapse 支持通过 Polybase 外部表查询 BlobStorage/ADLS。
  2. Databricks 是另一项能够做到这一点的服务。使用 Databricks Ingest 和 Delta Lake - 您可以摄取流式数据并以两种方式使用它们:流式传输和批处理方式。实际上,您可以拥有可以为您处理临时查询的交互式集群。
  3. 此外,如果您想要实时分析 - 使用 Azure 流分析。如果您想要类似 Athena 的体验 - 使用 ADLA(仍然不支持 ADLS gen2)。