azure-sql-data-warehouse - 分区管理策略
问题描述
我正在使用 Azure SQL 数据仓库中的表分区做一些 PoC 工作。我已多次阅读有关表分区的可用文档(https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-partition),但有点想出一个完整的策略来解决我的问题集,这似乎很常见。
在我的情况下,我基本上想要一个分区列中的每个唯一值的分区 - 我们称之为日期。随着时间的推移,我将获得新的值(需要新的分区),并且我还需要每天多次替换一个或多个分区的内容,同时尽量减少对用户的潜在影响。我遵循标有“表分区源代码控制”的部分作为初始分区设置的策略。我认为每天需要多次替换某些分区意味着我需要一个相同/空的临时表,我可以清除/加载然后使用分区交换。我觉得我缺少的策略的一些要素是(我知道这里有几个问题 - 我将它们混为一谈,以防我缺少一些总体方面):
当我正在处理新 Date 值的数据时,我将如何检查我是否已经有该值的分区?只需执行 SPLIT RANGE 并吞下“正在添加的边界值已存在”错误(如果发生)?
加载登台表时,在我确认存在我正在处理的 Date 的分区后,我听说清除分区最有效的方法是 DROP 分区(而不是 delete.. .where date='') 为了避免事务记录...我看到了 SQL 的记录语法,但没有看到 SQL 数据仓库?
我看到了交换分区的语法——它似乎要求你知道要交换的分区号。你如何找出分区号 Date X 是什么(我看到一些与分区相关的视图,但不能完全放在一起你如何得到partion_number,给定表名和值)?
解决方案
推荐阅读
- php - 创建可在各种元素/类中的可重用 ACF 字段
- android - 如何在开发板上升级android sdk版本?
- python-3.x - 在熊猫 csv 读取时处理未知数量的列
- angular - 识别订阅中 concat 的特定 observable
- java - UrlUtil.encodeQuery/URIUtil.decode 有什么替代品吗?
- tensorflow - tf.keras.layers.LSTM 的 initial_state 的输入形状
- objective-c - macOS Catalina 中的文件图标更改为应用程序图标
- angular - 如何从规范文件角度7中的组件访问窗口对象
- windows - 遇到 NUL 字符时停止拆分大型 CSV 文件
- javascript - React Native TypeScript:无法解析模块(但它存在)