问题标签 [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.
azure-sql-database - 如何将共享点列表或 excel 文件移动到 azure sql dw?
我想使用 azure datafactory 或替代服务将数据从 sharepoint 复制到 microsoft azure sql DW。我可以这样做吗。请任何人帮我解决这个问题。
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)
我将 1000 条记录加载到 5 个单独的阶段表(stage1、stage2 等)中
/li>我创建了 5 个事实表(fact1、fact2 等)。每个表具有与 stage 相同的 4 列,并在第一列上使用散列分布。我没有包含列存储索引(请记住,这只是一个测试)
/li>我创建了 5 个存储过程,将数据从阶段插入到事实中。
/li>在 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 在内部做什么时,我们将不胜感激。
谢谢
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;
请帮助我解决问题。
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 工作负载。
附录 - 示例查询计划
azure-sqldw - 创建计划作业 SQL 数据仓库
我们正在使用 polybase 将数据从 azure blob 存储加载到 Sql Datawarehous。我们如何安排工作,以便可以定期更新而无需手动操作?
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 代码
更新
我发现了一个类似的帖子,我可以根据自己的需要进行调整,我发誓在发布之前我搜索了高低。无论如何,这对我有用。如果您仍然看到要改进它,请分享:
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].,},],'.
任何指针将不胜感激。
azure-sqldw - Azure SQL 数据仓库 CTAS 统计信息
SQL 数据仓库中的“创建表为”功能是在后台创建统计信息,还是必须手动创建(就像我在执行普通的“创建表”语句时一样?)
jdbc - Azure SQL 数据仓库连接字符串的参数中的空格
我现在正在将我的 Azure SQL 数据仓库上的 JDBC 连接字符串升级到新规范,特别是向其中添加以下内容:Application Name=MyApp
.
这是我的问题。我使用以下字符串连接到我的服务器:
如果我将应用程序名称添加到我的字符串中,它将变为以下内容:
看到 和 之间的空间了Application
吗Name
?
我的问题是——这对吗?我是否需要将该空间编码为类似的东西%20
?
如果连接字符串是 URL,他们在 Microsoft 文档中没有提到这种必要性。
编辑 1:我发现了一些与 JDBC 连接字符串相关的东西,但它没有指定任何可能包含空格的参数:https ://azure.microsoft.com/en-us/documentation/articles/sql-data-仓库连接概述/
编辑 2:在这里找到这个
转义连接 URL 中的值 由于包含特殊字符(例如空格、分号和引号),您可能必须转义连接 URL 值的某些部分。如果这些字符括在大括号中,则 JDBC 驱动程序支持对它们进行转义。例如,{;} 转义分号。转义值可以包含特殊字符(尤其是 '='、';'、'[]' 和空格),但不能包含大括号。必须转义并包含大括号的值应添加到属性集合中。
sql - 不使用 CTE 的父子层次结构路径
嗨,我有以下表格:
在这里,一个特征可以有另一个特征作为父级,也可以有一个场景作为父级。对于场景,父 ID 可以是 0,也可以是其他场景。
我想获得每个功能的路径如下:
由于我想将此结果收集到临时表中以进行进一步处理,因此我尝试了select into
Azure 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#中的解决方案