2019最新大数据面试题 助力大家度过笔试关

  大数据面试题总结一波,助力准备在金三银四寻找好工作的小伙伴们,只有度过笔试这一关才能在下面的关卡中大展宏图!

 

1f2dfba37e40444993704686c8321539.png

  一、如何检查namenode是否正常运行?重启namenode的命令是什么?

  通过节点信息和浏览器查看,通过脚本监控

  hadoop-daemon.sh start namenode

  hdfs-daemon.sh start namenode

  二、hdfs存储机制是怎样的?

  1) client端发送写文件请求,namenode检查文件是否存在,如果已存在,直接返回错误信息,否则,发送给client一些可用namenode节点

  2) client将文件分块,并行存储到不同节点上datanode上,发送完成后,client同时发送信息给namenode和datanode

  3) namenode收到的client信息后,发送确信信息给datanode

  4) datanode同时收到namenode和datanode的确认信息后,提交写操作。

  三、hadoop中combiner的作用是什么?

  当map生成的数据过大时,带宽就成了瓶颈,怎样精简压缩传给Reduce的数据,又不影响最终的结果呢。有一种方法就是使用Combiner,Combiner号称本地的Reduce,Reduce最终的输入,是Combiner的输出。

  四、 你们数据库怎么导入hive 的,有没有出现问题

  在导入hive的时候,如果数据库中有blob或者text字段,会报错,解决方案在sqoop笔记中。在将数据由Oracle数据库导入到Hive时,发现带有clob字段的表的数据会错乱,出现一些字段全为NULL的空行。

  由于在项目中CLOB字段没有实际的分析用途,因此考虑将CLOB字段去掉。

  同时,为了防止CLOB字段产生一些问题,因此将HIVE中CLOB字段禁用,禁用的方式如下:

  [Hadoop@master sqoop-1.4.5]$ cd $SQOOP_HOME/conf

  [hadoop@master conf]$ vi oraoop-site.xml

  将以下属性的注释去掉,并且将value改为true

  oraoop.import.omit.lobs.and.long

  true

  If true, OraOop will omit BLOB, CLOB, NCLOB and LONG columns during an Import.

  有些表中虽然有clob字段,但是不能排除掉,因为其他字段使我们所需要,因此在导入的时候采用指定--columns的方式来进行导入

  sqoop import --hive-import --hive-database test --create-hive-table --connect jdbc --username user--password user

  --bindir //scratch --outdir /Java --table aaa --columns "ID,NAME" -m 1 --null-string '\\N' --null-non-string '\\N'

  五、hdfs-site.xml的3个主要属性?

  dfs.name.dir决定的是元数据存储的路径以及DFS的存储方式(磁盘或是远端)

  dfs.data.dir决定的是数据存储的路径

  fs.checkpoint.dir用于第二Namenode

  六、是否可以在Windows上运行Hadoop?

  建议不要这么做,RedHatLinux或者是Ubuntu才是Hadoop的非常适合操作系统。在Hadoop安装中,Windows通常不会被使用,因为会出现各种各样的问题。因此,Windows绝对不是Hadoop的推荐系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值