我想知道我是否可以在 Apache Spark 的 SQL 和 DataFrames 中使用 Postgis 几何类型。
我走到这一步了:我首先注意到我可以编写 Postgis 方言和用户定义的类型,我称之为PostgisDialect和GeometryType。这是我的代码:
object PostgisDialect extends JdbcDialect {
override def canHandle(url: String): Boolean = url.startsWith("jdbc:postgresql")
override def getCatalystType(
sqlType: Int, typeName: String, size: Int, md: MetadataBuilder): Option[DataType] = {
if (sqlType == Types.OTHER) {
toCatalystType(typeName)
} else None
}
// TODO: support more type names.
private def toCatalystType(typeName: String): Option[DataType] = typeName match {
case "geometry" => Some(GeometryType)
case _ => None
}
override def getJDBCType(dt: …Run Code Online (Sandbox Code Playgroud)