scala - 如果数据框满足spark scala中嵌套循环内的特定条件,如何更新数据框的值
问题描述
示例数据只需要知道我们如何更新具有特定条件的 df 内的值。
我的 Df 包含一些与商店相关的数据,例如商店 id、商店名称、地址、纬度、经度 .. 我需要使用此纬度和经度查找半径
sqrt((x1-x2)^2) +((y1-y2)^2))
x1=第一行纬度,x2=第二行纬度,同样经度。这里我需要将每个商店与其他商店进行比较,所以是一个嵌套循环。
所以我将纬度和经度转换为列表,并在这两个列表的帮助下进行迭代,我已经添加了新列 Radius 和 New_ID
运行此操作后,结果的值未在数据框中更新,请帮助我,如果需要更多详细信息,请告诉我
while (i<latlist.length-1)
{
j=1
id=id+1
while(j<longlist.length)
{
result = sqrt(pow(latlist(i)- latlist(j),2) + pow(longlist(i) - mylonglist(j),2))
df3=df2.withColumn("Radius", col("Radius")+result)
} j=j+1;
df4= df3.filter(df3("Radius")<=1.32).withColumn("New_ID", col("New_ID")+id)
}
i=i+1
}
df4.show(10) }
样本数据
StoreName StoreReg Latitude Longitude Radius New_ID Abc MH 50.5684 6.9894 0 0 Xyz DE 47.9783 7.4984 0 0 Pqr AS 67.8479 10.7029 0 0 Qwr LI 53.8733 8.8393 0 0 Dsg GY 49.0832 9.78946 0 0 Hnr TY 51.8937 8.5678 0 0 Erf ER 52.7689 7.9763 0 0
解决方案
推荐阅读
- python - 是否有任何工具可以为每个 python 文件运行特定的包,而不是创建多个虚拟环境
- vue.js - MirageJS 找不到路线 - VueJS
- python - 将数据拆分为子样本
- mongodb - Mongodb-删除嵌入文档中的一些数组元素
- python - 防止重复的用户条目 - Django
- python - 卷积神经网络的混淆矩阵
- javascript - 将文件转换为 HTMLImageElement
- java-8 - Java 8 Guava Preconditions 在评估异常消息字符串时抛出 NullPointerException
- active-directory - AD 查询 - 获取 bitlocker 活动计算机
- c++ - 我在将指针复制到 C++ 中的另一个指针时遇到问题