我想写一个Pig脚本来计算两点之间的距离。数据输入为
x,y 0.0,0.0 18.6,-11.1 36.1,-21.9 53.7,-32.6 70.1,-42.8 86.5,-52.6 101.7,-62.3
距离公式: sqrt((x2-x1)^2 + (y2-y1)^2) 但我看不懂Pig的下一行来计算距离!有人能帮我吗?
sqrt((x2-x1)^2 + (y2-y1)^2)
ffx8fchx1#
如果你能为点对生成一个公共标识符,你可以根据它分组,然后计算距离。
ID, x, y A, 0.0, 0.0 A, 18.6, -11.1 B, 36.1, -21.9 B, 53.7, -32.6 ...
groupby会返回类似 A, {(0.0, 0.0), (18.6, -11.1)} . 现在您可以编写一个udf来调用由计算距离的两点组成的元组。
A, {(0.0, 0.0), (18.6, -11.1)}
1条答案
按热度按时间ffx8fchx1#
如果你能为点对生成一个公共标识符,你可以根据它分组,然后计算距离。
groupby会返回类似
A, {(0.0, 0.0), (18.6, -11.1)}
. 现在您可以编写一个udf来调用由计算距离的两点组成的元组。