生成标识符的最佳方法?
Best way to generate identifiers?
我将增量插入行到 table。 table 存储销售事实,并有一些列将用于定义标识符:业务 ID (int)、产品名称 (string)、产品价格 (float)。例如。 <1, 喜力, 1.0>, <1, 喜力, 22.99>.
当然,这些值将用于连接。在考虑 SQL 方式时,我会使用这些列创建一个散列列。这样,我就可以优化一些查询。
数据湖和u-sql怎么样?我应该在插入时计算哈希值吗?我应该保持原样吗?我应该简单地连接这些值并创建一个大字符串吗?
提前致谢。
虽然 U-SQL 支持多列上的集群和分布方案,但如果您找到一个有效的值来进行 equi-join 比较,您可能会在联接中获得一些额外的性能。所以你可以计算散列或连接。
不过,我认为找到合适的分布方案和集群更好"bang for your buck"。
而且,更重要的是,请不要增量插入少量行,而是同时(例如每天或每周)批量插入许多行。并定期重建 table 或 table 分区以避免 table 碎片,这会对您的查询性能产生更大的影响。
我将增量插入行到 table。 table 存储销售事实,并有一些列将用于定义标识符:业务 ID (int)、产品名称 (string)、产品价格 (float)。例如。 <1, 喜力, 1.0>, <1, 喜力, 22.99>.
当然,这些值将用于连接。在考虑 SQL 方式时,我会使用这些列创建一个散列列。这样,我就可以优化一些查询。
数据湖和u-sql怎么样?我应该在插入时计算哈希值吗?我应该保持原样吗?我应该简单地连接这些值并创建一个大字符串吗?
提前致谢。
虽然 U-SQL 支持多列上的集群和分布方案,但如果您找到一个有效的值来进行 equi-join 比较,您可能会在联接中获得一些额外的性能。所以你可以计算散列或连接。
不过,我认为找到合适的分布方案和集群更好"bang for your buck"。
而且,更重要的是,请不要增量插入少量行,而是同时(例如每天或每周)批量插入许多行。并定期重建 table 或 table 分区以避免 table 碎片,这会对您的查询性能产生更大的影响。