相关疑难解决方法(0)

如何提高BigQuery中GeoIP查询的性能?

我已经在BigQuery中加载了我的应用程序日志,我需要根据这些日志中的IP地址计算国家/地区.

我在我的表和从MaxMind下载的GeoIP映射表之间编写了一个连接查询.

理想的查询将OUTER JOIN使用范围过滤器,但BQ=在连接条件下支持.因此查询执行INNER JOIN并处理每一侧的缺失值JOIN.

我修改了原始查询,因此可以在维基百科公共数据集上运行.

有人可以帮助我让这个跑得更快吗?

SELECT id, client_ip, client_ip_code, B.Country_Name as Country_Name

FROM
    (SELECT id, contributor_ip as client_ip, INTEGER(PARSE_IP(contributor_ip)) AS client_ip_code, 1 AS One
    FROM [publicdata:samples.wikipedia] Limit 1000) AS A1

JOIN 
    (SELECT From_IP_Code, To_IP_Code, Country_Name, 1 AS One
    FROM

        -- 3 IP sets: 1.valid ranges, 2.Gaps, 3. Gap at the end of the set
        -- all Ranges of valid IPs:
        (SELECT From_IP_Code, To_IP_Code, Country_Name FROM [QA_DATASET.GeoIP]) …
Run Code Online (Sandbox Code Playgroud)

performance geoip google-bigquery

11
推荐指数
2
解决办法
3931
查看次数

标签 统计

geoip ×1

google-bigquery ×1

performance ×1