Hi Youngwoo, We are aware that the current SQL spatial join does not support streaming tables. The Sedona support of Spark structured streaming is on our roadmap but it won't be available soon.
Thanks, Jia On Sun, Jan 31, 2021 at 9:31 PM Youngwoo Kim (김영우) <yw...@apache.org> wrote: > Hi, > > I'm looking into spatial range query using Apache Sedona in spark > structured streaming. In my test code, I joined two streams using > `st_contains` like following: > > Dataset<Row> fenced = spark.sql( > > "SELECT * FROM poly, pts WHERE > > ST_Contains(ST_PolygonFromText(poly.value,','), > > ST_PointFromText(pts.value,','))"); > > > I created two streams from `sparkSession.readStream()` and created two > views 'poly' and 'pts' respectively. As you expect, I wanted to know > whether the polygon contains the point. > > However, It does not work and I get an exception like this: > > Caused by: org.apache.spark.sql.AnalysisException: Stream-stream join > > without equality predicate is not supported;; > > Join Inner, > > **org.apache.spark.sql.geosparksql.expressions.ST_Contains$** > > > Looks like structured streaming has a restriction on that kind of join > query. > > Please let me know if there is a workaround for spatial joins and also, any > plans to support joins in structured streaming from Sedona. > > Spark 3.0.1 and GeoSpark 1.3.2-SNAPSHOT for my test env. > > Thanks, > Youngwoo >