我有2个PySpark数据帧。第二个数据帧由IP地址组成,第一个数据帧具有3列,第1列的起始IP地址和第2列的结束IP地址,第3列具有国家/地区名称。
现在我必须检查第二个数据帧ip地址列到第一个数据帧列,以了解它属于哪个国家?
答案 0 :(得分:0)
您可以使用交叉连接和udf过滤属于ip范围的记录
df1.crossJoin(df2).where( isInIpRangeUdf(df1.col("start_ip"), df1.col("end_ip"),df2.col("ip_address")) == True).show()
答案 1 :(得分:0)
如果要检查IP来自哪个国家/地区,请使用python geoip2 框架。 有关更多信息,请参见:-https://packagist.org/packages/geoip2/geoip2