问题标签 [parallel-data-warehouse]
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.
flyway - 覆盖用于初始化 flyway 元数据表的默认脚本
我正在使用 Microsoft Parallel Data Warehouse 设备并尝试使用 flyway 来处理该环境中的表迁移。我遇到的问题是用于建立 schema_version 表的默认脚本失败。
据我所知,这是在调用基线()时执行的默认脚本。
具体来说,Microsoft Parallel Data Warehouse(现在已知的 MS PDW 或 APS)不支持具有默认约束的表达式。
消息 104338,级别 16,状态 1,行 1 表达式不能与默认约束一起使用。仅指定默认约束的常量。
当 GETDATE() 用作 installed_on 列的默认值时,这会导致错误。
ALTER TABLE 语句也将失败,因为 PRIMARY KEY 和 INDICES 在环境中的管理方式不同。
有没有办法覆盖 schema_version 的默认初始化脚本?
更新
进一步调查显示,尝试将记录插入 schema_version 表时会发生下一次故障。具体来说,当前实现尝试基于对 dbSupport.getCurrentUserFunction() 的调用来识别当前用户。对于 SQL Server,此函数是 SUSER_SNAME()。虽然此函数在标准 SQL Server 和并行数据仓库上都可用,但并行数据仓库的当前实现不允许在插入语句的值部分中调用函数。因此,返回以下错误:
当尝试的查询记录为:
更新 2
我现在有一个 flyway-core 分支,可以正确识别您是否连接到 SQL Server 与 SQL Server 并行数据仓库。我发现的另一个问题是 SQL Server PDW 不允许在事务中进行 DDL,因此基线尝试失败,因为这似乎是从事务模板中尝试的。最终,这从理解如何修改初始化脚本的问题演变为需要支持新的数据库平台。我已将其作为新问题提交到 github 上的 flyway repo上。
azure-sqldw - Azure 数据仓库 PolyBase 文件格式
我们有一个看起来像这样的文件:
因此,它具有以下“属性”:
- 逗号分隔
- 双引号列分隔符
- 某些列中的逗号
现在,我不确定是否真的可以使用 PolyBase 摄取它,但想知道是否有办法?
我们目前看到的错误是“ Could not find a delimiter after quote
”..我猜这是因为在双引号之后它达到了预期的分隔符..
为了完整起见,这是我们当前的文件格式:
parallel-data-warehouse - 如何从 Microsoft 并行数据仓库中提取 DDL?
请建议如何从 Microsoft Parallel Data Warehouse 生成脚本...
我已经尝试通过使用我的 PDW 凭据来使用 SSMS 2016……但我未能生成脚本……
问候,
阿布舍克
entity-framework - 连接到 Azure SQL 数据仓库数据库时出现“未知属性 PrimaryFilePath”错误
我尝试从 Microsoft Visual Studio Entity Framework Data Model Wizard 到 Azure SQL Data Warehouse 建立新的数据连接,但出现错误:
未能为此请求检索数据。未知属性 PrimaryFilePath
我可以成功“测试连接”。我也可以创建与主数据库的连接,但不能创建由我创建的连接。
问题在服务器资源管理器中连接到 SQL Azure 返回错误“未知属性 PrimaryFilePath”归咎于不匹配的排序规则,但
为服务器和数据库返回 SQL_Latin1_General_CP1_CI_AS。
作为一种解决方法(建议在Microsoft 论坛线程 failed-to-retrieve-data-for-this-request-unknown-property-primaryfilepath 上 )我从本地 SQL Server 上的 Azure SQL 数据仓库中重新创建表,并经过更多开发将尝试将实体框架数据模型重新连接到 Azure SQL 数据仓库。
有没有更好的方法来创建与 Azure SQL 数据仓库的数据连接并避免“未知属性 PrimaryFilePath”错误?
“属性 PrimaryFilePath”实际上是什么意思,我可以以某种方式指定它吗?
parallel-data-warehouse - 如何在并行数据仓库中编写多表联接的更新语句?
我在尝试在并行数据仓库中TableA
使用 Joining ofTableA
编写更新语句 On 时遇到困难,但它引发了异常。TableB
TableC
例如:简单示例
这可能是什么原因造成的?
unit-testing - tsqlt 可以与并行数据仓库一起使用吗?
看到需要启用 CLR 功能才能使用 tsqlt。我可以在 PDW 中实际使用它吗?
或任何其他方式或工具来对 PDW 执行单元测试?
谢谢,
sql - 对数据集市中的外键列使用 NULL 是否有任何性能影响
我们目前正在研究数据集市设计。我们有许多维度表的外键。我们正在考虑是否允许NULL
在外键维度字段中或使用-1来表示NULL
值。
Kimball 建议保留值的默认行NULL
。http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/Dimension-modeling-techniques/fact-table-null/
我的领导建议保持NULL
为NULL
.
NULL
保留外键字段会对性能产生影响吗?
azure - 文本处理 - 将固定宽度的文本文件转换为分隔符
我什至不确定我是否正确地提出了这个问题,但我会尝试 - 我有一堆从 Linux 系统上的 oracle 导出生成的巨大文本文件。每个文件大小约为 30 GB,我有大约 50 个。目标是将此数据导出到 Azure SQL 数据仓库。在这种情况下,BCP 不是保持数据大小的正确方法,所以我不得不使用 Polybase。从 ASCII 转换为 UTF8 编码后,我在查询外部表时遇到了问题。Polybase 不能很好地处理固定宽度的文本文件,每行都有换行符。
文本文件看起来像这样
Polybase 尝试处理从 101 到 107 的错误,并抱怨此文件中没有足够的列来处理。
这就是我认为正在发生的事情。固定宽度和换行符使其将换行符视为行分隔符。
如何将此文件转换为如下所示:
azure - 统计信息是否像 Azure 数据仓库中的散列一样帮助 JOINS 上的字段?
在 Azure 数据仓库中,建议对计划加入甚至可能聚合的字段上的分布式表使用 HASH。还建议您在计划使用的字段上创建统计信息。
假设您有两个具有相同数量的记录和字段的表。一个表在一个非常唯一的键上散列,另一个是 ROUND_ROBIN,其中数据在 60 个数据库中随机平均分配。
在散列表上,如果您对散列键进行聚合,您可以看到它在 0.05 秒内返回结果。在轮询表上,使用相同的聚合,它是 0.51 秒。
当您将统计信息应用于您正在聚合的字段时,散列表仍会在 0.05 秒内返回。没变。当您对循环表执行相同操作时,结果会在 0.05 秒内返回到与哈希值相同的状态。
注意:2000 DWU 在 xlarge 资源中运行查询(最大内存分配)
在检查散列键的分布时,我发现 1.4 亿条记录存储在 60 个数据库的一个分布中。5000 万条其他记录相当均匀地分布在其他 59 个数据库中。默认值是使我的散列键不适合散列。
我的问题是,虽然带有统计信息的循环表在我与另一个表散列的同一字段上表现出色,但当我在 JOINS 上使用该键的循环时,相同的性能会保持不变吗?我还没有完全测试它,但正在寻找最好的方法。
统计信息对联接有帮助吗?我读过的一些文章说他们这样做,但是在考虑对分发密钥进行循环时,看看其他人是否对这种方法有更可靠的答案。我真的没有任何好的候选人不会像我上面的例子中的 1.4 亿那样导致数据倾斜。
mysql - SQL:选择语句中聚合函数的算术运算显示错误信息
我正在处理有关收集 Microsoft Parallel 数据仓库 (PDW) 上的一些数据的查询。
部分查询如下——
显然查询没有显示任何错误。它运行成功,但所有列中的数据都正确,但 SkewPct 仅显示零。
请帮我解决这个问题!