星型模式,代理键

时间:2017-03-16 13:53:54

标签: azure-data-lake u-sql

我们有大而宽的平面文件和遥测数据。他们每天都到达。

我将在ADLA DB中创建星型模式,其中将填充来自这些大型文件的数据。 (看起来像ADLA DB提供了许多功能(与原始ADLS相反):索引,统计,压缩,分发管理......)

要生成代理键,我们可以使用:

  1. ROW_NUMBER
  2. 散列
  3. 哈希怎么样?我们可以用什么功能来实现它? (我正在考虑C#)

1 个答案:

答案 0 :(得分:2)

首先,我想了解您为什么要使用代理键。

当前的U-SQL表旨在支持批量查询,您可以提前了解大多数预期的查询。因此,您可以设计分发键和方案(散列,直接散列,范围)和聚簇索引,以优化最昂贵的作业。

如果您需要使用直接哈希来管理数据偏差,那么拥有代理键​​是有意义的,但是否则可能会增加复杂性以利用分区/分配抵消。

至于实现自己的哈希函数,C#有一些内置的哈希函数,或者你可以编写自己的哈希函数。例如,C#Object.GetHashCode方法。