蜂巢中的文森蒂距离

Posted

技术标签:

【中文标题】蜂巢中的文森蒂距离【英文标题】:Vincenty distance in hive 【发布时间】:2020-10-05 17:27:41 【问题描述】:

我能够在 presto 中计算 vincenty 距离,但对于我的一种情况,我想计算 hive 中的 vincenty 距离。我搜索了,但我找不到任何东西。有什么方法可以计算蜂巢中的文森特距离。

【问题讨论】:

【参考方案1】:

似乎您可以在 Impala 和 HIVE 中使用下一个代码。因此,在 HIVE 中会更慢。

select
  2 * asin(
      sqrt(
        cos(radians(lat1)) *
        cos(radians(lat2)) *
        pow(sin(radians((lon1 - lon2)/2)), 2)
            +
        pow(sin(radians((lat1 - lat2)/2)), 2)

      )
    ) * 6371 distance_km
  from my_table;

致谢:https://godatadriven.com/blog/distance-calculation-with-impala-or-hive/

【讨论】:

这是Haversine 距离,而不是Vincenty。但也许改用 Haversine 是正确的解决方案。

以上是关于蜂巢中的文森蒂距离的主要内容,如果未能解决你的问题,请参考以下文章

蜂巢中的表连接失败

如何测试蜂巢中的数字条件?

蜂巢中的时间戳?

如何将地图转换为蜂巢中的列?

如何减去蜂巢中的项目

蜂巢中的数据集大小是多少