从Hadoop应用程序插入Azure表

时间:2015-12-16 17:22:34

标签: azure-table-storage

我有一个hadoop应用程序,其中映射器连续将多个条目插入到单个Azure表中。大多数条目具有不同的分区键,因此在这种情况下批量插入可能无效。因为Azure Table承受着沉重的压力,我想知道它是否会成为瓶颈?这种方法的缺点是什么?

1 个答案:

答案 0 :(得分:0)

通常,许多不同的分区键正是提高吞吐量的正确方法,因为它允许服务更有效地分散数据。 Batch更多用于执行原子操作,而不是用于显着增加吞吐量。批处理有时可以使吞吐量受益,有时实际上会受到伤害,因为在服务上它意味着更长的操作,因为它指定的所有行都是收集的。批处理是否有帮助取决于网络延迟,批处理大小以及特定行是否在多个并发批处理请求中,以及其他因素。

分区键的布局主要考虑因素不是插入而是查询。点查询(一个分区键和行键)是目前在Azure存储上执行的最快操作以及我们针对其进行优化的操作。扩展分区键对此非常有用。下一个最有效的是分区查询(相同的分区键,多个行键)。最慢的是表查询(多个分区)。所以,如果你打算做很多非点查询,那么扩展分区键可能会伤害你。

有关详细信息,请参阅performance and scalability document

中的表格部分