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业务的 关系和对资源的占用冲突情况
最新文章
- Hdu5093 Battle ships 二分图
- XCLNetTools1.0(ASP.NET常用类库)
- java与mysql连接
- 【.NET进阶】函数调用--函数栈
- Linux字符设备驱动结构(一)--cdev结构体、设备号相关知识机械【转】
- 【LOB】使用USER_LOBS视图获得当前用户包含LOB字段的表
- 5.防止FPGA设计中综合后的信号被优化
- Flex之DataGrid和Tree控件的数据源XML格式
- SSL handshake failed: SSL 错误:在证书中检测到违规的密钥用法。
- golang Rsa
- android系统reboot
- 详解EBS接口开发之库存事务处理-物料批次导入
- LNMP分离式部署
- 回文的范围——算法面试刷题2(for google),考察前缀和
- 6-2 Verbs and Adjectives with that clauses
- itchat
- web应用
- liteide 去除go程序cmd窗口
- ts转化为js
- 2-2 vue环境搭建以及vue-cli使用