sfwe323323 2019-04-15 23:39 采纳率: 0%
浏览 423

关于某大数据项目技术选型的问题请教

我们有一个项目,采集了全国各地运营车辆的相关信息,如gps定位,油耗,车速等。

车辆每10秒上报一次数据,全国车辆每天上报的数据量约为一亿条左右,占用存储约150g/天。

数据上报上来后,并不会对这些数据进行修改,主要用于对数据进行离线分析,另外也对某个具体的车辆轨迹在地图上进行轨迹查询回放。

离线分析一般是按日,周,月,季,年进行离线分析,统计完了放到rdbms就是死数据,对数据实时性要求并不高。

系统的用户数约有5000人。

技术选型:
由于数据量比较大,担心用传统RDBMS存储的话分析性能太差,计划用flume+hbase+spark框架实现,心里一直担忧几个问题:

这种场景适合用大数据吗?用hbase+spark是不是杀鸡用牛刀了?

数据量虽然比较大,但用户规模比较小,在线用户数才500人,用hbase进行存储合适吗?用hbase对单车的明细轨迹数据进行查询速度快吗?

3.数据上报上来后存储到某个目录,统计时有简单聚合操作,也有计算平均值和同环比分析,用以下哪种方式合适?
a. flume->spark(数据清洗)->hbase->spark(离线分析)->mysql
b. flume->kafka->spark streaming(数据清洗)->hbase->spark (离线分析)->mysql。
c.flume->kafka->spark streaming (数据清洗和聚合统计)->hbase->spark (离线分析,均值,同环比,年报月报)->mysql

麻烦各位前辈指点指点,越详细越好,谢了

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-08 14:59
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题的答案取决于许多因素,包括但不限于你的具体需求、可用资源、预算和时间限制。然而,我可以提供一些关于如何解决这些问题的一般建议。

    首先,Hadoop生态系统是处理大规模数据的理想选择,特别是对于具有大量读写操作的大数据应用。Spark是Apache Spark项目的一部分,是一个高性能的数据处理引擎,可以用于实时流式处理和批处理任务。Flume是一种开源的日志收集系统,可以帮助您将数据从各种来源收集并传输到HDFS或S3等存储系统中。

    对于您的数据集,使用Hadoop和Spark来处理可能不是最优的选择。在这种情况下,您可以考虑使用Kafka作为消息队列,以便于异步处理和分发数据。然后,您可以将数据发送到Hadoop集群中的一个数据仓库,如HBase或MySQL。这可以通过使用Flume和Kafka之间的集成来完成。

    至于数据清洗,您可以使用Spark SQL或其他SQL数据库工具来执行数据清洗操作。例如,您可以创建一个简单的SQL查询来删除重复项、填充缺失值或转换数据类型。如果您的数据包含日期时间字段,则可以使用SQL的DATE_FORMAT函数将其转换为标准格式。

    此外,您可以使用Hive或Pig等SQL数据库工具来执行复杂的统计和分析操作,如求和、平均值、方差、标准差等。如果您需要更高级的功能,如聚类、回归分析或机器学习,可以使用Apache Mahout库或类似的库。

    最后,您应该根据您的实际需求和可用资源来决定最佳的数据存储和处理方法。例如,如果您的数据量非常大,而且用户数量较少,那么使用Hadoop和Spark可能不是一个好主意。相反,您可以考虑使用其他数据处理解决方案,如Google Bigtable、Amazon Redshift或Microsoft Azure Data Lake Analytics等。

    请注意,以上建议仅供参考,具体情况应根据您的具体需求和实际情况来决定。

    评论
    编辑
    预览

    报告相同问题?

    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部