码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 企业spark案例 —— 出租车轨迹分析(Python)


    第1关:SparkSql 数据清洗

    1. # -*- coding: UTF-8 -*-
    2. from pyspark.sql import SparkSession
    3. if __name__ =='__main__':
    4. spark = SparkSession.builder.appName("demo").master("local").getOrCreate()
    5. #**********begin**********#
    6. df = spark.read.option("header",True).option("delimiter","\t").csv("/root/data.csv")
    7. df.createTempView("data")
    8. spark.sql("""
    9. select regexp_replace(TRIP_ID,'\\\W+','') as TRIP_ID ,
    10. regexp_replace(CALL_TYPE,'\\\W+','') as CALL_TYPE ,
    11. regexp_replace(ORIGIN_CALL,'\\\W+','') as ORIGIN_CALL ,
    12. regexp_replace(TAXI_ID,'\\\W+','') as TAXI_ID ,
    13. regexp_replace(ORIGIN_STAND,'\\\W+','') as ORIGIN_STAND ,
    14. regexp_replace(TIMESTAMP,'\\\W+','') as TIMESTAMP ,
    15. regexp_replace(POLYLINE,'\\\W+','') as POLYLINE
    16. from data
    17. """).show()
    18. #**********end**********#
    19. spark.stop()

    第2关:SparkSql数据分析

    1. # -*- coding: UTF-8 -*-
    2. from pyspark.sql import SparkSession
    3. import json
    4. if __name__ == '__main__' :
    5. spark = SparkSession.builder.master("local").appName("demo").getOrCreate()
    6. #**********begin**********#
    7. df = spark.read.option("header",True).option("delimiter","\t").csv("/root/data2.csv")
    8. df.createTempView("data")
    9. spark.sql("select TRIP_ID,CALL_TYPE,ORIGIN_CALL, TAXI_ID, ORIGIN_STAND, from_unixtime(TIMESTAMP,'yyyy-MM-dd') as TIME ,POLYLINE from data").show()
    10. spark.udf.register("timeLen", lambda x: {
    11. (len(json.loads(x)) - 1) * 15 if len(json.loads(x)) > 0 else 8
    12. })
    13. spark.udf.register("startLocation", lambda x: {
    14. str(json.loads(x)[0]) if len(json.loads(x)) > 0 else ""
    15. })
    16. spark.udf.register( "endLocation", lambda x: {
    17. str(json.loads(x)[len(json.loads(x)) - 1]) if len(json.loads(x)) > 0 else ""
    18. })
    19. df.createTempView("data2")
    20. res=spark.sql("select TRIP_ID,CALL_TYPE,ORIGIN_CALL,TAXI_ID,ORIGIN_STAND,from_unixtime(TIMESTAMP,'yyyy-MM-dd') as TIME, POLYLINE, timeLen(POLYLINE) as TIMELEN, startLocation(POLYLINE) as STARTLOCATION, endLocation(POLYLINE) as ENDLOCATION from data2")
    21. res.createTempView("data3")
    22. res.show()
    23. spark.sql("select CALL_TYPE,TIME,count(1) as NUM from data3 group by TIME,CALL_TYPE order by CALL_TYPE,TIME").show()
    24. #**********end**********#

  • 相关阅读:
    我们要做怎样的测试/开发程序员,怎样提高自己的价值......
    Python吴恩达深度学习作业19 -- 字符级语言模型
    刷题第3天(中等题):LeetCode707--设计链表--练习单链表和双链表的增删查操作
    413 Request Entity Too Large问题的处理
    python:list和dict的基本操作实例
    [架构之路-219]:工程师成长为优秀架构师的路径
    2022年戈登·贝尔奖授予等离子体加速器突破研究
    神经网络 01(介绍)
    eclipse中springboot项目如何打包成jar文件
    医院安全不良事件报告系统源码 PHP+ vue2+element+ laravel8+ mysql5.7+ vscode开发
  • 原文地址:https://blog.csdn.net/m0_62600503/article/details/134474438
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号