Spark SQL的selectExpr用法

11 篇文章 0 订阅

转载:http://ddrv.cn/a/248617

两者等价,可看作把sql语句直接拿来使用

df1.selectExpr("*","(DEST_COUNTRY_NAME = ORIGIN_COUNTRY_NAME) as withincountry").show(5)
spark.sql("select * ,
(DEST_COUNTRY_NAME = ORIGIN_COUNTRY_NAME) as withincountry from dfTable limit 5")
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用GeoSpark库可以方便地在Spark SQL计算经纬度。以下是示例SQL语句: 1. 载入GeoSpark依赖和样例数据 ``` -- 载入GeoSpark依赖 -- 注意,GeoSpark依赖需要和Spark版本对应 -- 下载地址:https://github.com/DataSystemsLab/GeoSpark/releases -- 以下示例使用GeoSpark 1.3.2和Spark 2.4.4 $SPARK_HOME/bin/spark-shell --packages org.datasyslab:geospark:1.3.2 \ --conf spark.driver.extraClassPath=geospark-all-1.3.2.jar \ --conf spark.executor.extraClassPath=geospark-all-1.3.2.jar -- 载入GeoSpark样例数据 val resourceFolder = System.getProperty("user.dir") + "/src/main/resources/" val pointDf = spark.read.format("csv") .option("header", true) .load(resourceFolder + "arealm.csv") .selectExpr("ST_Point(CAST(longitude AS Decimal(24,20)), CAST(latitude AS Decimal(24,20))) AS point", "name") pointDf.createOrReplaceTempView("point") ``` 2. 计算两点之间的距离 ``` SELECT name, ST_Distance(point, ST_Point(-122.3923, 37.6173)) AS distance FROM point ORDER BY distance LIMIT 10 ``` 3. 筛选指定范围内的点 ``` SELECT name, point FROM point WHERE ST_Contains(ST_PolygonFromText("POLYGON((-122.5 37.5, -122.5 37.8, -122.1 37.8, -122.1 37.5, -122.5 37.5))"), point) ``` 以上示例,`ST_Point`函数用于创建一个点对象,`ST_Distance`函数用于计算两点之间的距离,`ST_Contains`函数用于判断一个点是否在指定的多边形内。更多GeoSpark的API和使用方法可以参考官方文档:https://datasystemslab.github.io/GeoSpark/latest/sql/GeoSparkSQL-Functions/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值