6道常见hadoop面试题

这篇具有很好参考价值的文章主要介绍了6道常见hadoop面试题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 Q1.什么是Hadoop?   Hadoop是一个开源软件框架,用于存储大量数据,并发处理/查询在具有多个商用硬件(即低成本硬件)节点的集群上的那些数据。总之,Hadoop包括以下内容:   HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系统):HDFS允许你以一种分布式和冗余的方式存储大量数据。例如,1GB(即1024MB)文本文件可以拆分为16*128MB文件,并存储在Hadoop集群中的8个不同节点上。每个分裂可以复制3次,以实现容错,以便如果1个节点故障的话,也有备份。HDFS适用于顺序的“一次写入、多次读取”的类型访问。

6道常见hadoop面试题

  MapReduce:一个计算框架。它以分布式和并行的方式处理大量的数据。当你对所有年龄>18的用户在上述1GB文件上执行查询时,将会有“8个映射”函数并行运行,以在其128MB拆分文件中提取年龄>18的用户,然后“reduce”函数将运行以将所有单独的输出组合成单个最终结果。

  YARN(YetAnotherResourceNagotiator,又一资源定位器):用于作业调度和集群资源管理的框架。

  Hadoop生态系统,拥有15多种框架和工具,如Sqoop,Flume,Kafka,Pig,Hive,Spark,Impala等,以便将数据摄入HDFS,在HDFS中转移数据(即变换,丰富,聚合等),并查询来自HDFS的数据用于商业智能和分析。某些工具(如Pig和Hive)是MapReduce上的抽象层,而Spark和Impala等其他工具则是来自MapReduce的改进架构/设计,用于显著提高的延迟以支持近实时(即NRT)和实时处理。

  Q2.为什么组织从传统的数据仓库工具转移到基于Hadoop生态系统的智能数据中心?

  Hadoop组织正在从以下几个方面提高自己的能力:

  现有数据基础设施:

  主要使用存储在高端和昂贵硬件中的“structureddata,结构化数据”

  主要处理为ETL批处理作业,用于将数据提取到RDBMS和数据仓库系统中进行数据挖掘,分析和报告,以进行关键业务决策。

  主要处理以千兆字节到兆字节为单位的数据量

  基于Hadoop的更智能的数据基础设施,其中结构化(例如RDBMS),非结构化(例如images,PDF,docs)和半结构化(例如logs,XMLs)的数据可以以可扩展和容错的方式存储在较便宜的商品机器中。

  可以通过批处理作业和近实时(即,NRT,200毫秒至2秒)流(例如Flume和Kafka)来摄取数据。

  数据可以使用诸如Spark和Impala之类的工具以低延迟(即低于100毫秒)的能力查询。

  可以存储以兆兆字节到千兆字节为单位的较大数据量。这使得组织能够使用更强大的工具来做出更好的业务决策,这些更强大的工具用于获取数据,转移存储的数据(例如聚合,丰富,变换等),以及使用低延迟的报告功能和商业智能。

Q3.更智能&更大的数据中心架构与传统的数据仓库架构有何不同?

  传统的企业数据仓库架构

6道常见hadoop面试题

  基于Hadoop的数据中心架构

6道常见hadoop面试题

Q4.基于Hadoop的数据中心的好处是什么?

  随着数据量和复杂性的增加,提高了整体SLA(即服务水平协议)。例如,“SharedNothing”架构,并行处理,内存密集型处理框架,如Spark和Impala,以及YARN容量调度程序中的资源抢占。

  缩放数据仓库可能会很昂贵。添加额外的高端硬件容量以及获取数据仓库工具的许可证可能会显著增加成本。基于Hadoop的解决方案不仅在商品硬件节点和开源工具方面更便宜,而且还可以通过将数据转换卸载到Hadoop工具(如Spark和Impala)来补足数据仓库解决方案,从而更高效地并行处理大数据。这也将释放数据仓库资源。

  探索新的渠道和线索。Hadoop可以为数据科学家提供探索性的沙盒,以从社交媒体,日志文件,电子邮件等地方发现潜在的有价值的数据,这些数据通常在数据仓库中不可得。

  更好的灵活性。通常业务需求的改变,也需要对架构和报告进行更改。基于Hadoop的解决方案不仅可以灵活地处理不断发展的模式,还可以处理来自不同来源,如社交媒体,应用程序日志文件,image,PDF和文档文件的半结构化和非结构化数据。

  Q5.大数据解决方案的关键步骤是什么?

  提取数据,存储数据(即数据建模)和处理数据(即数据加工,数据转换和查询数据)。

提取数据

  从各种来源提取数据,例如:

  RDBM(RelationalDatabaseManagementSystems)关系数据库管理系统,如Oracle,MySQL等。

  ERPs(EnterpriseResourcePlanning)企业资源规划(即ERP)系统,如SAP。

  CRM(CustomerRelationshipsManagement)客户关系管理系统,如Siebel,Salesforce等

  社交媒体Feed和日志文件。

  平面文件,文档和图像。

  并将其存储在基于“Hadoop分布式文件系统”(简称HDFS)的数据中心上。可以通过批处理作业(例如每15分钟运行一次,每晚一次,等),近实时(即100毫秒至2分钟)流式传输和实时流式传输(即100毫秒以下)去采集数据。

  Hadoop中使用的一个常用术语是“Schema-On-Read”。这意味着未处理(也称为原始)的数据可以被加载到HDFS,其具有基于处理应用的需求在处理之时应用的结构。这与“Schema-On-Write”不同,后者用于需要在加载数据之前在RDBM中定义模式。

 存储数据

  数据可以存储在HDFS或NoSQL数据库,如HBase。HDFS针对顺序访问和“一次写入和多次读取”的使用模式进行了优化。HDFS具有很高的读写速率,因为它可以将I/O并行到多个驱动器。HBase在HDFS之上,并以柱状方式将数据存储为键/值对。列作为列家族在一起。HBase适合随机读/写访问。在Hadoop中存储数据之前,你需要考虑以下几点:

  数据存储格式:有许多可以应用的文件格式(例如CSV,JSON,序列,AVRO,Parquet等)和数据压缩算法(例如snappy,LZO,gzip,bzip2等)。每个都有特殊的优势。像LZO和bzip2的压缩算法是可拆分的。

  数据建模:尽管Hadoop的无模式性质,模式设计依然是一个重要的考虑方面。这包括存储在HBase,Hive和Impala中的对象的目录结构和模式。Hadoop通常用作整个组织的数据中心,并且数据旨在共享。因此,结构化和有组织的数据存储很重要。

  元数据管理:与存储数据相关的元数据。

  多用户:更智能的数据中心托管多个用户、组和应用程序。这往往导致与统治、标准化和管理相关的挑战。

  处理数据Hadoop的处理框架使用HDFS。它使用“SharedNothing”架构,在分布式系统中,每个节点完全独立于系统中的其他节点。没有共享资源,如CPU,内存以及会成为瓶颈的磁盘存储。Hadoop的处理框架(如Spark,Pig,Hive,Impala等)处理数据的不同子集,并且不需要管理对共享数据的访问。“SharedNothing”架构是非常可扩展的,因为更多的节点可以被添加而没有更进一步的争用和容错,因为每个节点是独立的,并且没有单点故障,系统可以从单个节点的故障快速恢复。

  Q6.你会如何选择不同的文件格式存储和处理数据?

  设计决策的关键之一是基于以下方面关注文件格式:

  使用模式,例如访问50列中的5列,而不是访问大多数列。

  可并行处理的可分裂性。

  块压缩节省存储空间vs读/写/传输性能

  模式演化以添加字段,修改字段和重命名字段。

  CSV文件CSV文件通常用于在Hadoop和外部系统之间交换数据。CSV是可读和可解析的。CSV可以方便地用于从数据库到Hadoop或到分析数据库的批量加载。在Hadoop中使用CSV文件时,不包括页眉或页脚行。文件的每一行都应包含记录。CSV文件对模式评估的支持是有限的,因为新字段只能附加到记录的结尾,并且现有字段不能受到限制。CSV文件不支持块压缩,因此压缩CSV文件会有明显的读取性能成本。

  JSON文件JSON记录与JSON文件不同;每一行都是其JSON记录。由于JSON将模式和数据一起存储在每个记录中,因此它能够实现完整的模式演进和可拆分性。此外,JSON文件不支持块级压缩。

  序列文件序列文件以与CSV文件类似的结构用二进制格式存储数据。像CSV一样,序列文件不存储元数据,因此只有模式进化才将新字段附加到记录的末尾。与CSV文件不同,序列文件确实支持块压缩。序列文件也是可拆分的。序列文件可以用于解决“小文件问题”,方式是通过组合较小的通过存储文件名作为键和文件内容作为值的XML文件。由于读取序列文件的复杂性,它们更适合用于在飞行中的(即中间的)数据存储。

注意:序列文件是以Java为中心的,不能跨平台使用。

  Avro文件适合于有模式的长期存储。Avro文件存储具有数据的元数据,但也允许指定用于读取文件的独立模式。启用完全的模式进化支持,允许你通过定义新的独立模式重命名、添加和删除字段以及更改字段的数据类型。Avro文件以JSON格式定义模式,数据将采用二进制JSON格式。Avro文件也是可拆分的,并支持块压缩。更适合需要行级访问的使用模式。这意味着查询该行中的所有列。不适用于行有50+列,但使用模式只需要访问10个或更少的列。Parquet文件格式更适合这个列访问使用模式。

  Columnar格式,例如RCFile,ORCRDBM以面向行的方式存储记录,因为这对于需要在获取许多列的记录的情况下是高效的。如果在向磁盘写入记录时已知所有列值,则面向行的写也是有效的。但是这种方法不能有效地获取行中的仅10%的列或者在写入时所有列值都不知道的情况。这是Columnar文件更有意义的地方。所以Columnar格式在以下情况下工作良好

  在不属于查询的列上跳过I/O和解压缩

  用于仅访问列的一小部分的查询。

  用于数据仓库型应用程序,其中用户想要在大量记录上聚合某些列。

  RC和ORC格式是专门用Hive写的而不是通用作为Parquet。

  Parquet文件Parquet文件是一个columnar文件,如RC和ORC。Parquet文件支持块压缩并针对查询性能进行了优化,可以从50多个列记录中选择10个或更少的列。Parquet文件写入性能比非columnar文件格式慢。Parquet通过允许在最后添加新列,还支持有限的模式演变。Parquet可以使用AvroAPI和Avro架构进行读写。文章来源地址https://www.toymoban.com/news/detail-490140.html

到了这里,关于6道常见hadoop面试题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 6道常见hadoop面试题及答案解析

    Q1.什么是Hadoop?   Hadoop是一个开源软件框架,用于存储大量数据,并发处理/查询在具有多个商用硬件(即低成本硬件)节点的集群上的那些数据。总之,Hadoop包括以下内容:   HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系统):HDFS允许你以一种分布式和冗余的方式存

    2024年02月09日
    浏览(33)
  • 一文搞懂什么是Hadoop?Hadoop的前世今生,Hadoop的优点有哪些?Hadoop面试考查重点,大数据技术生态体系

    目录 1.1 Hadoop 是什么  1.2 Hadoop 发展历史 1.3 Hadoop 三大发行版本  1.4 Hadoop优势(4高)  1.5 Hadoop 组成(面试重点)  1.5.1 HDFS 架构概述   1.5.2 YARN 架构概述   1.5.3 MapReduce 架构概述   1.5.4 HDFS、YARN、MapReduce 三者关系   1.6 大数据技术生态体系  1.7 推荐系统框架图   (1 ) Had

    2024年02月01日
    浏览(37)
  • Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据

    Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据。它是由Apache软件基金会开发的,现在已经成为大数据领域中广泛使用的技术之一。 Hadoop架构 Hadoop的架构包括以下几个主要组件: Hadoop Distributed File System (HDFS) : HDFS是Hadoop的核心组件之一,它是一个分布式文

    2024年02月04日
    浏览(41)
  • Hadoop必会面试题

    目录 1.分布式和集群介绍 1.Hadoop的架构图 2.Hadoop集群环境HDFS 1.HDFS原理--分布式介绍 2.HDFS原理--架构图 3.高可用模式: 4.HDFS原理--分块存储 5.HDFS原理--namenode如何管理元数据 6.HDFS原理--SecondaryNameNode如何辅助namenode管理元数据 7.HDFS原理--三大机制详解 8.HDFS原理--HDFS写数据流程

    2024年03月24日
    浏览(37)
  • Hadoop期末复习试题和答案

    2. NameNode在启动时自动进入安全模式,在安全模式阶段,说法错误的是 A. 安全模式目的是在系统启动时检查各个DataNode上数据块的有效性 B. 根据策略对数据块进行必要的复制或删除 C. 当数据块最小百分比数满足最小副本数条件时,会自动退出安全模式 D. 文件系统允许有修改

    2024年02月02日
    浏览(36)
  • Hadoop环境搭建常见错误

    1)防火墙没关闭、或者没有启动YARN 2)主机名称配置错误 3)IP地址配置错误 4)ssh没有配置好 5)root用户和ovo两个用户启动集群不统一 6)配置文件修改不细心 7)不识别主机名称

    2024年02月13日
    浏览(22)
  • Hadoop常见配置文件及用处

    Hadoop 的配置文件包括多个文件,每个文件都有不同的作用和用途。以下是 Hadoop 常见的配置文件及其用途: core-site.xml:配置 Hadoop 的基本属性,例如 HDFS 的默认文件系统、I/O 和记录日志等设置。 hdfs-site.xml:配置 HDFS 的属性,例如数据块大小、副本数量、名字节点和数据节点

    2024年02月09日
    浏览(19)
  • 【hadoop】常见期末考试客观题大全

    以下哪一项不属于 Hadoop 可以运行的模式 C 。 A. 单机(本地)模式 B. 伪分布式模式 C. 互联模式 D. 分布式模式 Hadoop 的作者是下面哪一位 B __。 A. Martin Fowler B. Doug cutting C. Kent Beck D. Grace Hopper 下列哪个程序通常与 NameNode 在同一个节点启动 D _。 A. TaskTracker B. DataNode C. SecondaryNa

    2024年02月02日
    浏览(24)
  • Hadoop常见异常及其解决方案

    1、Shell$ExitCodeException 现象:运行hadoop job时出现如下异常: 14/07/09 14:42:50 INFO mapreduce.Job: Task Id : attempt_1404886826875_0007_m_000000_1, Status : FAILED Exception from container-launch: org.apache.hadoop.util.Shell E x i t C o d e E x c e p t i o n : o r g . a p a c h e . h a d o o p . u t i l . S h e l l ExitCodeException: org.ap

    2024年02月06日
    浏览(30)
  • Hadoop面试题十道

    问题 1:Hadoop是什么? 答案:Hadoop是一个开源的分布式计算框架,用于处理大规模数据集的存储和处理。它基于Google的MapReduce和Google文件系统(GFS)的思想,旨在解决大数据量的处理和分析问题。 问题 2:Hadoop的核心组件有哪些? 答案:Hadoop的核心组件包括以下几个: Hado

    2024年02月09日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包