文章目录

  • Phoenix的介绍和客户端命令
  • 构建HBase的二级索引
  • 原始数据itcast_src构建二级索引
  • phoenix 使用场景
  • 车辆常用字段明细数据 ETL
  • 车辆明细数据统计
    • 车辆总数统计
    • 车辆电量统计
    • 车辆油耗统计
    • 车辆速度统计
  • 车辆数据统计意义分析
    • Zeppelin简介
    • zeppelin UI介绍
    • zeppelin整合mysql
    • zeppelin整合hive
    • 车辆电量、速度数据统计报表
  • 问题

Phoenix的介绍和客户端命令

  • Phoenix的概念

  • Phoenix on HBase 和 Hive on HDFS 的区别

  • Phoenix 客户端命令操作及说明

  • 查看表操作

① TABLE_SCHEMA


② 对应 HBase 的 namespace


  • 创建表的操作

  • 新增数据

  • 查询操作

  • 更新操作

  • 删除操作

构建HBase的二级索引

  • 为什么需要构建二级索引

  • 索引的类型

    概念:

    创建:

    
    

    查看:

    
    

    删除:

    
    

    概念:

    创建:

    
    

    查看:

    
    

    删除:

    
    

    概念:

    创建:

    
    

    查看:

    
    

    删除:

    
    

    概念:

    创建:

    
    

    查看:

    
    

    删除:

    
    
  • 本地索引和全局索引的比较

  • 索引的优化

原始数据itcast_src构建二级索引

  • 创建 HBase 表对应的 phoenix 表

  • 创建 HBase 表对应的 phoenix 视图

phoenix 使用场景

车辆常用字段明细数据 ETL

  • 常用字段
  • 创建 HBase 车辆指标即席查询表

  • 在 ETL 主任务中添加常用字段落地逻辑

    • srcDataStream.addSink(new VehicleDetailSinkOptimizer(“itcastsrc_vehicle_detail”));

    • 编写核心业务逻辑 实现 RichSinkFunction

    private Put setDataSourcePut(ItcastDataObj itcastDataObj) {//确定rowkeyString rowKey = itcastDataObj.getVin() + StringUtil.reverse(itcastDataObj.getTerminalTimeStamp().toString());Put put = new Put(Bytes.toBytes(rowKey));//设置需要写入的列有那些//这两个列一定不为空,如果为空就不是正常数据了put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("vin"), Bytes.toBytes(itcastDataObj.getVin()));put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("terminalTime"), Bytes.toBytes(itcastDataObj.getTerminalTime()));//电量百分比(currentElectricity)、当前电量(remainPower)、百公里油耗(fuelConsumption100km)、// 发动机速度(engineSpeed)、车辆速度(vehicleSpeed)if(itcastDataObj.getCurrentElectricity() != -999999D){put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("currentElectricity"), Bytes.toBytes(itcastDataObj.getCurrentElectricity()));}if(itcastDataObj.getRemainPower() != -999999D){put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("remainPower"), Bytes.toBytes(itcastDataObj.getRemainPower()));}if(StringUtils.isNotEmpty(itcastDataObj.getFuelConsumption100km()) ){put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("fuelConsumption100km"), Bytes.toBytes(itcastDataObj.getFuelConsumption100km()));}if(StringUtils.isNotEmpty(itcastDataObj.getEngineSpeed()) ){put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("engineSpeed"), Bytes.toBytes(itcastDataObj.getEngineSpeed()));}if(itcastDataObj.getVehicleSpeed() != -999999D){put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("vehicleSpeed"), Bytes.toBytes(itcastDataObj.getVehicleSpeed()));}put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("processTime"), Bytes.toBytes(DateUtil.getCurrentDateTime()));//返回put对象return  put;}
    
  • 在 phoenix 中创建车联指标即席查询明细视图

    
    

车辆明细数据统计

车辆总数统计

  • 统计车辆明细总数

  • 统计每天在线的车辆总数

车辆电量统计

  • 统计车辆电量百分比

  • 统计当前电量

车辆油耗统计

  • 统计车辆百公里油耗

车辆速度统计

  • 统计车辆发动机速度

  • 统计车辆速度vehicleSpeed,求最大、最小、平均车速

车辆数据统计意义分析

Zeppelin简介

  • zeppelin应用场景
  • zeppelin安装介绍

zeppelin UI介绍

zeppelin整合mysql

zeppelin整合hive

车辆电量、速度数据统计报表

  • 车辆电量统计报表
  • 车辆速度统计报表

问题

  • 如何删除topic并初始化数据

    步骤:
    1.检查 server.properties 配置文件中 delete.topic.enable=true,三台都要设置重启集群。
    2.删除kafka中topic vehicledata
    [root@node01 kafka]# bin/kafka-topics.sh --zookeeper node01:2181,node02:2181,node03:2181 --delete --topic vehicledata
    # 使用 kafka-tools 客户端删除topic
    3.打开 zkCli.sh 删除三组配置rmr /brokers/topics/vehicledatarmr /config/topics/vehicledatarmr /admin/delete_topics/vehicledata
    4.如果kafka集群没有关闭,关闭kafka集群
    5.清空log.dirs=/export/data/kafka/kafka-logs目录就是kafka集群的数据目录
    rm -rf /export/data/kafka/kafka-logs/*
    6.重启kafka集群
    7.创建topic vehicledata
    [root@node01 kafka]# bin/kafka-topics.sh --zookeeper node01:2181 --create --topic vehicledata --partitions 3 --replication-factor 2
    

实时即未来,车联网项目之phoenix on hbase 即席查询【四】相关推荐

  1. 利用phoenix建立二级索引查询hbase,大神请无视

    利用phoenix建立二级索引查询hbase phoenix的简单介绍 phoenix,中文译为"凤凰",很美的名字.Phoenix是由saleforce.com开源的一个项目,后 ...

  2. 实时即未来,大数据项目车联网之项目基石与前瞻【一】

    文章目录 写在前面 车联网项目全新升级 车联网行业背景介绍 车联网技术 汽车行业 新能源汽车 车联网行业技术 车辆网行业产业链与国内知名企业 车联网项目 车联网技术架构和技术选型 车联网项目的架构搭建 ...

  3. 实时即未来,大数据项目车联网之车辆驾驶行程分析【十三】

    文章目录 车辆驾驶行程分析 驾驶行程分析业务逻辑 1 车联网项目数据存储分层设计 2 车辆驾驶行程定义 1 驾驶行程业务简介 2 驾驶行程分析流程 3 驾驶行程分析业务价值 2. 驾驶行程分析任务设置 ...

  4. RFID技术为智能轮胎在未来车联网领域的应用奠定了基础

    4月7日小编向大家公布了工信部7月1日将要实施的关于轮胎用射频识别(RFID)电子标签的4项行业标准,今天向大家分享关于轮胎RFID技术的推广之路. RFID技术的发展,使轮胎拥有"身份证& ...

  5. 实时即未来?一个小微企业心中的流计算

    摘要:本文由墨芷技术团队唐铎老师分享,主要讲述其技术团队内部引入流计算的整个过程,包括最初的决策.期间的取舍以及最终落地,一路走来他们的思考.感悟以及经验分享. 初识 Flink 为什么一定要上 Fl ...

  6. 关于未来车联网的思考与展望

    对于未来车联网的展望   摘要:万物互联的时代,车联网也是至关重要的一环,车联网系统的实现需要依靠强大的通信能力做为依靠和支撑,而5G 技术的逐渐成熟,为车联网提供了低时延.高可靠.大容量的通信设备, ...

  7. python command line debug_【已解决】Mac中PyCharm中去加断点实时调试scrapy的项目

    折腾: 后,在之前已经用过PyCharm去加上断点实时调试别的python程序的前提下. 下载希望可以用PyCharm也可以加断点,实时调试scrapy的项目. 不过能想到的是,scrapy这种项目, ...

  8. Docker中安装Jenkins实时发布.net core 项目(二)

    Docker中安装Jenkins实时发布.net core 项目 防坑点 升级docker jenkins运行 运行命令 jenkins拉取git并构建项目 其他 查看发布文件 防坑点 升级docke ...

  9. Docker中安装Jenkins实时发布.net core 项目(一)

    Docker中安装Jenkins实时发布.net core 项目 安装docker 懒人篇 手动安装 dockerfile安装jenkins 常规安装jenkins jenkins的安装 搜索jenk ...

最新文章

  1. ORB_SLAM2代码阅读(1)——系统入口
  2. 矢量数编码有哪几种类型_6种最理想的编码工作(以及吸引每个人的类型)
  3. 「镁客早报」韩国将支持数字加密货币的正常交易;今年智能手表出货量或达7100万部...
  4. 如何使用Hugepage参数
  5. 20张图表达程序员的心酸
  6. delphi中利用Indy的TIdFtp控件实现FTP协议
  7. 如何处理Java注释
  8. 面向微软合作伙伴和客户的Azure应用托管正式可用
  9. oracle脑裂的判断机制,Keepalived两节点出现双VIP的情况(脑裂)
  10. PowerPoint-漂亮表格三招
  11. matlab 三维图形改变线宽,用PANDAS改变线宽绘制三维线图
  12. PHP 工具 格式化
  13. 手摸手写一个互联网黑话生成器
  14. 简单的mg动画制作方法,看到就是赚到 | 万彩动画大师
  15. DBMS_SQL的使用
  16. firefox 配置
  17. 相关系数之皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数(评价线性关系的相关系数)(第一部分)
  18. 安装软件时出现“error creating process错误”
  19. 信息资源物理服务器包括什么,信息资源数据库
  20. 3A企业信用等级评价流程

热门文章

  1. 图划分软件Metis的使用
  2. windows meld的右键菜单的使用
  3. 导数的四则运算法则_高考考纲与考向分析——导数的概念与计算
  4. 推荐大数据Spark必读书目
  5. 变分模态分解 python_浅谈VMD(变分模态分解)
  6. sed命令删除行操作
  7. 输入空间、输出空间、特征空间与假设空间
  8. ATTck 入口点 —— 其他攻击
  9. 【摘要】STC系列单片机ISP编程器/烧录器的说明
  10. 微信小程序--云开发学习