zoukankan      html  css  js  c++  java
  • TiSpark 初级应用

    目前正在使用tispark 进行离线计算,简单记录一下操作过程

    一、技术验证

    1. 场景:计算每次充电过程中单体最高电压的变化速率

     解决方案:

            使用tispark 直接访问tidb的数据,采用spark的lag函数计算

          SELECT billid,MAX(Diff) AS MaxHVDiff,MIN(Diff) AS MinHVDiff,
          '20190801' AS bizdate FROM (SELECT upttime,billid,HighestVoltage , (HighestVoltage -lag(HighestVoltage ) over (PARTITION BY billid ORDER BY upttime)) AS Diff FROM ETL_SingleCharging 

        计算资源   : 

           /home/teld/tispark/spark-2.3.3-bin-hadoop2.7/bin/spark-shell --master=spark://***:7077 --executor-memory 32G  48核

                 计算结果:                     

      参与计算的数据量: 451105735 –4.5亿
      结果数据:6463684 –646万
      时间:16分钟

        监控资源
            

         

         2. 相同的场景,将资源占用控制在 24G,36核心。 观察tispark 内存压力下降 --说明 tispark的资源占用可控

       /home/teld/tispark/spark-2.3.3-bin-hadoop2.7/bin/spark-shell --master=spark://***:7077 --executor-memory 24G --total-executor-cores 36

    二、生产部署

      场景:生产环境需要计算每分钟的每个订单的充电的soc、温度、单体最高电压的变化速率,因此分析查找出异常的订单数据

       生产解决方案:

         2.1 整体思路:

                  通过计算平台的HUE上扩展TIspark的插件,实现tispark的相关操作,由于涉及到相关的临时表操作,因此在HUE的数据流里面还涉及到清楚临时表,导入数据到sqlserver等操作,因此还涉及kettle操作

        2.2 实现方案:

                 1.数据流定义:

                       1.定义HUE数据流任务

                             

                 tispark sql  --临时用shell 插件,扩张的hue上的tispark的插件正在开发

                   

             2.执行监控

                     每个sparksql 执行时间为2分钟

    三 下一步规划

         3.1 下一步逐步增加更深入的离线任务

         3.2 tispark 的hue 更易用性的插件开发,并返回给社区

         3.3 继续增加tidb的 oltp业务观察 tp和ap业务的 关系和对资源的占用冲突情况

          

      

        

  • 相关阅读:
    LeetCode OJ-- Count and Say
    3dContactPointAnnotationTool开发日志(二)
    如何将PDF的背景色设置为保护眼睛的苹果绿色
    3dContactPointAnnotationTool开发日志(一)
    随便测测
    360浏览器重新打开不小心关闭的网页
    Unity3d学习日记(四)
    Unity3d学习日记(三)
    Unity3d学习日记(二)
    新的目标ヾ(◍°∇°◍)ノ゙
  • 原文地址:https://www.cnblogs.com/pbc1984/p/11393073.html
Copyright © 2011-2022 走看看