问题标签 [azure-sqldw]

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 回答
2618 浏览

azure-sql-database - 如何将共享点列表或 excel 文件移动到 azure sql dw?

我想使用 azure datafactory 或替代服务将数据从 sharepoint 复制到 microsoft azure sql DW。我可以这样做吗。请任何人帮我解决这个问题。

0 投票
1 回答
552 浏览

azure - 测试 Azure SQL DW 并发在内部显示 Azure 没有同时运行过程

我已阅读 SQL 数据仓库中的 Azure 并发和工作负载管理 https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-develop-concurrency/ 并了解对数量的限制可以根据规模使用的并发查询,但我无法理解并因此在这里提出的问题是,在测试文档状态时,我无法得到 Azure 声称的结果是真的。并发运行查询所花费的时间几乎与串行运行它们一样长。

示例 这是一个测试示例(只是一个测试) 我有 5 个存储过程,当它们单独运行时,它们每个大约需要 1 秒才能完成。因此,当我连续运行所有 5 个存储过程时,它们大约需要 5 秒,这是可以预料的,但是当我同时运行所有 5 个存储过程时,我希望它们在 1 秒多一点的时间内完成,但它们大约需要 4.5-4.7 秒才能完成。

一些 Azure 专家可以解释可能发生的情况吗?

我认为这可能是资源争用,但 sys.dm_pdw_resource_waits 在 5 个存储过程运行时显示没有阻塞。

当我运行 sys.dm_pdw_exec_requests 时,我看到所有 5 个 exec sproc 查询都在几毫秒内提交。Start_time 和 End_compile_time 也是如此。所有 5 个 sproc 的 end_time 再次在几毫秒内,但 Total_elapsed_time 接近 5000 毫秒,而不是预期的 1000 毫秒。如果我自己运行任何 sproc,则持续时间约为 1000 毫秒。就好像并发将同时启动所有 5 个存储过程,但在内部它们排队并按顺序运行。我最初是在一个有 8 个插槽的 DW200 上测试的,这对于我的 5 个存储过程来说应该足够了。为了安全起见,我扩展到 DW1000,它允许我最多 32 个并发查询(我使用的是 smallrc),但这对这个问题没有帮助。

这是我测试的方法(使用 DW1000)

  1. 我将 1000 条记录加载到 5 个单独的阶段表(stage1、stage2 等)中

    /li>
  2. 我创建了 5 个事实表(fact1、fact2 等)。每个表具有与 stage 相同的 4 列,并在第一列上使用散列分布。我没有包含列存储索引(请记住,这只是一个测试)

    /li>
  3. 我创建了 5 个存储过程,将数据从阶段插入到事实中。

    /li>
  4. 在 C# 中,我创建了一个快速测试方法,它创建 5 个连接、命令并使用 BeginExecuteReader/EndExecuteReader 来执行存储过程。(这只是一个测试,所以请原谅样式/代码)

    /li>

在调试此 C# 代码时,每条语句都小于 1ms,直到我到达行 reader1 = cmd1.EndExecuteReader(result1); 在这里它将等待 4-5 秒,然后继续前进,之后的每一行都很快(<1ms)。

在此延迟期间,如果我从 sys.dm_pdw_exec_requests 运行 select *,我会看到所有 5 个请求都已排队并正在运行。如果我继续重新运行查询持续时间不断增加,那么突然(大约 5 秒)所有 5 个查询都说它们已完成。

在解释我做错了什么或 Azure SQL DW 在内部做什么时,我们将不胜感激。

谢谢

0 投票
1 回答
1511 浏览

java - 使用 JDBC 连接到 Azure SQL 数据仓库时出现 SQLException

我正在尝试通过 JDBC 连接到 Azure SQL 数据仓库。我收到以下异常。

*

*

我在这里看到了关于连接到 SQLServer DB 的类似问题。

我将数据库配置为允许使用此处的过程访问我的 IP 。

请检查以下代码:

总连接字符串为

jdbc:sqlserver://databaseserver.database.windows.net:1433;database=databaseserver;user=username@databaseserver;password=password;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout= 30;

请帮助我解决问题。

0 投票
1 回答
2392 浏览

azure-sqldw - Azure SQL 数据仓库的简单性能测试

我们正在努力将现有应用程序移植到 Azure SQL 数据仓库。为了更好地了解 Azure SQL 数据仓库的性能/工作负载管理特性/功能,我设置了一个我认为非常简单的测试。

我加载了一个静态表,我们的业务日历,包含大约 20k 行(即对于并行数据仓库来说非常小)。然后,我使用如下模式生成了该单个表的所有可能查询:

吉文斯:

  • DWU 设置为 1000。
  • 启动了 35 个并发线程。
  • 在 small_rc 中运行的所有线程。(即,每个查询使用 1 个插槽。)
  • 使用带有初始连接的 sqlcmd,然后在每次 SELECT 后提交
  • 在通过 Express 路由连接的非 Azure VM 上运行。选择外部 SELECT COUNT() 构造以确保网络流量最小。
  • 堆表的使用提供了比默认列存储更好的结果(如预期的那样)。(需要使用聚集索引进行测试。)
  • 表按主键列分布。

背景/偏见 - 我曾与许多其他 MPP 数据库合作过。

结果

  • 查询在 10-20 秒内运行,这比我对这种简单工作的预期要长得多。
  • 当我提交每个线程时,我在每个新线程之间睡觉。初始查询运行得更快,随着线程数增加到 35,平均运行时间急剧下降。

我如何理解存在什么瓶颈?

当然,我会在其他 DWU 设置下重新运行测试,看看它是否会影响专门的 small_rc 工作负载。

附录 - 示例查询计划

0 投票
1 回答
972 浏览

azure-sqldw - 创建计划作业 SQL 数据仓库

我们正在使用 polybase 将数据从 azure blob 存储加载到 Sql Datawarehous。我们如何安排工作,以便可以定期更新而无需手动操作?

0 投票
3 回答
2692 浏览

c# - SSIS 2015 脚本任务在 C# 或 VB 中将文本文件转换为 UTF8

我想将生成的 txt 文件转换为 UTF8 格式的文件,以便可以通过 Polybase 将其加载到我的 Azure SQL DW 中。要求源文件为 UTF8。

MSDN 有一个“IO 流示例” HERE非常适合单个作业。不过,我正在尝试为大约 30 个表构建一个 SSIS 解决方案。我相信使用这种方法会导致竞争条件,当另一个 SSIS 包需要它时,PS 脚本将被 1 个 SSIS 包锁定。

我是 sql 开发人员,而不是 .NET 开发人员,所以请原谅我。假设我知道如何将参数传递给脚本任务,如何将上述内容转换为 SSIS C# 脚本任务?

来自 MSDN 的 PowerShell 代码


更新

我发现了一个类似的帖子,我可以根据自己的需要进行调整,我发誓在发布之前我搜索了高低。无论如何,这对我有用。如果您仍然看到要改进它,请分享:

0 投票
1 回答
2037 浏览

azure-data-factory - 当我尝试使用 DataFactory 将数据从 Azure Blob 复制到 SQL Datawarehouse 时出现异常

我创建了一个使用 Copy 活动将数据从 Blob 移动到 SQL Datawarehouse 的管道。

当我执行管道时,出现以下错误:

数据库操作失败。
来自数据库执行的错误消息: ErrorCode=FailedDbOperation,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=将数据加载到 SQL 数据仓库时发生错误。,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,消息=110802;发生内部 DMS 错误,导致此操作失败。详细信息:异常:Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess.HdfsAccessException,消息:调用 HdfsBridge_CreateRecordReader 时引发 Java 异常:错误 [HdfsBridge::CreateRecordReader - 创建记录读取器时遇到意外错误。] 访问外部文件时发生 [ /hive/warehouse/tradesummary/000000_0][0].,Source=.Net SqlClient 数据提供者,SqlErrorNumber=110802,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=110802 ,状态=1, 消息=110802;发生内部 DMS 错误,导致此操作失败。详细信息:异常:Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess.HdfsAccessException,消息:调用 HdfsBridge_CreateRecordReader 时引发 Java 异常:错误 [HdfsBridge::CreateRecordReader - 创建记录读取器时遇到意外错误。] 访问外部文件时发生 [ /hive/warehouse/tradesummary/000000_0][0].,},],'.

任何指针将不胜感激。

0 投票
1 回答
241 浏览

azure-sqldw - Azure SQL 数据仓库 CTAS 统计信息

SQL 数据仓库中的“创建表为”功能是在后台创建统计信息,还是必须手动创建(就像我在执行普通的“创建表”语句时一样?)

0 投票
1 回答
240 浏览

jdbc - Azure SQL 数据仓库连接字符串的参数中的空格

我现在正在将我的 Azure SQL 数据仓库上的 JDBC 连接字符串升级到新规范,特别是向其中添加以下内容:Application Name=MyApp.

这是我的问题。我使用以下字符串连接到我的服务器:

如果我将应用程序名称添加到我的字符串中,它将变为以下内容:

看到 和 之间的空间了ApplicationName

我的问题是——这对吗?我是否需要将该空间编码为类似的东西%20

如果连接字符串是 URL,他们在 Microsoft 文档中没有提到这种必要性。

编辑 1:我发现了一些与 JDBC 连接字符串相关的东西,但它没有指定任何可能包含空格的参数:https ://azure.microsoft.com/en-us/documentation/articles/sql-data-仓库连接概述/

编辑 2:在这里找到这个

转义连接 URL 中的值 由于包含特殊字符(例如空格、分号和引号),您可能必须转义连接 URL 值的某些部分。如果这些字符括在大括号中,则 JDBC 驱动程序支持对它们进行转义。例如,{;} 转义分号。转义值可以包含特殊字符(尤其是 '='、';'、'[]' 和空格),但不能包含大括号。必须转义并包含大括号的值应添加到属性集合中。

0 投票
2 回答
5229 浏览

sql - 不使用 CTE 的父子层次结构路径

嗨,我有以下表格:

在这里,一个特征可以有另一个特征作为父级,也可以有一个场景作为父级。对于场景,父 ID 可以是 0,也可以是其他场景。

我想获得每个功能的路径如下:

由于我想将此结果收集到临时表中以进行进一步处理,因此我尝试了select intoAzure SQL DW throwsUsing SELECT INTO statement is not supported in Parallel Data Warehouse. Modify the statement and re-try executing it.

这是我的查询(可能不是很好,因为我仍在计算递归 sql)

我试图将 CTE 转换为使用CTAS,但这也不起作用。

这就是我尝试 CTAS 的方式:

现在我想知道是否有一种方法可以获取每个功能的路径Azure SQL DW并将结果收集到表格中。

- 更新 -

有关 SQL 中的解决方案,请参阅此

这是C#中的解决方案