大数据开发笔试

合集下载

大数据开发工程师招聘笔试题及解答(某大型央企)2025年

大数据开发工程师招聘笔试题及解答(某大型央企)2025年

2025年招聘大数据开发工程师笔试题及解答(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、大数据开发工程师在数据处理中经常使用的一种模式是将大规模数据集分成较小的部分,然后并行处理这些数据。

这种处理模式被称为:A、顺序处理B、并行处理C、串行处理D、实时处理2、大数据开发工程师需要频繁处理的数据量巨大,因此常常需要使用一些能够高效管理庞大数据集的技术。

下列哪个技术不是专门用于大数据处理的开源技术?A、HadoopB、SparkC、RedisD、Hive3、关于大数据处理的分布式技术,以下哪个选项不是常见的技术?A. Hadoop HDFSB. SparkC. NoSQL数据库D. Kafka4、在数据处理中,以下哪个指标通常用于描述数据的分布情况?A. 常数B. 标准差C. 直方图D. 频率5、下列哪种编程模型最适合用于处理大规模数据流的实时分析?A. MapReduceB. Spark StreamingC. Hadoop Batch ProcessingD. HiveQL6、在Hadoop生态系统中,哪个组件主要用于存储大量小文件会更加高效?A. HDFSB. HBaseC. HiveD. Amazon S37、大数据开发工程师在处理海量数据时,以下哪种技术通常用于提高数据处理速度和效率?A. MapReduceB. Hadoop Distributed File System (HDFS)C. Apache SparkD. NoSQL数据库8、在大数据项目中,以下哪个组件通常负责数据的清洗和预处理?A. 数据仓库B. ETL工具C. 数据挖掘模型D. 数据可视化工具9、大数据开发工程师在处理海量数据时,以下哪个工具通常用于数据的实时处理和分析?A. HadoopB. SparkC. HiveD. Storm 10、在数据仓库设计中,以下哪个数据模型是用来支持在线事务处理(OLTP)的系统?A. 星型模型B. 雪花模型C. 事实表-维度表模型D. 星网型模型二、多项选择题(本大题有10小题,每小题4分,共40分)1、下列哪些是Hadoop生态系统中的组件?A. HDFSB. MapReduceC. SparkD. MySQLE. Hive2、在Apache Kafka中,下列关于Topic的说法正确的有哪些?A. Topic是由生产者创建的。

大数据开发工程师招聘笔试题与参考答案(某大型国企)2024年

大数据开发工程师招聘笔试题与参考答案(某大型国企)2024年

2024年招聘大数据开发工程师笔试题与参考答案(某大型国企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个技术栈是大数据开发工程师常用的核心技术栈之一?A、Java + Hadoop + SparkB、Python + Pandas + NumPyC、C++ + Redis + KafkaD、JavaScript + React + Node.js2、在大数据生态中,以下哪个组件用于实现数据仓库的构建?A、HiveB、HBaseC、ElasticsearchD、Kafka3、某大型国企在进行数据仓库设计时,需要考虑数据仓库的以下哪些特点?(多选)A、数据仓库是面向主题的B、数据仓库是集成的C、数据仓库是非易失的D、数据仓库是实时更新的4、在数据仓库的ETL(Extract, Transform, Load)过程中,以下哪个步骤属于数据转换阶段?(单选)A、数据抽取B、数据清洗C、数据加载D、数据映射5、在以下关于Hadoop的描述中,哪项是错误的?A、Hadoop是一个开源的分布式计算框架,用于处理大规模数据集。

B、Hadoop使用MapReduce编程模型来处理数据。

C、Hadoop的存储系统是HDFS(Hadoop Distributed File System),它不保证数据的原子性。

D、Hadoop的主要组件包括HDFS、MapReduce、YARN和ZooKeeper。

6、以下哪个不是Spark的组件?A、Spark SQLB、Spark StreamingC、Spark MLlibD、Hadoop YARN7、某大型国企的数据仓库中包含了一个用户行为数据表,该表记录了用户在平台上的浏览、购买等行为。

以下关于该数据表的说法,正确的是:A、该数据表应该是时序数据库,因为记录了用户的行为时间序列。

B、该数据表应该是文档数据库,因为存储了用户的具体行为描述。

大数据开发工程师招聘笔试题与参考答案2025年

大数据开发工程师招聘笔试题与参考答案2025年

2025年招聘大数据开发工程师笔试题与参考答案(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、在大数据处理中,以下哪个技术或框架主要用于实时数据流处理?A. HadoopB. SparkC. KafkaD. Flink2、在大数据存储中,HDFS(Hadoop Distributed File System)的设计目标是?A. 提供低延迟的数据访问B. 支持随机读写操作C. 提供高吞吐量的数据访问D. 适用于小型数据集3、题干:以下哪种数据结构最适合存储大规模数据集,并支持快速的数据检索?A. 数组B. 链表C. 树D. 哈希表4、题干:在分布式系统中,以下哪个组件负责处理数据分片和分布式事务?A. 数据库B. 应用服务器C. 分布式文件系统D. 分布式数据库中间件5、大数据开发工程师在处理大规模数据集时,通常使用的分布式文件系统是:A. HDFS(Hadoop Distributed File System)B. NFS(Network File System)C. SMB(Server Message Block)D. APFS(Apple File System)6、在数据仓库中,用于存储元数据的表通常被称为:A. fact table(事实表)B. dimension table(维度表)C. lookup table(查找表)D. metadata table(元数据表)7、大数据开发工程师在处理海量数据时,以下哪种技术通常用于数据存储和管理?A. 关系型数据库B. NoSQL数据库C. 文件系统D. 数据库管理系统8、在大数据技术中,以下哪个组件通常用于实现数据流处理?A. Hadoop MapReduceB. Apache KafkaC. Apache SparkD. Apache HBase9、在Hadoop生态系统中,用于进行分布式存储的是哪一个组件?A. HDFSB. YARNC. MapReduceD. Hive 10、以下哪个算法不是机器学习中的监督学习算法?A. 支持向量机(SVM)B. 决策树C. 深度学习D. K-均值聚类二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术或工具通常用于大数据开发?()A、Hadoop HDFSB、Spark SQLC、MongoDBD、ElasticsearchE、MySQL2、以下哪些算法或模型在机器学习的大数据处理中应用广泛?()A、K-Means聚类B、决策树C、神经网络D、朴素贝叶斯E、线性回归3、关于大数据开发工程师所需掌握的技术栈,以下哪些技术是必要的?()A. Hadoop生态系统(包括HDFS、MapReduce、Hive等)B. Spark大数据处理框架C. NoSQL数据库(如MongoDB、Cassandra)D. 关系型数据库(如MySQL、Oracle)E. 容器技术(如Docker)4、以下关于大数据处理流程的描述,哪些是正确的?()A. 数据采集是大数据处理的第一步,需要从各种数据源获取原始数据。

大数据开发工程师招聘笔试题与参考答案(某世界500强集团)2025年

大数据开发工程师招聘笔试题与参考答案(某世界500强集团)2025年

2025年招聘大数据开发工程师笔试题与参考答案(某世界500强集团)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪项不是大数据开发工程师常用的编程语言?A. JavaB. PythonC. C++D. SQL2、在Hadoop生态系统中,以下哪个组件用于数据存储?A. Hadoop MapReduceB. Hadoop YARNC. Hadoop HDFSD. Hadoop Hive3、题干:以下哪种技术不是大数据处理中常用的分布式存储技术?A、Hadoop HDFSB、CassandraC、MySQLD、HBase4、题干:在Hadoop生态系统中,以下哪个组件主要用于实现流式计算?A、Hadoop MapReduceB、HiveC、Spark StreamingD、HBase5、以下哪种技术不属于大数据处理框架?A. HadoopB. SparkC. MongoDBD. Kafka6、以下哪种算法不适合用于大数据处理?A. MapReduceB. K-meansC. 决策树D. 回归分析7、在大数据处理中,以下哪个技术通常用于数据的实时处理?A. Hadoop MapReduceB. Spark StreamingC. ElasticsearchD. Hive8、以下哪种数据库管理系统适合用于大数据应用场景?A. MySQLB. PostgreSQLC. MongoDBD. Oracle9、在以下关于Hadoop生态系统组件的描述中,哪一个是负责处理海量数据的分布式存储系统?A. Hadoop MapReduceB. Hadoop HDFSC. Hadoop YARND. Hadoop Hive 10、在数据分析中,以下哪个工具主要用于数据清洗和预处理?A. PandasB. Scikit-learnC. TensorFlowD. Keras二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术栈是大数据开发工程师在项目中可能会使用的?()A、Hadoop生态圈(HDFS、MapReduce、Hive等)B、Spark生态圈(Spark SQL、Spark Streaming等)C、JavaD、PythonE、SQL2、以下哪些是大数据处理中常见的算法?()A、数据清洗算法B、数据挖掘算法C、机器学习算法D、分布式算法E、优化算法3、以下哪些技术是大数据处理中常用的分布式计算框架?()A、HadoopB、SparkC、FlinkD、MapReduceE、Drools4、以下哪些是大数据开发工程师需要掌握的编程语言?()A、JavaB、PythonC、ScalaD、SQLE、Shell5、以下哪些技术是大数据开发工程师在数据仓库设计中需要熟悉的?()A. ETL(Extract, Transform, Load)B. SQLC. NoSQLD. Hadoop6、大数据开发工程师在进行数据清洗时,以下哪些步骤是必要的?()A. 去除重复数据B. 处理缺失值C. 数据标准化D. 数据转换E. 数据校验7、以下哪些技术或工具通常用于大数据开发?()A. HadoopB. SparkC. MySQLD. KafkaE. Python8、大数据开发中,以下哪些是数据挖掘和分析常用的算法?()A. 决策树B. 聚类算法C. 支持向量机D. 主成分分析E. 时间序列分析9、以下哪些技术栈是大数据开发工程师在项目中常用的?()A. Hadoop生态圈(HDFS, MapReduce, YARN等)B. Spark生态圈(Spark Core, Spark SQL, Spark Streaming等)D. ElasticsearchE. Docker 10、以下关于大数据开发工程师的职责描述,正确的是?()A. 负责大数据平台的设计、开发和优化B. 负责数据采集、存储、处理和分析C. 负责数据挖掘和机器学习算法的应用D. 负责编写和维护数据可视化工具E. 负责大数据项目的前期规划和后期评估三、判断题(本大题有10小题,每小题2分,共20分)1、大数据开发工程师在数据处理时,通常使用Hadoop作为分布式存储和处理平台,而Hadoop的MapReduce编程模型是最核心的计算模型。

大数据开发笔试题(校招)

大数据开发笔试题(校招)

大数据开发笔试题(校招)温馨提示:诚信答题,请勿作弊,限时60分钟,中途不可退出,预祝取得好成绩一、单选(40分)姓名: [填空题] *_________________________________学校: [填空题] *_________________________________电话: [填空题] *_________________________________1、下列选项中,执行哪一个命令查看Linux系统的IP配置()。

[单选题] *A、ipconfigB、findC、ifconfig(正确答案)D、arp -a2、在MapReduce程序中,map()函数接收的数据格式是()。

[单选题] *A、字符串B、整型C、LongD、键值对(正确答案)3、下列选项中,关于HDFS的架构说法正确的是()。

[单选题] *A、HDFS采用的是主备架构B、HDFS采用的是主从架构(正确答案)C、HDFS采用的是从备架构D、以上说法均错误4、下列选项中,主要用于决定整个MapReduce程序性能高低的阶段是()。

[单选题] *A、MapTaskB、ReduceTaskC、分片、格式化数据源D、Shuffle(正确答案)5、HDFS中的Block默认保存()份。

[单选题] *A、3份(正确答案)B、2份C、1份D、不确定6、下列选项中,若是哪个节点关闭了,就无法访问Hadoop集群()。

[单选题] *A、namenode(正确答案)B、datanodeC、secondary namenodeD、yarn7、Hadoop2.0集群服务启动进程中,下列选项不包含的是()。

[单选题] *A、NameNodeB、JobTracker(正确答案)C、DataNodeD、ResourceManager8、在MapTask的Combine阶段,当处理完所有数据时,MapTask会对所有的临时文件进行一次()。

大数据开发工程师笔试题

大数据开发工程师笔试题

大数据开发工程师笔试题以下是一份大数据开发工程师的笔试题样例,供参考:一、选择题大数据的特点包括哪些?(多选)A. 数据量巨大B. 数据类型多样C. 数据处理速度快D. 数据价值密度高以下哪个工具不是用来处理大数据的?(单选)A. HadoopB. SparkC. FlinkD. Excel大数据开发中,通常使用哪种语言进行数据处理和分析?(单选)A. PythonB. JavaC. SQLD. R二、简答题简述大数据开发的基本流程。

描述大数据开发中数据预处理的常见方法。

三、编程题给定一个包含用户购买记录的数据集,要求编写一个程序,使用Python语言,计算每个用户的购买数量,并输出每个用户的购买数量。

给定一个包含用户评分的数据集,要求编写一个程序,使用Spark,计算每个电影的平均评分,并输出每个电影的平均评分。

四、分析题描述大数据在电商行业中的应用,并分析其优势和挑战。

讨论大数据技术在未来医疗领域的发展趋势和应用前景。

五、论述题阐述大数据在智慧城市建设中的作用,并分析如何通过大数据技术提升城市治理水平。

讨论大数据时代下个人隐私保护的挑战和应对策略。

六、算法题描述一个你熟悉的大数据算法,并解释其工作原理和应用场景。

设计一个基于大数据的推荐系统,并简要描述其核心算法和实现过程。

七、设计题设计一个大数据平台,用于企业内部的业务数据分析和决策支持。

请给出平台架构、主要模块和功能特点。

假设你是一家电商公司的数据科学家,你将如何利用大数据技术提升公司的销售额和用户满意度?请给出具体方案和实施步骤。

八、案例分析题分析一个大数据应用案例,如智能交通、金融风控等,并讨论其成功的原因和可改进之处。

结合具体案例,分析大数据技术在公益事业中的创新应用及其社会影响。

九、计算题假设一个数据集包含1000万个样本,每个样本有100个特征,需要进行特征工程和模型训练。

请计算完成这些任务所需的最小内存量(以GB为单位)。

已知一个Hadoop集群包含10个节点,每个节点有20个核心和128GB内存,请计算在进行MapReduce任务时,集群的最大并行度是多少?十、论述题讨论大数据时代下,对于企业和个人而言,如何适应数据驱动的决策方式,提升个人和组织的竞争力。

大数据开发工程师招聘笔试题与参考答案(某大型央企)2025年

大数据开发工程师招聘笔试题与参考答案(某大型央企)2025年

2025年招聘大数据开发工程师笔试题与参考答案(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、大数据开发工程师在处理海量数据时,以下哪种技术通常用于提高数据处理速度和效率?()A、关系型数据库管理系统B、分布式文件系统C、数据仓库技术D、内存数据库2、在Hadoop生态系统中,用于实现分布式计算和存储的框架是?()A、HiveB、MapReduceC、ZookeeperD、HBase3、题干:大数据开发工程师在数据仓库设计中,以下哪种数据模型最适合于支持复杂查询和快速数据访问?A、星型模型B、雪花模型C、星座模型D、星云模型4、题干:在处理大数据时,以下哪种技术可以有效地提高数据处理速度和效率?A、分布式文件系统B、关系型数据库C、NoSQL数据库D、内存数据库5、以下哪项不是大数据开发工程师常用的编程语言?A. PythonB. JavaC. C++D. SQL6、在Hadoop生态系统中,以下哪个组件用于实现分布式文件存储?A. HBaseB. HiveC. YARND. HDFS7、在Hadoop生态系统中,以下哪个组件主要用于处理大规模数据的分布式存储?A. HDFSB. YARNC. HiveD. HBase8、在数据分析中,以下哪个算法通常用于分类问题?A. K-MeansB. Decision TreeC. KNN(K-Nearest Neighbors)D. SVM(Support Vector Machine)9、大数据开发工程师在处理海量数据时,以下哪种技术通常用于提高数据处理的效率?A. 关系型数据库B. NoSQL数据库C. MapReduceD. 关系型数据库与NoSQL数据库结合 10、以下哪个不是Hadoop生态系统中用于处理大数据分析的技术?A. HiveB. HBaseC. PigD. Spark二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术是大数据开发工程师在处理海量数据时通常会使用的?()A、Hadoop生态系统中的HDFS、MapReduce、HiveB、Spark生态系统中的Spark Core、Spark SQL、Spark StreamingC、NoSQL数据库,如MongoDB、Cassandra、RedisD、关系型数据库,如MySQL、Oracle、SQL Server2、大数据开发工程师在数据预处理阶段通常会进行哪些操作?()A、数据清洗,包括去除重复数据、处理缺失值B、数据集成,将来自不同数据源的数据合并C、数据转换,将数据格式转换为适合分析的形式D、数据归一化,确保不同数据集之间的一致性E、数据脱敏,对敏感数据进行加密或屏蔽3、以下哪些技术栈是大数据开发工程师通常需要掌握的?()A、Hadoop生态系统(包括HDFS、MapReduce、Hive、HBase等)B、Spark生态圈(包括Spark Core、Spark SQL、Spark Streaming等)C、NoSQL数据库(如MongoDB、Cassandra、Redis等)D、关系型数据库(如MySQL、Oracle等)E、机器学习框架(如TensorFlow、PyTorch等)4、以下关于大数据处理流程的描述,正确的是()A、数据采集是大数据处理的第一步,包括从各种数据源获取数据B、数据预处理包括数据清洗、数据转换和数据去重等C、数据存储是将处理后的数据存储到分布式文件系统或数据库中D、数据分析是通过统计、机器学习等方法对数据进行挖掘和解释E、数据可视化是将数据分析的结果以图形、图表等形式展示出来5、以下哪些技术是大数据开发工程师在处理大数据时可能会使用到的?()A、Hadoop生态圈中的HDFS、MapReduceB、Spark和Spark StreamingC、Flink和StormD、MySQL和OracleE、Elasticsearch和Kibana6、以下哪些工具或平台是用于大数据开发工程师进行数据可视化和分析的?()A、TableauB、Power BIC、DatawrapperD、D3.jsE、Jupyter Notebook7、以下哪些技术栈是大数据开发工程师在项目中常用的?()A、Hadoop生态圈(HDFS、MapReduce、Hive、HBase等)B、Spark生态圈(Spark Core、Spark SQL、Spark Streaming等)C、FlinkD、KafkaE、Redis8、以下关于大数据处理流程的描述,正确的是?()A、数据采集是大数据处理的第一步,包括数据的收集和预处理B、数据存储是将采集到的数据存储到合适的存储系统中,如HDFSC、数据处理包括数据的清洗、转换和聚合等操作D、数据挖掘是从处理过的数据中提取有价值的信息或知识E、数据展示是将挖掘到的信息通过图表、报表等形式呈现给用户9、以下哪些技术栈是大数据开发工程师在项目开发中可能需要熟练掌握的?()A. Hadoop生态系统(包括HDFS、MapReduce、YARN等)B. Spark生态(包括Spark Core、Spark SQL、Spark Streaming等)C. Kafka消息队列D. Elasticsearch全文检索E. MySQL关系型数据库 10、以下哪些行为符合大数据开发工程师的职业规范?()A. 严格遵守公司代码审查和代码提交规范B. 在遇到技术难题时,首先尝试通过查阅资料和向同事求助解决C. 在团队协作中,积极分享自己的经验和知识D. 对于新技术的学习,只关注自己负责的模块,不关心其他模块E. 在项目中,遇到问题及时向上级汇报三、判断题(本大题有10小题,每小题2分,共20分)1、大数据开发工程师在工作中,Hadoop生态系统中的HDFS(Hadoop Distributed File System)主要用于存储非结构化和半结构化的大数据文件。

大数据开发岗笔试题

大数据开发岗笔试题

大数据开发岗笔试题
大数据开发岗是一个需要掌握多种技能的岗位,涉及到数据处理、数据分析、编程等多个方面。

在笔试题中可能涉及到以下内容:
1. 数据处理,可能会涉及到对大规模数据的处理能力,包括数
据清洗、数据转换、数据抽取等方面的题目。

这些题目可能会要求
应聘者熟练掌握Hadoop、Spark等大数据处理框架。

2. 编程能力,大数据开发岗位通常需要应聘者具备一定的编程
能力,可能会涉及到Java、Python等编程语言的相关题目,包括编
程逻辑、算法等方面的考察。

3. 数据库知识,大数据开发岗位可能会要求应聘者掌握数据库
相关知识,包括SQL语言的应用、数据库设计等方面的题目。

4. 大数据技术栈,可能会涉及到对大数据生态系统的了解,包
括Hadoop、Spark、Hive、Hbase等相关技术的应用和原理。

5. 数据分析能力,可能会要求应聘者具备一定的数据分析能力,包括数据挖掘、数据建模等方面的题目。

总的来说,大数据开发岗位的笔试题目会涵盖数据处理、编程能力、数据库知识、大数据技术栈和数据分析能力等多个方面,考察应聘者的综合能力和技术水平。

希望我的回答能够帮助到你。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、hdfs原理,以及各个模块的职责答:Hadoop Distributed File System即:Hadoop分布式文件系统,就是把数据划分成不同的Block 分别存储在不同节点的设备上。

它分为两个部分:NameNode和DateNode,NameNode相当于一个领导,将文件系统的Meta-data存储在内存中,这些信息主要包括了文件信息、每一个文件对应的文件块的信息和每一个文件块在DataNode的信息等。

它管理集群内的DataNode,当客户发送请求过来后,NameNode 会根据Meta-data指定存储到哪些DataNode上,而其本身并不存储真实的数据。

2、mr的工作原理答:当客户提交作业后,MapReduce库先把任务splits不同的块,然后根据“移动计算比移动数据更明智”的思想,把任务分发到各个DataNode上。

在不同的DataNode上分别执行Map操作,产生键值对,然后通过shuffle重新洗牌,把键值相同的键值对传给同一个reduce,把键值不同的键值对传给不同的reduce进行处理,最后输出结果。

这些按照时间顺序包括:输入分片(input split)、map阶段、combiner 阶段、shuffle阶段和reduce阶段。

(5个阶段)3、map方法是如何调用reduce方法的答:Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方,Hadoop的shuffle过程就是从map 端输出到reduce端输入之间的过程。

map过程的输出是写入本地磁盘而不是HDFS,但是一开始数据并不是直接写入磁盘而是缓冲在内存中,缓存的好处就是减少磁盘I/O的开销,提高合并和排序的速度。

默认的内存缓冲大小是100M(可以配置),所以在书写map函数的时候要尽量减少内存的使用,为shuffle过程预留更多的内存,因为该过程是最耗时的过程。

当缓冲的内存大小使用超过一定的阈值(默认80%),一个后台的线程就会启动把缓冲区中的数据写入(spill)到磁盘中,往内存中写入的线程继续写入知道缓冲区满,缓冲区满后线程阻塞直至缓冲区被清空。

在数据spill到磁盘的过程中会有一些额外的处理,调用partition函数、combine函数(如果设置)、对数据进行排序(按key排序)。

如果发生多次磁盘的溢出写,会在磁盘上形成几个溢出写文件,在map过程结束时,要将这些文件进行合并生成一个大的分区的排序的文件。

reduce端可能从n多map的结果中获取数据,而这些map的执行速度不尽相同,当其中一个map运行结束时,reduce就会从jobtractor中获取该信息。

map运行结束后tasktractor会得到消息,进而将消息汇报给jobtractor,reduce定时从jobtractor获取该信息,reduce端默认有5个线程从map端拖拉数据。

4、shell如何判断文件是否存在,如果不存在该如何处理?if[!-f"$file"];thentouch"$file"fi不存在就创建一个吧。

5、fsimage和edit的区别?答:fsimage保存了最新的元数据检查点,edits保存自最新检查点后的命名空间的变化。

从最新检查点后,hadoop将对每个文件的操作都保存在edits中,为避免edits不断增大,secondary namenode就会周期性合并fsimage和edits成新的fsimage,edits再记录新的变化,这种机制有个问题:因edits存放在Namenode中,当Namenode挂掉,edits也会丢失,导致利用secondary namenode恢复Namenode时,会有部分数据丢失。

6、hadoop1和hadoop2的区别?答:Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更:首先HDFS的NameNodes可以以集群的方式布署,增强了NameNodes的水平扩展能力和可用性,可以同时部署多个NameNode,这些NameNodes之间是相互独立,也就是说他们不需要相互协调,DataNode同时在所有NameNodes注册,做为他们共有的存储节点,并定时向所有的这些NameNodes发送心跳块使用情况的报告,并处理所有NameNodes向其发送的指令。

再者MapReduce将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN(Yet Another Resource Negotiator)。

MapReduce在Hadoop2中称为MR2或YARN,将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的服务,用于管理全部资源的ResourceManager以及管理每个应用的ApplicationMaster,ResourceManager 用于管理向应用程序分配计算资源,每个ApplicationMaster用于管理应用程序、调度以及协调。

笔试:1、hdfs中的block默认保存几份?答:默认3份,可以确保块、磁盘和机器发生故障后数据不丢失。

机架不同的机器上和不同的机架上。

2、哪个程序通常与nn在一个节点启动?并做分析答:jobtracker和namenode通常在一个节点上启动。

用户代码提交到集群以后,由JobTracker决定哪个文件将被处理,并且为不同的task分配节点。

而文件存储信息的管理者是nameNode,所以jobtracker 一般要和nn在同一个节点启动。

(同时,它还监控所有的task,一旦某个task失败了,JobTracker就会自动重新开启这个task,在大多数情况下这个task会被放在不用的节点上。

每个Hadoop集群只有一个JobTracker,一般运行在集群的Master节点上。

)3、列举几个配置文件优化?答:(1)hadoop.tmp.dir默认值:/tmp说明:尽量手动配置这个选项,否则的话都默认存在了里系统的默认临时文件/tmp里。

并且手动配置的时候,如果服务器是多磁盘的,每个磁盘都设置一个临时文件目录,这样便于mapreduce 或者hdfs等使用的时候提高磁盘IO效率。

(2)fs.inmemory.size.mb默认值:说明:reduce阶段用户合并map输出的内存限制。

这里设置200,可根据自身硬件设备进行更改测试。

(3)dfs.blocksize默认值:67108864说明:这个就是hdfs里一个文件块的大小了,默认64M,这里设置134217728,即128M,太大的话会有较少map同时计算,太小的话也浪费可用map个数资源,而且文件太小namenode就浪费内存多。

根据需要进行设置。

(4)Mapreduce.jobtracker.handler.count默认值:10说明:JobTracker可以启动的线程数,一般为tasktracker节点的4%。

4、写出你对zookeeper的理解ZooKeeper提供了一个简化并支持特定功能的分布式文件系统接口,加上数据同步,变更通知,客户端Cache等辅助机制。

实际上zookeeper是很适合做集群节点都具有相同配置文件或相同配置信息的管理同步工具,可以设置权限及触发功能。

比如集群中每一个加点安装部署zookeeper,构成zookeeper集群,配置好相应的watcher及触发运行脚本,在集群中任何一台的节点上修改配置文件,都会触发watcher,然后执行相应的配置信息同步脚本,更新所有其他节点上得配置信息,实现了配置的统一管理。

集群的配置(文件)管理(配置修改之后,zookeeper监控到自动更新同步到其他客户端,实现配置的统一管理)。

5、datanode首次加入cluster的时候,如果log报告不兼容文件版本,那需要namenode执行格式化操作,这样处理的原因是?添加了一个新的标识符ClusterID用于标识集群中所有的节点。

当格式化一个Namenode,需要提供这个标识符或者自动生成。

这个ID可以被用来格式化加入集群的其他Namenode。

6、谈谈数据倾斜,如何发生的,并给出优化方案主要原因:1)、key分布不均匀;2)、业务数据本身的特性;3)、建表时考虑不周;4)、某些SQL语句本身就有数据倾斜。

优化方案:1)、参数调节:hive.map.aggr=true;2)、SQL语句调节。

7、介绍一下hbase过滤器HBase为筛选数据提供了一组过滤器,通过这个过滤器可以在HBase中的数据的多个维度(行,列,数据版本)上进行对数据的筛选操作,也就是说过滤器最终能够筛选的数据能够细化到具体的一个存储单元格上(由行键,列名,时间戳定位)。

RowFilter、PrefixFilter。

8、mapreduce基本执行过程1.首先对输入数据源进行切片2.master调度worker执行map任务3.worker读取输入源片段4.worker执行map任务,将任务输出保存在本地5.master调度worker执行reduce任务,reduce worker读取map任务的输出文件6.执行reduce任务,将任务输出保存到HDFS9、谈谈hadoop1和hadoop2的区别10、hbase集群安装注意事项11、记录包含值域F和值域G,要分别统计相同G值的记录中不同的F值的数目,简单编写过程。

信息技术有限公司1、你们的集群规模?2、你们的数据是用什么导入到数据库的?导入到什么数据库?3、你们业务数据量多大?有多少行数据?(面试了三家,都问这个问题)4、你们处理数据是直接读数据库的数据还是读文本数据?5、你们写hive的hql语句,大概有多少条?6、你们提交的job任务大概有多少个?这些job执行完大概用多少时间?(面试了三家,都问这个问题)7、hive跟hbase的区别是?8、你在项目中主要的工作任务是?9、你在项目中遇到了哪些难题,是怎么解决的?10、你自己写过udf函数么?写了哪些?11、你的项目提交到job的时候数据量有多大?(面试了三家,都问这个问题)12、reduce后输出的数据量有多大?。

相关文档
最新文档