谈谈大数据的架构与算法 (o~o)

本文详细阐述了大数据架构设计的核心模块,包括数据标准、数据模型、数据管理体系,并介绍了常用算法如PageRank、K-Means及其应用。同时,讨论了数据结构、分布式处理等关键点,以及大数据面临的挑战和未来趋势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前就写过一些数据采集就是抓取网页新闻,用到正则滤html 。这好像跟大数据没什么关系,又离题了。

    丸子妹妹说说 大数据架构设计:从功能模块可划分为:数据标准(数据标准字典,数据流程规范),数据模型(数据主题域,概念模型,主数据体系,模型选择),数据管理体系(管理规范及流程,质量控制,元数据管理,调度管理,日志监控)

从业务需求,主要要求有:灵活性,简易性,安全性,连续性,成本及时效。
数据架构原则:数据对象统一;数据,应用分离;数据异构;数据读写分离;数据库成本及管理;

 

常用的算法:著名的Google   网页排名算法:PageRank
                        著名的聚类算法:K-Means
                        以上两个算法,经常出现在论文  的实验部分或 example

 Bloom filter (HBase),B+、B- Tree(mysql,oracle,mongodb),Hash表+桶(redis)
,数据库索引,倒排索引(Inverted index),外排序,分布式处理(mapreduce)等

哈希树、布隆过滤器、LSM树 、map/reduce、倒排索引等
                        机器学习   数据挖掘等等. 

 数据结构:这个应该要看是针对什么应用而言,比如大数据的存储数据库有:key-value(Hbase、Cassandra) 、  列式存储 (Parquet)、Redis(hase  set)、mongodb(Json ... )    
                     分布式索引中的著名数据结构:倒排索引


大数据应用的未来挑战和趋势 

最大的挑战并不是技术和数据本身,而在与人们对于数据的认识和态度。这方面很多互联网公司做的比较好,它们拥有丰富的数据同时也有强烈的盈利需求,可以挖空心思的在各种数据上做文章;而对于很多传统行业,尤其是政府,首先它们还是相当重视数据的,甚至比互联网公司都要重视,但出于行政管理,组织利益和安全等的考虑数据往往会形成孤岛很难做到综合利用。
另外一方面的挑战是构建成功的大数据应用需要对业务逻辑和数据处理技术都有比较深入的理解,而且很难拆解开,因为业务的需求会直接影响到底层架构的设计以及算法和工具的选择,这一点和传统的交易型系统有很大区别,所以现在一些行业中的软件+数据库+硬件的分工模式不太适合大数据应用开发,市面上能够对各种因素通盘考虑做整体架构的公司并不多。
趋势的话我的理解,现在技术层面的工具,技术是一个百家齐放的局面,其原因一方面是开源项目的运营模式越来越成熟,另一方面是大数据的分析处理是多样化的,相信未来很长一段时间都会维持这个局面,传统的软件开发上已经逐渐向服务提供商转变,产品本身可能变得越来越不重要,贴合用户需求的定制化架构和解决方案可能更加受到欢迎,同时云计算的不断发展也将使得未来的架构设计更加轻松,部署和迁移更加便捷。

未来大数据的发展前景是巨大的,现在人们的生活已经离不开大数据了,云计算、云存储、电商等等网站的数据都是大数据,但是大数据的发展的技术还是面临挑战,技术的发展新的技术也在不断更新,所以大数据应用的挑战是结合新技术,不断优化大数据的算法。
大数据存储技术、并行计算、吞吐量
      大数据的实时查询(ad-hoc)、分析(OLAP),数据挖掘 等挑战
 

读完试读样章后 对海量待挖掘数据,数据切分算法,分布式图计算了解到大数据的精深之处。是一本不错的书籍。

### 大数据模型工程师面试问题及答案 #### 数据建模理论实践 大数据模型工程师需要具备深入理解常用的数据建模理论,并能够独立把控数据仓库的各层级设计[^2]。以下是几个常见的面试问题及其解答: 1. **什么是星型模式?** 星型模式是一种用于多维数据库中的数据结构,其中事实表位于中心位置,周围环绕着多个维度表。这种模式简化了查询操作并提高了性能。 2. **如何优化雪花模式下的查询效率?** 可以通过减少不必要的连接、增加索引以及合理分配分区来提升雪花模式下查询的速度。此外,在某些情况下考虑将部分维度表展开到事实表中也可以提高读取速度。 3. **描述一次完整的ETL流程。** ETL(Extract, Transform, Load)是指从源系统提取原始数据,经过清洗转换之后加载至目标存储的过程。通常涉及以下几个阶段: - 提取:从业务系统的日志文件或其他形式获取初始记录; - 清洗:去除重复项、填补缺失值等预处理工作; - 转换:按照既定规则映射字段名、调整格式或执行聚合运算; - 加载:最终写入目的库完成整个过程。 #### 技术栈掌握程度 除了扎实的数据建模基础外,候选人还应展示其对多种工具和技术框架的应用能力,特别是Hive/SQL、Spark/Map-Reduce/MPI分布式计算框架等方面的知识水平。 1. **解释一下Hive中的内部表和外部表的区别是什么?** 内部表由Hive管理生命周期,默认会删除关联的数据;而外部表则指向已存在的HDFS路径上的文件夹,不会影响原有数据的存在否。 2. **谈谈你在实际项目里是如何利用Spark进行大规模数据分析工作的?** Spark提供了强大的内存计算引擎,使得迭代式算法运行更加高效快捷。可以通过编写Scala程序调用RDD接口实现自定义逻辑,同时借助DataFrame API简化复杂查询语句构建难度。 3. **MPI相比于其他消息传递协议有什么特点?** MPI(Message Passing Interface)是一套标准化的消息传递标准,广泛应用于高性能科学计算领域。它具有良好的跨平台兼容性和高效的通信机制,适用于集群环境下的并行编程任务。 ### 大数据模型工程师面试技巧 为了成功应对这类职位的技术挑战,建议采取如下策略: - 准备充分的实际案例分享,证明自己不仅掌握了理论概念而且拥有丰富的实战经验。 - 对于不熟悉的题目保持冷静思考的态度,尝试运用已有知识体系推导解决方案而不是盲目猜测。 - 注重沟通表达的质量,清晰阐述思路的同时也要注意倾听对方反馈以便及时调整方向。 ### 大数据模型工程师岗位要求 该角色的核心职责在于负责公司内各类大型数据集的设计规划实施维护,因此应聘者需满足以下条件之一或多项组合而成的能力矩阵[^1]: - 掌握Java、Python等主流编程语言,熟悉Linux操作系统命令行操作。 - 精通关系型数据库管理系统(MySQL/Oracle),能熟练编写复杂的SQL脚本。 - 深入了解NoSQL数据库特性(HBase/Cassandra),知晓何时选用何种类型的持久化层架构更为合适。 - 具有较强的学习能力和创新精神,愿意不断探索新兴技术和方法论前沿地带。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值