我将 geospark(sedona) 与 pyspark 一起使用:是否可以从 Oracle 读取 sdo_geometry 类型并在 Oracle 中使用 sdo_Geometry 字段写入表?在我的应用程序中:我能够阅读:
db_table = "(SELECT sdo_util.to_wktgeometry(geom_32632) geom FROM geodss_dev.CATASTO_GALLERIE cg WHERE rownum <10)" <---Query on Oracle Db
df_oracle = spark.read.jdbc(db_url, db_table, properties=db_properties)
df_oracle.show()
df_oracle.printSchema()
但是当我写:
df_oracle.createOrReplaceTempView("gallerie")
df_write=spark.sql("select ST_AsBinary(st_geomfromwkt(geom)) geom_32632 from gallerie") <--query with Sedona Library on tempView Gallerie
print(df_write.dtypes)
df_write.write.jdbc(db_url, "geodss_dev.gallerie_test", properties=db_properties,mode="append")
我有这个错误:
ORA-00932: inconsistent data types: expected MDSYS.SDO_GEOMETRY, got BINARY
有写 sdo_geometry 类型的解决方案吗?感谢和问候