Hadoop面试八股文
Hadoop面试八股文注:只做个人博客使用,仅供参考
Hadoop中常问的就三块,第一:分布式存储(HDFS);第二:分布式计算框架(MapReduce);第三:资源调度框架(YARN)。
1. 请说下HDFS读写流程
这个问题虽然见过无数次,面试官问过无数次,还是有不少面试者不能完整的说出来,所以请务必记住。并且很多问题都是从HDFS读写流程中引申出来的。
HDFS写流程:
Client客户端发送上传请求,通过RPC与NameNode建立通信,NameNode检查该用户是否有上传权限,以及上传的文件是否在HDFS对应的目录下重名,如果这两者有任意一个不满足,则直接报错,如果两者都满足,则返回给客户端一个可以上传的信息;
Client根据文件的大小进行切分,默认128M一块,切分完成之后给NameNode发送请求第一个block块上传到哪些服务器上;
NameNode收到请求之后,根据网络拓扑和机架感知以及副本机制进行文件分配,返回可用的DataNode的地址;
注:Hadoop在设计时考虑到数据的安全与高效, 数据文件默认在HDFS上存放三份, 存储策略为本地一份,同 ...
Flink 基础教程
Apache Flink教程资料来源:Apache Flink Tutorial (tutorialspoint.com)
Apache Flink是Apache Hadoop的开源本地分析数据库。它由Cloudera、MapR、Oracle和Amazon等供应商提供。本教程中提供的示例是使用Cloudera Apache Flink开发的。
本教程是为那些想要学习Apache Flink的人准备的。Apache Flink使用传统的SQL知识以闪电般(松鼠般doge)的速度处理大量数据。
1. Flink-前置知识1.1 大数据平台学习Flink之前,先来点前置知识
在过去的10年里,数据的进步是巨大的;这就产生了一个术语“大数据”。可以称之为大数据的没有固定大小;传统系统(RDBMS)无法处理的任何数据都是大数据。这些大数据可以是结构化、半结构化或非结构化的格式。最初,数据有三个维度:体量(Volume) 、速度(Velocity)、种类(Variety)。现在,维度已经超过了三个“V”.我们现在添加了其他的V -真实性(Veracity),有效性(Validity),脆弱性(V ...
数据仓库基础教程
数据仓库 基础教程1. 数据仓库概述
数据仓库(Data Warehouse,简称DW或者DWH)是通过集成来自多个异构数据源的数据来构建的。它支持分析报告、结构化和/或特别查询和决策制定。本教程采用循序渐进的方法来解释数据仓库的所有必要概念。
“数据仓库”一词最早是由Bill Inmon在1990年提出的。根据Inmon的说法,数据仓库是面向主题的、集成的、时变的、非易失性的数据集合。这些数据有助于分析人员在组织中做出明智的决策。
由于事务的发生,操作数据库每天都要经历频繁的变化。假设业务主管想要分析任何数据(如产品、供应商或任何消费者数据)的先前反馈,那么该主管将没有可用的数据来分析,因为先前的数据已经由于事务的变化而更新。
数据仓库在多维视图中为我们提供一般化和整合的数据。除了一般化和统一的数据视图外,数据仓库还为我们提供了在线分析处理(OLAP)工具。这些工具帮助我们在多维空间中进行交互式和有效的数据分析。这种分析的结果是数据泛化和数据挖掘。
将关联、聚类、分类、预测等数据挖掘功能与OLAP操作集成在一起,增强了多层次抽象知识的交互式挖掘。这就是为什么数据仓库现在已 ...
Hive基础教程
Apache Hive 教程
资料来源:Hive Tutorial (tutorialspoint.com)
Hive是Hadoop中用于处理结构化数据的数据仓库基础设施工具。它驻留在Hadoop之上,对大数据进行汇总,使查询和分析变得容易。
这是一个简短的教程,介绍了如何在Hadoop分布式文件系统中使用Apache Hive HiveQL。本教程可以成为你成为一个成功的Hadoop开发人员的第一步。
1. Hive-简介1.1 学习Hive的前置知识“大数据”一词用于大型数据集的集合,这些数据集包括巨大的容量、高速度和每天都在增加的各种数据。传统的数据管理系统难以处理大数据。因此,Apache软件基金会引入了一个名为Hadoop的框架来解决大数据管理和处理方面的挑战。
hadoop
Hadoop是一个开源框架,用于在分布式环境中存储和处理大数据。它包含两个模块,一个是MapReduce,另一个是HDFS (Hadoop Distributed File System)。这是hadoop1.x,hadoop2.x以后还引入了Yarn
MapReduce:它是一个并行编程模型,用于处 ...
Zookeeper基础教程
Zookeeper基础教程资料来源:Zookeeper Tutorial (tutorialspoint.com)
zookeeper就是Hadoop生态动物园的管理员
1. Zookeeper-概述ZooKeeper是一种分布式协调服务,用于管理大型主机集群(large set of hosts)。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper用它简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用逻辑,而不用担心应用的分布式特性。
ZooKeeper框架最初是在Yahoo!,以便以一种简单而稳健的方式访问他们的应用程序。后来,Apache ZooKeeper成为Hadoop、HBase和其他分布式框架使用的有组织服务的标准。例如,Apache HBase使用ZooKeeper来跟踪分布式数据的状态。本教程解释了ZooKeeper的基础知识,如何在分布式环境中安装和部署ZooKeeper集群,最后以使用Java编程和示例应用程序的几个示例结束。
在进一步讨论之前,了解一些关于分布式应用程序的知识是很重要的。因此,让我们从快速概述分布式应 ...
SOFTS介绍
SOFTS:Efficient Multivariate Time Series Forecasting with Series-Core Fusion【论文标题】SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion
【论文地址】https://arxiv.org/abs/2404.14197
【论文源码】https://github.com/Secilia-Cxy/SOFTS
【作者】Lu Han
【机构】南京大学 人工智能学院
【期刊】TKDE 2024
1. 论文背景多变量时间序列预测在金融、交通管理、能源和医疗保健等多个领域中扮演着至关重要的角色。最近的研究强调了通道独立性在抵抗分布漂移方面的优势,但忽视了通道间的相关性,限制了进一步的改进。一些方法通过使用注意力或混合器等机制来捕捉通道间的相关性,但它们要么引入了过多的复杂性,要么过于依赖相关性,在分布漂移下,尤其是在大量通道的情况下,难以取得满意的结果。
本文介绍最近的一篇探索如何在更好地建模通道(channel)之间的相关 ...
Kafka基础教程
Kafka基础教程资料来源:Apache Kafka - Introduction (tutorialspoint.com)
Apache Kafka起源于LinkedIn,后来在2011年成为一个开源Apache项目,然后在2012年成为一流的Apache项目。Kafka是用Scala和Java编写的。Apache Kafka是基于发布-订阅( publish-subscribe)的容错消息传递系统(fault tolerant messaging system)。它是快速的,可扩展的和分布式的设计。
本教程将探索Kafka的原理,安装,操作,然后将带您完成Kafka集群的部署。最后,我们将总结实时应用和与大数据技术的集成。
1. Kafka-简介在大数据中,使用了大量的数据。关于数据,我们面临两个主要挑战。第一个挑战是如何收集大量的数据,第二个挑战是如何分析收集到的数据。为了克服这些挑战,您必须需要一个消息传递系统。
Kafka是为分布式高吞吐量系统设计的。Kafka可以很好地替代传统的消息代理。与其他消息传递系统相比,Kafka具有更好的吞吐量、内置分区、可复制和固有的容错能力, ...
Flume基础教程
Apache Flume教程资料来源:Apache Flume - Introduction (tutorialspoint.com)
Flume是一个标准的、简单的、健壮的、灵活的、可扩展的工具,用于将从各种数据生产者(web服务器)中所产生的数据抽取到Hadoop中。在本教程中,我们将使用简单的说明性示例来解释Apache Flume的基础知识以及如何在实践中使用它。
1. Flume-简介什么是Flume?
Apache Flume是一个工具/服务/数据抽取机制,用于从不同的数据来源收集和传输大量的流数据(如日志文件、事件等)到一个集中的数据存储。
Flume是一个高度可靠、分布式和可配置的工具。它主要用于从各种web服务器,将流数据(日志数据)传输到HDFS中。
下图1-1是Flume作用示例图:
Flume的应用场景
假设电子商务web应用程序想要分析来自特定地区的客户行为。为此,他们需要将可用的日志数据移到Hadoop(HDFS)中进行分析。在这此场景,Apache Flume就可以解决这个日志数据移动工作。
Flume用于将应用服务器生成的日志数据 ...
力扣面试经典150题——数组/字符串
力扣面试经典150题——数组/字符串1. 合并两个有序数组题目编号:88
题目链接:88. 合并两个有序数组 - 力扣(LeetCode)
难度:简单
题目描述:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。
请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。
注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。
示例 1:
1234输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]解释:需要合并 [1,2,3] 和 [2,5,6] 。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。
示例 2:
1234输入:nums1 = [1], m = 1 ...
财经书籍清单
财经类书籍清单创业类推荐来源1:【停止伪读书|普通人逆天改命的12本书,看完会颠覆你的认知】 https://www.bilibili.com/video/BV1wj411b7kF/?share_source=copy_web&vd_source=3fd9cbff8cbecc921846c20cfdda4be6
实战类:《圈子圈套》《煤老板自述三十年》《抢单手记》《伏牛传》《遥远的救世主》-———————————原理类:《关乎天下——中小企业赢的秘密》《精益创业》《精益创业实战》主题阅读:管理类:德鲁克,《卓有成效的管理者》,《第五项修炼》社媒传播:传播学《舆论》,《理解媒介》战略和决策:曾鸣《略胜一筹》《蓝海战略》互联网营销:《浪潮式发售》《抢占心智》《人心红利》《破解增长焦虑》产品:《启示录》《乔布斯》-———————————新个体类:《每周工作四小时》(提高你的时薪),《重来3:跳出疯狂的忙碌》《财富自由之路》李笑来《做生意的艺术》特朗普-———————————人文类:《时间与河流》,四部曲《天使望故乡》《时间与河流》《蛛网与磐石》《你不能再回家》《半生缘》《奇鸟行状录 ...