导入空管基础数据

1、首先将data.tar.gz解压到自定义目录中

注意:由于数据文件的压缩包比较大,解压过程可能会持续3~5分钟,请耐心等待。

复制代码
[root@node3 ~]# cd /opt/software/
[root@node3 software]# tar -xzf data.tar.gz -C /opt/

2、利用SQLyog或者其他数据库工具将保存在/opt/data目录中名为kongguan.sql的文件导入到MySQL数据库

  • 使用 【mysql -uroot -p】 登录到MySQL(输入密码登录123456)
  • 使用 show databases 命令,查看数据库列表
  • 创建数据库:

    mysql> create database kongguan;
    mysql> use kongguan;

  • 进入kongguan数据库,使用 source 命令执行kongguan.sql脚本导入数据(假设sql文件的位置:/opt/data/kongguan.sql)

    mysql> use kongguan;
    mysql> source /opt/data/kongguan.sql;

导入数据后,可使用 MySQL的show tables; 语句查看导入情况:

3、将HBase备份文件(空管数据及实时飞行数据)导入到集群的HBase数据库

  • 切换到node3节点,在控制台输入以下命令,在HDFS上创建如下目录

    [root@node3 ~]# hadoop fs -mkdir /hbase/table/ [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_CallSaturation [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_ATC [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_PlanData [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_ATCDutyInfo [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_FlightState [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_WarnFlightHistory [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_AFTN [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_WarnSimilarHistory [root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_MultiRadarData

查看HDFS上目录的创建情况:

  • 把数据上传至hdfs

注意:由于数据量较大,上传数据的过程可能会持续3-5分钟的时间,请耐心等待。

复制代码
[root@node3 ~]# hadoop fs -put /opt/data/Kg_CallSaturation /hbase/table/Kg_CallSaturation 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_ATC /hbase/table/Kg_ATC 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_PlanData /hbase/table/Kg_PlanData 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_ATCDutyInfo /hbase/table/Kg_ATCDutyInfo 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_FlightState /hbase/table/Kg_FlightState 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_WarnFlightHistory /hbase/table/Kg_WarnFlightHistory 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_AFTN /hbase/table/Kg_AFTN 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_WarnSimilarHistory /hbase/table/Kg_WarnSimilarHistory
[root@node3 ~]# hadoop fs -put /opt/data/Kg_MultiRadarData /hbase/table/Kg_MultiRadarData
  • 进入HBase客户端运行【hbase shell】进入

    [root@node3 software]# hbase shell

  • 创建HBase表

    create 'Kg_CallSaturation','SaturationHome'
    create 'Kg_ATC','ATCHome'
    create 'Kg_PlanData','ReportHome'
    create 'Kg_ATCDutyInfo','ATCDutyHome'
    create 'Kg_FlightState','StateHome'
    create 'Kg_WarnFlightHistory','WarnFlightHome'
    create 'Kg_AFTN','AFTNHome'
    create 'Kg_WarnSimilarHistory','WarnSimilarHome'
    create 'Kg_MultiRadarData','RadarHome'

  • 查看创建情况
  • 退出HBase客户端
  • 然后执行导入操作

注意:由于此过程要执行多个MapReduce操作,可能需要5-10分钟左右的时间,请耐心等待。

解释

复制代码
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_CallSaturation /hbase/table/Kg_CallSaturation/Kg_CallSaturation
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_ATC /hbase/table/Kg_ATC/Kg_ATC
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_PlanData /hbase/table/Kg_PlanData/Kg_PlanData 
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_ATCDutyInfo /hbase/table/Kg_ATCDutyInfo/Kg_ATCDutyInfo
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_FlightState /hbase/table/Kg_FlightState/Kg_FlightState
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_WarnFlightHistory /hbase/table/Kg_WarnFlightHistory/Kg_WarnFlightHistory
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_AFTN /hbase/table/Kg_AFTN/Kg_AFTN 
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_WarnSimilarHistory /hbase/table/Kg_WarnSimilarHistory/Kg_WarnSimilarHistory
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_MultiRadarData /hbase/table/Kg_MultiRadarData/Kg_MultiRadarData

例如:

  • 查看数据导入情况

4、实时飞行数据说明

  • 解压data.tar.gz后的文件导入到集群的HBase数据库,所以直接读取HBase即可,但是由于真实的数据里实时飞行数据的时间间隔过短,在地图上不能感觉到飞机的实时运动状态,所以在项目中使用的实时飞行数据是从HBase中取出的真实飞行数据经过一定的处理后将时间间隔变大的数据,这样做可以在地图上明显感觉到飞机的运动状态。
  • 当前项目提供了已经处理好的实时飞行数据,即:part-00000 ~ part-00011。使用时需要根据当前位置修改后台读取的位置即可,如下图:

part-000xx文件的内容格式如下:

这些文件可以放到本地,也可以放到HDFS上,例如:如果要在【client节点机器上】上读取"实时飞行数据",可以使用【scp】命令将该数据从node3节点复制到client节点上。

复制代码
 [root@node3 ~]# scp -rq /opt/data client:/opt/

在后面阶段任务,读取时要根据自己的实际存放位置修改代码中的读取路径:

相关推荐
段一凡-华北理工大学4 小时前
2026 高炉炼铁智能化技术全景与演进路径~系列文章11:演进路径与行业未来
大数据·网络·人工智能·算法·工业智能体·高炉炼铁智能化
搞科研的小刘选手4 小时前
【中山大学主办】第六届计算机科学与区块链国际学术会议(CCSB 2026)
分布式·神经网络·计算机视觉·区块链·计算机科学·共识算法·自然语言
狒狒热知识5 小时前
合规筑基专业赋能178软文网引领软文营销行业规范化发展
大数据
小饼干在学嘎瓦6 小时前
本地缓存和分布式缓存如何选择?
分布式·缓存
ZGi.ai7 小时前
企业AI资产管理体系:提示词、工作流、知识库应该怎么管
大数据·知识库·工作流编排·ai资产·提示词管理
XLYcmy7 小时前
全链路验证测试系统:一个针对智能代理(Agent)系统全链路能力的自动化验证脚本
分布式·python·http·网络安全·ai·llm·agent
爱分享的康康8 小时前
低成本自动驾驶数据采集设备理性分析:康谋入门套装适配性解析
大数据·人工智能
程序鉴定师9 小时前
上海小程序开发的坚实保障与行业优势解析
大数据·小程序
Elastic 中国社区官方博客9 小时前
我们如何在 Elasticsearch Serverless 上将向量搜索吞吐量提升一倍
大数据·数据库·人工智能·elasticsearch·搜索引擎·云原生·serverless
zgl_2005377910 小时前
源代码:跨数据库通用SQL语法解析与标注拆解
大数据·数据库·数据仓库·sql·etl·源代码管理