栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Spark / java的ST_geomfromtext函数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Spark / java的ST_geomfromtext函数

类似的问题-

  1. 使用Spark Java的GeoSpark库
  2. 使用Java从ResultSet到Spark数据框
  3. 使用Spark / Java的GeoSpark
  4. 未定义函数:“ ST_GeomFromText”,使用Spark / Java

我认为,您没有完全按照GeoSparkSQL-Overview /#quick-
start
进行操作-

  1. 按照快速入门,您需要将GeoSpark-core和GeoSparkSQL添加到项目POM.xml或build.sbt中

    <!– Geo spark lib doc - https://datasystemslab.github.io/GeoSpark/api/sql/GeoSparkSQL-Overview/#quick-start-->

    org.datasyslab
    geospark-sql_2.3
    1.3.1




    com.vividsolutions
    jts
    1.13



    org.datasyslab
    geospark-viz_2.3
    1.3.1


    org.datasyslab
    geospark
    1.3.1

  2. 声明您的Spark会话

    SparkSession sparkSession = SparkSession.builder()
    .config(“spark.serializer”, KryoSerializer.class.getName())
    .config(“spark.kryo.registrator”, GeoSparkKryoRegistrator.class.getName())
    .master(“local[*]”)
    .appName(“myGeoSparkSQLdemo”)
    .getOrCreate();

  3. 从注册所有功能

    geospark-sql_2.3
    sparkSession
    ,这样它可以用来直接火花SQL

    // register all functions from geospark-sql_2.3 to sparkSession
    GeoSparkSQLRegistrator.registerAll(sparkSession);

现在,这是工作示例-

   SparkSession sparkSession = SparkSession.builder()     .config("spark.serializer", KryoSerializer.class.getName())     .config("spark.kryo.registrator", GeoSparkKryoRegistrator.class.getName())     .master("local[*]")     .appName("myGeoSparkSQLdemo")     .getOrCreate();        // register all functions from geospark-sql_2.3 to sparkSession        GeoSparkSQLRegistrator.registerAll(sparkSession);        try { System.out.println(sparkSession.catalog().getFunction("ST_Geomfromtext")); // Function[name='ST_GeomFromText', className='org.apache.spark.sql.geosparksql.expressions.ST_GeomFromText$', isTemporary='true']        } catch (Exception e) { e.printStackTrace();        }        // https://datasystemslab.github.io/GeoSpark/api/sql/GeoSparkSQL-Function/        Dataset<Row> dataframe = sparkSession.sql("select ST_GeomFromText('POINT(-7.07378166 33.826661)')");        dataframe.show(false);        dataframe.printSchema();                // using longitude and latitude column from existing dataframe        Dataset<Row> df = sparkSession.sql("select -7.07378166 as longitude, 33.826661 as latitude");        df.withColumn("ST_Geomfromtext ",     expr("ST_GeomFromText(CONCAt('POINT(',longitude,' ',latitude,')'))"))        .show(false);        


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号