TiSpark 初级应用
目前正在使用tispark 进行离线计算,简单记录一下操作过程
一、技术验证
- 场景:计算每次充电过程中单体最高电压的变化速率
解决方案:
使用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 初级应用的更多相关文章
- 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)
马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- python 高级之面向对象初级
python 高级之面向对象初级 本节内容 类的创建 类的构造方法 面向对象之封装 面向对象之继承 面向对象之多态 面向对象之成员 property 1.类的创建 面向对象:对函数进行分类和封装,让开 ...
- N皇后问题—初级回溯
N皇后问题,最基础的回溯问题之一,题意简单N*N的正方形格子上放置N个皇后,任意两个皇后不能出现在同一条直线或者斜线上,求不同N对应的解. 提要:N>13时,数量庞大,初级回溯只能保证在N< ...
- python 面向对象初级篇
Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...
- codefordream 关于js初级训练
这里的初级训练相对简单,差不多都是以前知识温习. 比如输出“hello world”,直接使用console.log()就行.注释符号,“//”可以注释单行,快捷键 alt+/,"/* ...
- Mysql操作初级
Mysql操作初级 本节内容 数据库概述 数据库安装 数据库操作 数据表操作 表内容操作 1.数据库概述 数据库管理系统叫做DBMS 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建 ...
- python面向对象初级(七)
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...
- 学习 opencv---(3) ROI 区域图像叠加&初级图像混合
在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操 ...
- Python 面向对象(初级篇)
51CTO同步发布地址:http://3060674.blog.51cto.com/3050674/1689163 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后 ...
随机推荐
- 【Python】语言的控制流程
二.Python语言的控制流程 1.程序的组织结构 1.1 顺序结构:从上到下顺序的执行代码,直到程序结束,没有任何判断和跳转 1.2 选择结构:根据判断条件的布尔值选择性的执行部分代码:if语句 1 ...
- stream 链式结构
Double totalPaymentAmount = Optional.ofNullable(wayfairMonthBill.getPaymentAmountDetailJson()) .filt ...
- SpringBoot2.2.2+SpringCloud-Hoxton.SR1整合eureka/gateway
1.最近在学习SpringCloud分布式项目的知识,所以打算把自己学习到的知识也记录下来,为什么选择学习SpringCloud呢?因为分布式框架还有dubbo,如下图应该可以成为我为什么想学习Spr ...
- 关于uniapp 打自定义基座部分手机不能自动安装的问题
部分手机指的是-------没错就辣鸡 vivo手机 解决办法----进入手机文件管理-----根目录-----会有一个你打包的app.apk文件,手动安装一下就好了 搜索 复制
- C++书写的第一个类
1.建立Student.h头文件 #ifndef STUDENT_H #define STUDENT_H #include <string> using namespace std; cl ...
- ariba 数据补发
*&---------------------------------------------------------------------* *& Report Z_ARBA_PZ ...
- kubernetes中 flannel网络组件
Flannel 软件包地址:https://github.com/coreos/flannel Flannel是CoreOS开源的CNI网络插件,下图flannel官网提供的一个数据包经过封包.传输以 ...
- 【STM32】细说TIM的Channels与应用
寄存器层 1.TIM_Base_Set初始化常用: CR1:TIM control reg 1 该寄存器内容决定定时器计数模式CounterMode.分频比ClockDivision和 ...
- 天龙八部<三联版>四 终
叶二娘与虚竹相认,但黑衣僧却一语道破天机,原来虚竹乃是叶二娘与少林一位高僧的私生子,而黑衣僧,便是三十年前雁门关外的男主演萧远山,虚竹是萧远山所盗,而原因是因为虚竹的父亲乃是当年的带头大哥.迫于压力玄 ...
- libev中的__attribute__优化
在学习libev的过程中,遇到了大量的__attribute__优化方式,此文章将它们做一个汇总和介绍,并会持续更新 1.unused:使编译器忽略未使用的函数或者变量 源码如下 1 //判断如果gc ...