目前正在使用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. VUE前端请求跨域问题解决

    解决方法: vue.config.js文件配置: module.exports = { devServer: { open: true, host: '192.168.1.193', port: 80 ...

  2. SQL Server 机器学习服务-概述与实战(转)

    原帖地址:https://d-bi.gitee.io/sqlserver-ml-services/ 新年第一篇,去旧迎新.本文内容,既旧也新.旧之处在于,SQL Server 机器学习服务是微软在SQ ...

  3. python批量更改文件名并移动到新的文件夹

    python批量更改文件名并移动到新的文件夹 前言: 1. 这里的代码以批量命名如: 路径"E:\下载\1\xxxx.mp4"."E:\下载\2\xxxx.mp4&quo ...

  4. php严格模式的使用

    <?php declare (strict_types = 1); namespace app\controller; use app\BaseController; use think\fac ...

  5. vue axios传值到后端报错问题

    原因:axios使用post方法传输数据给后端默认为json格式,会导致跨域问题 原理:qs是查询字符串解析和将对象序列化的库 qs.stringify()   将对象序列化成url的形式,以& ...

  6. macOS 10.14安装win10教程 bootcamp篇

    由于工作以及系统使用习惯上的原因,拥有Mac电脑的用户常常需要用到windows系统,这个时候我们就需要在Mac上安装双系统来满足这一需求,一起来看看macOS 10.14安装win10教程吧. ma ...

  7. vscode - plug - scss转css

    vscode - plug - scss转css 参考资料 sass笔记(完结)安装,使用,vscode中设置easy sass,嵌套,变量,混合,循环,分支 vscode配置 easy sass E ...

  8. 部署单机版Redis

    docker-compose.yml: version: '2' services: #redis容器 redis: #定义主机名 container_name: redis-single #使用的镜 ...

  9. 【2020NOI.AC省选模拟#9】C. 重复

    题目链接 原题解: 通过计数相同的子序列对个数的方式来计算答案. 设$f(i,j)$为$S$的前$i$和$j$个字符的公共子序列对个数. 当$S_i=S_j$时,$f(i,j)=f(i,j-1)+f( ...

  10. mysql查询锁表和表解锁的操作

    转载自:https://www.cnblogs.com/qianxiaoruofeng/p/15542468.html 第一种 1.查询是否锁表 show OPEN TABLES where In_u ...