目前正在使用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业务的 关系和对资源的占用冲突情况

    

TiSpark 初级应用的更多相关文章

  1. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  2. Python 正则表达式入门(初级篇)

    Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...

  3. python 高级之面向对象初级

    python 高级之面向对象初级 本节内容 类的创建 类的构造方法 面向对象之封装 面向对象之继承 面向对象之多态 面向对象之成员 property 1.类的创建 面向对象:对函数进行分类和封装,让开 ...

  4. N皇后问题—初级回溯

    N皇后问题,最基础的回溯问题之一,题意简单N*N的正方形格子上放置N个皇后,任意两个皇后不能出现在同一条直线或者斜线上,求不同N对应的解. 提要:N>13时,数量庞大,初级回溯只能保证在N< ...

  5. python 面向对象初级篇

    Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...

  6. codefordream 关于js初级训练

    这里的初级训练相对简单,差不多都是以前知识温习. 比如输出“hello world”,直接使用console.log()就行.注释符号,“//”可以注释单行,快捷键 alt+/,"/*   ...

  7. Mysql操作初级

    Mysql操作初级 本节内容 数据库概述 数据库安装 数据库操作 数据表操作 表内容操作 1.数据库概述 数据库管理系统叫做DBMS 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建 ...

  8. python面向对象初级(七)

    概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...

  9. 学习 opencv---(3) ROI 区域图像叠加&初级图像混合

    在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操 ...

  10. Python 面向对象(初级篇)

    51CTO同步发布地址:http://3060674.blog.51cto.com/3050674/1689163 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后 ...

随机推荐

  1. StatefulWidget 有状态组件 、 页面上绑定数据、改变页面数据

    一.Flutter 中自定义有状态组件 在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget ...

  2. Django中logging的设置

    1.日志基础知识 日志与我们的软件程序密不可分.它记录了程序的运行情况,可以给我们调试程序和故障排查提供非常有用的信息.每一条日志信息记录了一个事件的发生.具体而言,它包括了: 事件发生时间 事件发生 ...

  3. 平台总线模型(注册设备、注册驱动、编写probe函数)

    平台总线模型概念 注册platform设备 struct platform_device结构体 platform_device_register() platform_device_unregiste ...

  4. json转化 ts定义网页工具

    json转化 ts定义 https://transform.tools/json-to-typescript

  5. rust在windows上编译成liunx可执行程序

    一.rust编译文件 cargo build 或 cargo build --release 发布构建 二.安装 x86_64-unknown-liunx-musl target rustup tar ...

  6. 【python学习】数据结构第一节

    1.访问元组或列表中的值      (注:元素是从0开始从左往有编号的,或者从右向左编号[-1开始]) 列表 x1 = [1,2,3,4] 元组 x2 =(1,2,3,4) print(x2[0]) ...

  7. vue dialog弹窗

    <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" title=&quo ...

  8. vue.js与webpack有什么关系?

    webpack是一个前端打包和构建工具.如果你之前一直是手写HTML,CSS,Javascript并且通过link标签将CSS引入你的HTML文件,以及通过Script标签的src属性引入外部的JS脚 ...

  9. Kubernetes--管理Pod对象的容器(2)

    自定义运行的容器化应用 由Docker镜像启动容器时运行的应用程序在相应的Dockerfile中由ENTRYPOINT指令进行定义,传递给程序的参数则通过CMD指令指定,ENTRYPOINT指令不存在 ...

  10. VS2012下没有ADO.NET实体数据模型

    在C盘下搜"EFTools.msi"然后退出VS,点击修复在打开VS,数据下就有了