快速将IP地址映射到城市

时间:2018-06-14 21:39:39

标签: amazon-redshift ip-address derived-table

我有一个事件表,其中包含一个IP地址列。我还有一个映射表,它采用0填充的IP地址范围,并有一个相应的城市,国家。

我可以编写将IP地址转换为0填充IP地址的查询,然后加入我的映射表。

但是在性能方面,我无法获得任何工作。事件表是40米+行,因此在我拔出插头之前,尝试基于字段操作的连接需要30分钟。我尝试映射映射表(IP到0填充IP),但它没有改进。即使与城市建立一个简化的独特IP地址表也将永远存在。

我是否应该采取一种方法或策略来尝试更有效地合并这些数据集?

1 个答案:

答案 0 :(得分:0)

每次都不需要动态执行此操作。一个好的方法是实现。特别是因为您的数据可能是不可变的(一旦记录了行中的任何数据,IP就不会更改),您有更多选择。他们可以是:

  1. 每晚运行一个脚本以重新运行整个联接
  2. 运行增量追加,因此每个新的数据部分都会为进入源表的每个新数据部分附加连接
  3. 如果你能负担得起存储40m +表的另一个副本,你可以将结果存储为一个新表,其中包含源表加县的所有列(也可能是0填充的IP),如果没有,你可以存储一个表源表中的某些ID加上连接结果,提供比原始查询更快的连接。 或者,如果源表是某些ETL / ELT过程的结果,可能只是另一个步骤。