2021大数据面试题

前言

近期负责了公司大数据开发岗的技术面,总结了几个面试的问题。后续有面试会继续总结。

一、考察SQL能力

1.表A又两个字段ID和Create_Time,计算昨天与今天ID表的ID差集;

select t1.a from (select id from a where time = today)T1 left join (select id from a where time = yesterday)T2 on T1.id = t2.id where t2.id is null;

2. 表A和表B都只有一个字段Account,如果account来自A则输出red,来自B则输出blue;

select case when tba.虚拟=’A’ then ‘red’ when tba.虚拟=’B’ then ‘blue’ end as A_B from (select ‘A’ 虚拟,account from table_a union select ‘B’ 虚拟,account from table_b )TBA;

二、考察Shell能力

1. 简述shell文本替换

  • 在vi编辑模式下:%s/old/new/g
  • 在shell模式下用sed

2. 简述文本查找和文件查找

  • 文本查找grep -l -r '文本' *
  • 文件查找find ./ -name '文件名'

三、考察大数据开发相关技能

1. 优化sqoop采集稳定性

导出数据的时候可能会失败用—staging-table –clear-staging先将数据导到临时表中,然后将临时表的数据复制到目标表中失败就-clear-staging重新导

2. Maxwell/Canal相关设置

需要Mysql开启binlog;binlog的格式有三种:STATEMENT语句, ROW行, MIXED优化语句[一般是设置row类型]
需要注意的是Maxwell导出的格式是json

3. Kafka ack参数设置

1,producer等待partition的leader落盘成功就返回ack,增加offset继续生产。这样相比设置成-1(如果面金融类,这里可以说建议将ack设置成-1,然后在hive中处理数据重复的问题(根据id分组,开窗,取一个值))更加高效,比设置成0更加安全一点

4. order by与sort by的区别

order by 全局排序 sort by分组排序,因此当只有一个map的时候 order by 与sort by效果一样

5. Azkaban相关问题

  • azkaban的组成:
    [web/executor]
  • 添加用户:
    [azkaban-users.xml]
  • azkaban失败重试:
    retries=1 #失败job的自动重试次数
    retry.backoff=10000 #重试的间隔(毫秒)

6. SparkStreaming相关问题

  • 背压机制
    参数控制:spark.streaming.backpressure.enabled[默认是false关闭的]
  • 优雅关闭
    参数控制:spark.streaming.stopGracefullyOnShutdown

7. SparkSQL相关问题

rdd、DS、DF转化[见图]
在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:白松林 返回首页