高阶!Hadoop面试题合集精品推荐

Hadoop面试问题

在许多公司中都提供了Hadoop面试问题和答案。让我们看一下最重要的Hadoop面试问题列表。

1)什么是Hadoop?

Hadoop是一个分布式计算平台。它是用Java编写的。它包含Google File System和MapReduce之类的功能。


2)运行Hadoop需要什么平台和Java版本?

Java 1.6.x或更高版本适合Hadoop, 最好是Sun。 Linux和Windows是Hadoop支持的操作系统, 但是BSD, Mac OS / X和Solaris因其工作而闻名。


3)哪种硬件最适合Hadoop?

Hadoop可以使用ECC内存在具有4-8 GB RAM的双处理器/双核计算机上运行。这取决于工作流程的需求。


4)Hadoop中定义的最常见的输入格式是什么?

这些是Hadoop中定义的最常见的输入格式:

  1. TextInputFormat
  2. KeyValueInputFormat
  3. SequenceFileInputFormat

TextInputFormat是默认的输入格式。


5)你如何对大数据进行分类?

大数据可以使用以下功能进行分类:

  • 体积
  • 速度
  • 品种

6)解释使用.mecia类吗?

为了使媒体对象从一侧浮动到另一侧, 我们使用此类。


7)使用引导面板。

我们从DOM组件的装箱中使用引导中的面板。


8)按钮组的目的是什么?

按钮组用于在同一行中放置多个按钮。


9)命名Bootstrap支持的各种类型的列表。

  • 订购清单
  • 无序列表
  • 定义清单

10)哪个命令用于检索运行Hadoop集群的守护程序的状态?

” jps”命令用于检索运行Hadoop集群的守护程序的状态。


11)Hadoop中的InputSplit是什么?说明。

Hadoop作业运行时, 它将输入文件拆分为多个块, 并将每个拆分分配给一个映射器进行处理。它称为InputSplit。


12)什么是TextInputFormat?

在TextInputFormat中, 文本文件中的每一行都是一条记录。值是该行的内容, 而键是该行的字节偏移量。例如, 键:longWritable, 值:文本


13)Hadoop中的SequenceFileInputFormat是什么?

在Hadoop中, SequenceFileInputFormat用于顺序读取文件。它是一种特定的压缩二进制文件格式, 可在一个MapReduce作业的输出到另一个MapReduce作业的输入之间传递数据。


14)Hadoop框架产生了多少InputSplits?

Hadoop分为以下5个部分:

  • 一键拆分64K文件
  • 65 MB文件的两个拆分, 以及
  • 127MB文件的两个拆分

15)Hadoop中的RecordReader有什么用?

InputSplit被分配了作品, 但不知道如何访问它。记录持有者类完全负责从其源中加载数据, 并将其转换为适合Mapper读取的密钥对。可以通过输入格式定义RecordReader的实例。


16)Hadoop中的JobTracker是什么?

JobTracker是Hadoop中的一项服务, 可在集群上运行MapReduce作业。


17)Hadoop中的WebDAV是什么?

WebDAV是HTTP的一组扩展, 用于支持编辑和上传文件。在大多数操作系统上, WebDAV共享可以作为文件系统挂载, 因此可以通过在WebDAV上公开HDFS将HDFS作为标准文件系统来访问。


18)Hadoop中的Sqoop是什么?

Sqoop是用于在关系数据库管理系统(RDBMS)和Hadoop HDFS之间传输数据的工具。通过使用Sqoop, 你可以将数据从MySQL或Oracle等RDBMS传输到HDFS, 也可以将数据从HDFS文件导出到RDBMS。


19)JobTracker有哪些功能?

这些是JobTracker的主要任务:

  • 接受来自客户的工作。
  • 与NameNode进行通信以确定数据的位置。
  • 查找具有可用插槽的TaskTracker节点。
  • 要将工作提交到选定的TaskTracker节点并监视每个任务的进度。

20)定义TaskTracker。

TaskTracker是集群中的一个节点, 可以从JobTracker接受MapReduce和Shuffle等任务。


21)Hadoop中的Map / Reduce作业是什么?

Map / Reduce作业是一种编程范例, 用于允许跨数千个服务器进行大规模扩展。

MapReduce是指Hadoop执行的两个不同且不同的任务。第一步是映射作业, 该作业将获取一组数据并将其转换为另一组数据, 第二步是还原作业。它以映射的输出作为输入, 并将那些数据元组压缩为较小的元组集。


22)在Hadoop中什么是”映射”和什么是”缩减器”?

映射:在Hadoop中, 映射是HDFS查询解决方案的一个阶段。映射从输入位置读取数据, 并根据输入类型输出键值对。

Reducer:在Hadoop中, Reducer收集由映射器生成的输出, 对其进行处理, 并创建自己的最终输出。


23)MapReduce中的改组是什么?

混洗是一个过程, 用于执行排序并将映射输出作为输入传输到reducer。


24)Hadoop中的NameNode是什么?

NameNode是一个节点, Hadoop在其中将所有文件位置信息存储在HDFS(Hadoop分布式文件系统)中。我们可以说NameNode是HDFS文件系统的核心, HDFS文件系统负责保持文件系统中所有文件的记录, 并在整个群集或多台计算机上跟踪文件数据。


25)HDFS中的心跳是什么?

心跳信号是在数据节点和名称节点之间以及任务跟踪器和作业跟踪器之间使用的信号。如果名称节点或作业跟踪器没有响应该信号, 则认为数据节点或任务跟踪器存在问题。


26)如何在HDFS中建立索引?

Hadoop中有一种非常独特的索引编制方式。一旦按照块大小存储了数据, HDFS将继续存储数据的最后一部分, 该部分指定了数据下一部分的位置。


27)数据节点发生故障时会发生什么?

如果数据节点失败, 则作业跟踪器和名称节点将检测到该失败。之后, 所有任务将重新安排在发生故障的节点上, 然后名称节点会将用户数据复制到另一个节点。


28)什么是Hadoop流?

Hadoop流是一个实用程序, 可让你创建和运行映射/减少作业。它是一个通用API, 它允许将以任何语言编写的程序用作Hadoop映射器。


29)Hadoop中的组合器是什么?

组合器是一种微型缩减过程, 仅对映射器生成的数据起作用。当Mapper发出数据时, 合并器将其作为输入接收, 并将输出发送给reducer。


30)Hadoop的三个配置文件是什么?

以下是Hadoop中的三个配置文件:

  • core-site.xml
  • mapred-site.xml
  • hdfs-site.xml

31)使用Hadoop的网络要求是什么?

以下是使用Hadoop的网络要求:

  • 无密码的SSH连接。
  • 用于启动服务器进程的安全外壳(SSH)。

32)你对存储和计算节点了解多少?

存储节点:存储节点是文件系统所在的机器或计算机, 用于存储处理数据。

计算节点:计算节点是将在其中执行实际业务逻辑的机器或计算机。


33)是否需要了解Java才能学习Hadoop?

如果你具有C, C ++, PHP, Python, Java等任何编程语言的背景知识, 那可能会很有帮助。但是如果你不熟悉Java, 则有必要学习Java并获得SQL的基本知识。


34)如何调试Hadoop代码?

有许多方法可以调试Hadoop代码, 但最流行的方法是:

  • 通过使用计数器。
  • 通过Hadoop框架提供的Web界面。

35)是否可以向Hadoop提供多个输入?如果是, 请解释。

对的, 这是可能的。输入格式类提供了将多个目录插入作为Hadoop作业输入的方法。


36)Hadoop中的工作与任务之间是什么关系?

在Hadoop中, 作业分为多个小部分, 称为任务。


37)输入拆分和HDFS块有什么区别?

数据的逻辑划分称为输入拆分, 数据的物理划分称为HDFS块。


38)RDBMS和Hadoop有什么区别?

RDBMS Hadoop
Hadoop是基于节点的平面结构。
Hadoop用于分析和大数据处理。
在Hadoop中, 存储数据可以独立存储在每个处理节点中。
在Hadoop中, 你不需要在存储数据之前对其进行预处理。

39)HDFS和NAS有什么区别?

HDFS数据块分布在群集中所有计算机的本地驱动器上, 而NAS数据存储在专用硬件上。


40)Hadoop和其他数据处理工具有什么区别?

Hadoop使你可以增加或减少映射器的数量, 而不必担心要处理的数据量。


41)Hadoop中的分布式缓存是什么?

分布式缓存是MapReduce框架提供的功能。它在执行作业时用于缓存文件(文本, 存档等)。在该节点上执行任何任务之前, 框架会将必需的文件复制到从节点。


36)哪些命令用于查看Hadoop集群中正在运行的所有作业并在LINUX中终止作业?

Hadoop工作-列表

Hadoop作业-杀死jobID


42)Hadoop中JobTracker的功能是什么? Hadoop集群上运行多少个JobTracker实例?

JobTracker是一项庞大的服务, 用于在Hadoop中提交和跟踪MapReduce作业。任何Hadoop群集上都只能运行一个JobTracker进程。 JobTracker在其自己的JVM进程中运行它。

Hadoop中JobTracker的功能:

  • 当客户端应用程序将作业提交到JobTracker时, JobTracker与NameNode对话以查找数据的位置。
  • 它将找到具有可用数据插槽的TaskTracker节点。
  • 它将工作分配给所选的TaskTracker节点。
  • TaskTracker节点负责在任务失败时通知JobTracker, 然后JobTracker决定要做什么。它可能会在另一个节点上重新提交任务, 或者可能会将其标记为要避免的任务。

43)JobTracker如何将任务分配给TaskTracker?

TaskTracker会定期将心跳消息发送到JobTracker, 以确保它仍然有效。该消息还会通知JobTracker可用插槽的数量。此返回消息更新JobTracker以了解在何处计划任务。


44)是否有必要用Java语言为Hadoop编写作业?

不, 有很多方法可以处理非Java代码。 HadoopStreaming允许将任何shell命令用作映射或归约函数。


45)Hadoop使用哪些数据存储组件?

Hadoop使用HBase数据存储组件。

Java OOP面试问题
Java字符串和异常面试问题
JDBC面试问题
JSP面试问题
休眠面试问题
SQL面试题
Android面试题
MySQL面试问题

RDBMS是一个关系数据库管理系统。

RDBMS用于OLTP处理。

在RDBMS中, 数据库集群使用共享存储中存储的相同数据文件。

在RDBMS中, 在存储数据之前需要对数据进行预处理。

Java基础面试问题

Java多线程面试问题

Java Collection面试题

Servlet面试问题

春季面试问题

PL / SQL面试问题

Oracle面试问题

SQL Server面试问题

来源:

https://www.srcmini02.com/32926.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?