标签: polybase

由于内部错误,外部表访问失败:'调用 HdfsBridge_IsDirExist 时引发 Java 异常。Java异常消息:

我正在尝试在 Visual Studio 2015 上使用以下语法通过 polybase 创建外部表。它给了我以下错误。有人可以帮忙解决这个问题吗

CREATE EXTERNAL TABLE dbo.DimDate2External (
    DateId INT NOT NULL,
    CalendarQuarter TINYINT NOT NULL,
    FiscalQuarter TINYINT NOT NULL
)
WITH (
    LOCATION='/textfiles/DimDate2.txt',
    DATA_SOURCE=AzureStorage,
    FILE_FORMAT=TextFile
);

CREATE EXTERNAL DATA SOURCE AzureStorage
WITH ( 
    TYPE = HADOOP, 
    LOCATION = 'wasbs://<blob_container_name>@<azure_storage_account_name>.??blob.core.windows.ne??t', 
    CREDENTIAL = AzureStorageCredential
    ); 

CREATE EXTERNAL FILE FORMAT TextFile WITH ( FORMAT_TYPE = DelimitedText, FORMAT_OPTIONS (FIELD_TERMINATOR = ',') );
Run Code Online (Sandbox Code Playgroud)

由于内部错误,外部表访问失败:

'调用 HdfsBridge_IsDirExist 时引发 Java 异常。Java 异常消息:com.microsoft.azure.storage.StorageException:服务器无法对请求进行身份验证。确保 Authorization 标头的值包括签名的格式正确。:错误 [com.microsoft.azure.storage.StorageException:服务器无法对请求进行身份验证。确保 Authorization 标头的值正确形成,包括签名。] 访问外部文件时发生。

azure azure-sqldw azure-sql-database polybase

5
推荐指数
2
解决办法
1万
查看次数

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

今天我发现了另一个名为Azure 数据资源管理器 (ADX) 的Azure 服务。很抱歉这样的服务比较,除了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)。

azure azure-sqldw databricks polybase azure-data-explorer

5
推荐指数
1
解决办法
2833
查看次数

使用Polybase的Azure SQL DW到Azure SQL DW

我知道您可以使用外部表格使用polybase将大量数据从Blob存储加载到Azure SQL DW.但有没有可能我们可以直接使用polybase将数据从SQL DW导入另一个SQL DW?或者还有其他方式吗?必须有一些方法来避免SQL DW中的控制节点.

azure azure-storage-blobs azure-sqldw polybase

4
推荐指数
1
解决办法
419
查看次数

在 Azure SQL Server 上安装和配置 Polybase - 找不到存储过程“sp_configure”

我正在尝试设置一个 PolyBase (外部)表,其中的数据

  • Azure SQL Server 数据库托管在 Azure SQL Server 上(通过门户进行设置)
  • Azure Blob 存储(CSV 数据)

SQL 服务器版本:

Microsoft SQL Azure (RTM) - 12.0.2000.8   Nov  2 2018 21:17:06
Run Code Online (Sandbox Code Playgroud)

动机是运行一些连接两个数据源的查询。

Azure SQL Server 是否附带 PolyBase 设置?我不知道如何从这些文档中提到的 azure 控制台启用“外部数据的 Polybase 查询服务”

当我尝试通过 SQL Server Management Studio 运行这些配置步骤以启用 Polybase 和设置连接时:

exec sp_configure @configname = 'polybase enabled', @configvalue = 1;
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

找不到存储过程“sp_configure”

还运行此查询

 SELECT SERVERPROPERTY ('IsPolyBaseInstalled') AS IsPolyBaseInstalled;  
Run Code Online (Sandbox Code Playgroud)

返回 -0

但是,我可以运行这些查询并创建外部数据源

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';  

CREATE DATABASE SCOPED CREDENTIAL …
Run Code Online (Sandbox Code Playgroud)

sql-server azure-sql-database polybase

4
推荐指数
1
解决办法
2051
查看次数

sqldumper 错误导致 C 盘变满

我已经按照本指南安装了 Microsoft SQL Server 2019 。建议在 10:30 将用户数据库目录、用户日志目录和备份目录从默认更改为驱动器 D 上的目录。

现在我在生成转储文件 C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log\Polybase\dump

这是来自的片段SQLDUMPER_ERRORLOG.log

(9E04:9E08) 12/08/19 21:19:45, ACTION, SQLDUMPER_UNKNOWN_APP.EXE, AdjustTokenPrivileges () completed with status (00000514)
(9E04:9E08) 12/08/19 21:19:45, ACTION, SQLDUMPER_UNKNOWN_APP.EXE, Input parameters: 4 supplied
(9E04:9E08) 12/08/19 21:19:45, ACTION, SQLDUMPER_UNKNOWN_APP.EXE,   Parameter 1: 25340
(9E04:9E08) 12/08/19 21:19:45, ACTION, SQLDUMPER_UNKNOWN_APP.EXE,   Parameter 2: 0
(9E04:9E08) 12/08/19 21:19:45, ACTION, SQLDUMPER_UNKNOWN_APP.EXE,   Parameter 3: 0:0
(9E04:9E08) 12/08/19 21:19:45, ACTION, SQLDUMPER_UNKNOWN_APP.EXE,   Parameter 4: 00007FF62791B360
(9E04:9E08) 12/08/19 21:19:45, ACTION, SQLDUMPER_UNKNOWN_APP.EXE, Parsed parameters:
(9E04:9E08) …
Run Code Online (Sandbox Code Playgroud)

sql-server logging ssis polybase

3
推荐指数
1
解决办法
9037
查看次数

在查询特定列的外部表时,列名称也显示为一行

我在azure data lake store中有一个文件.我正在使用polybase将数据从数据湖存储移动到数据仓库.我按照这里提到的所有步骤进行了操作.

假设我创建了外部表作为External_Emp,它有3列:ID,Name,Dept.

当我运行以下查询时:

select * from External_Emp;
Run Code Online (Sandbox Code Playgroud)

然后,它向我显示所有正确的记录.但是当我选择特定的列/列时,它会在一行中显示列名.例如,如果我运行以下查询:

select Name from External_Emp;
Run Code Online (Sandbox Code Playgroud)

然后输出是:

Name
-----
Name
1
2
3
Run Code Online (Sandbox Code Playgroud)

而输出应该是:

Name
------
1
2
3
Run Code Online (Sandbox Code Playgroud)

同样,当我运行查询时:

select ID, Name from External_Emp;
Run Code Online (Sandbox Code Playgroud)

然后它显示以下输出:

ID | Name
---------
ID | Name
1  | abc
2  | xyz
3  | pqr
Run Code Online (Sandbox Code Playgroud)

而输出应该是:

ID | Name
--------
1  | abc
2  | pqr
3  | xyz
Run Code Online (Sandbox Code Playgroud)

为什么在单独的行中显示列名?那是一个错误吗?

我多次检查azure数据湖中csv文件中的数据.它没有重复的列名.谢谢.

azure azure-sqldw azure-data-lake polybase sql-data-warehouse

2
推荐指数
1
解决办法
76
查看次数

如何存在Drop Poly Base外部表?

我已经通过poly-base将Azure blob存储中的文件数据加载到Azure SQL DW外部表.现在,Blob容器中的文件已更新.现在我想加载新数据.任何人都可以建议如何通过poly base将新数据加载到外部表.我正在尝试删除外部表(如果存在)并再次创建它以加载新数据.

external-tables azure-sqldw polybase

1
推荐指数
1
解决办法
2306
查看次数