In [1]:
from pyspark.sql import Row

In [2]:
points = sc.textFile("/opt/points.txt")\
.map(lambda line: line.split(","))\
.map(lambda p: Row(tag=p[0], x=float(p[1]), y=float(p[1])))

In [3]:
points = points.toDF()
points.show()


+---+---+---+
|tag|  x|  y|
+---+---+---+
|  A|1.0|1.0|
|  B|2.0|2.0|
|  C|3.0|3.0|
|  D|4.0|4.0|
|  E|5.0|5.0|
|  F|6.0|6.0|
|  G|7.0|7.0|
+---+---+---+


In [4]:
points.registerTempTable("points")
sql = "SELECT * FROM points WHERE POINT(x, y) IN CIRCLERANGE(POINT(4.5, 4.5), 2)"
sqlContext.sql(sql).show()


+---+---+---+
|tag|  x|  y|
+---+---+---+
|  D|4.0|4.0|
|  E|5.0|5.0|
+---+---+---+


In [ ]: