如何在 Pig 中读取 csv 文件中的下一行

how to read next line in csv file in 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 中的下一行来计算距离!

有人能帮帮我吗?

如果你能以某种方式为点对生成一个公共标识符,你可以按它分组,然后计算距离。

ID, x, y
A, 0.0, 0.0
A, 18.6, -11.1
B, 36.1, -21.9
B, 53.7, -32.6
...

分组依据 return 类似于 A, {(0.0, 0.0), (18.6, -11.1)}。现在您可以编写一个 UDF 来调用由计算距离的两个点组成的元组。