查看某个分区之前所有的数据_腾讯大数据面试真题汇总

腾讯面试题

f3b22fac2d1923dbd299be09b7f109c0.png

学长1

1)笔试部分

(1)有一表名t_sh_mtt_netdisk_log,从表名可以看出该表是什么业务的,是什么周期粒度的表。

(2)怎么查看表结构,表创建语句?怎么查看表有哪些分区?怎么查看分区对应hdfs路径?怎么计算某个分区的数据量大小?怎么计算某个分区的文件总数?

(3)有一hive sql,怎么计算这个sql会产生多少个map数?

(4)怎么查看hive有什么自带函数?怎么查看函数的详细信息?

(5)Hive支持哪些基本数据类型?

(6)请指出下面两个语句读取分区ds数据的不同

Select * from t where ds=20150101 and province='gd' or province='ex'

Select x fromt where ds 20150101 and(province='gd' or province='ex')

(7)将字符串"keyl=valuel&key2=value2...keyn=valuen"进行分割放到一个字段里面,可以查出任意一个keyx对应的valuex值。请写出查询语句,并计算总共有多少个key值。

(8)用一个字符串比如"alblc"来测试某个函数比如split(用|分隔符将字符串进行分割)的语句

(9)a表和b表内连接,a表为小表,只有2000行记录

select a.*from a Join b on a.key=b.key

可以进行怎样的优化

(10)a表left join b表,b表为小衣,可以进行怎样优化?

scleet a.*from a left join Join b ona.key=b.key

如果a为小表,可以怎样优化?

(11)请指出下面sql语句的区别

select a.* from a left Join b on a.key = b.key and a.ds=xxx and b.ds=xxx

sclect a.* from a lef Join b on a.key = b.key and b.ds=xxx

select a.* from a lef Join b on a.key = b.key and b.ds=xxx where a.ds=xxx

Select a.* from a left Join b on a.key = b.key where a.ds=xxx and b.ds=xxx

(12)多表连按的写法:a,.b,c三个表内连接,连接字段都是key,怎样写连接语句?

(13)两大表连接,发生了数据倾斜,有几个reduce无法完成,怎么查找发生数据倾斜的原因?应该怎样优化?

语句:select t1.*,nvl(t2.x,1) from t1 left join t2 on t1.guid=t2.guid

(14)两大表连接,发生了数据倾斜。有一个reduce无法完成,检直发现t1中guid="的记录有很多,其他guid都不重复,这条语句该怎样优化?

语句:select t1.*,nvl(t2.x,1) from t1 left join t2 on t1.guid = t2.guid

(15)如何用hive q!实现sqL中的exist/in 子句

mysql语句如下:

SEL ECT a* FROM a where a.key in(select dstinct key from b where key like ‘filter%’)

(16)sort by、distribute by、cluster by 和 order by 区别

注:可参考数据工厂的“帮助中心》集群hive》hive使用优化》hive使用注意事项”

学长2

1)笔试题

用HiveSQL实现

(1)全量用户登员日志表t_login_all,字段信息ftime(登录日期)、openid(登录帐号)新增用户登录日志表t_login_new,字段信息ftime(登录日期)、openid(登录帐号)求每天新增用户次日、7天、30天留存率。

(说明:7天留存是指当天有登录且第7天还登录的用户)

(2)消息流水表t_chat all,字段信息:

Ftime(日期)、send_user id(发消息用户id)、receive.user id(接收消息用户id)、chat id(消息id)、send.time(发消息时间)

用户登录流水日志表t_login_all,字段信息:

Ftime(日期)、user_id(用户id)、login_id(登录id)、login_loc(登录区服)、login_time(登录时间)

求:每天有收发消息用户最近登录时间、登录区服,输出ftime,user_id,login_loc,login_time

用Spark core实现,写Scala脚本

1、reduceByKey()、groupByKey()有什么区别?

2、DataFrame和RDD有什么区别?

3、使用累加器,对数组Array(1,2,3,4)每个元素实现累加操作,最后打印输出求和结果。

4、现有文件file.txt,文件格式如下

Order_id,user_id,payment,productid

1、1768,50,155

2、1218,600,211

3、2239,788,242

4、3101,288,599

5、4899,25,230

6、2311,890,981

。。。。。。

求Top10个payment字段的值

学长3

1)技术部分

(1)我看你上面写了你会Spark,那你用Spark写一下刚刚那道题的代码(第6题),不能用Spark SQL

(2)我看你上面有写到熟悉Hive原理和优化,你说一下怎么优化

(3)优化有说到语句优化,然后又说回到pv和uv那个问题,假如说让你优化你怎么优化(我代码里面有count(distinct id) uv,)

(4)问了一些Kafka的,我只记得一点点,问我数据会不会重复消费,什么情况下会重复消费

(5)在Hive执行语句的时候如果很慢,什么原因造成

我有提到数据倾斜的问题,他又问怎么解决数据倾斜

2)项目部分

(1)让你挑一个比较有亮点的项目详细说

(2)你负责了什么,数仓中统计了哪些指标,

(3)刚刚听你说项目里面有提到分层,如果我要你求每天商品的pv,uv,从ods层到dm层它的具体流向,各层都统计了什么(后来让写求pv,uv的sql语句)

3)场景部分

(1)有一个分区表,表名T,字段qq,age,按天分区,让写出创建表的语句

(2)刚刚的分区表,求20200221这个分区中,年龄第N大的qq号列表

(3)有一个表,两个字段,分别是qqa和qqb,数据如下:

12,34

12,56

12,78

34,56

34,12

找出所有互相关注的qq对

4)手写部分

(1)三个字段,timestamp,user_id,product_id,让求pv最大的商品,写了之后又叫用Scala代码写一遍,然后又问,假如说只让你求pv数大于100的top3呢,代码又怎么写

学长4

1)技术部分

(1)你们数仓用什么建模方法,说出常见的建模方法?

(2)维度建模有什么好处? 为什么选择这个?比如最后业务需求要增加一个维度,我们需要做什么工作?

(3)怎么判断一个需求能不能实现,你们的判断标准是什么?需求变更要做什么

(4)增加一个维度后发现查询的速度变得非常慢,是什么原因导致的?

(5)你们ADS层的数据量每天的数据量有多大?ADS层在MySQL中的表是怎么创建的?有什么注意事项?索引怎么创建的?

(6)你知道Spark的宽窄依赖吗? 有没有把宽依赖转化为窄依赖的例子?

(7)Spark参数调优做了些什么 ?

2)算法部分

(1)一个list [1,5,5,7,9] 去重,并计算时间空间复杂度

(2)单链表的反转

文章来源:尚硅谷大数据培训

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全球16家超级独角兽公司,为什么中国能占7家,印度只有1家?未来哪些行业最可能诞生独角兽?

来源: 财看见-腾讯财经(ID:qqckj2017) 概要:对于创业公司来说,成为“独角兽”甚至是“超级独角兽”,就意味离成功只有几步之遥。 对于创业公司来说,成为“独角兽”甚至是“超级独角兽…

MySQL Cookbook 学习笔记-03

1、INNER JOIN关联查询 2、outer join(LEFT JOIN 与 RIGHT JOIN) 3、自连接 4、主从表查询 5、在分组内查找某列最大或最小的一行 6、计算小组积分榜 7、计算连续行的差 8、计算“累计和”与运行时平均值 9、使用 JOIN 控制查询结果的顺序 10、通过 UNIO…

数据可视化--pyecharts绘图

pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化。 要使用pyecharts绘制地图,首先需要安装一下几个地图模块: 1、安装地图数据包,用于显示地图 pip install echarts-countri…

echart x轴标签偏移_1文搞懂真正的五轴加工中心,到底说的5轴是哪几个轴

随着国内数控技术的日渐成熟,近年来五轴联动数控加工中心在各领域得到了越来越广泛的应用。在实际应用中,每当人们碰见异形复杂零件高效、高质量加工难题时,五轴联动技术无疑是解决这类问题的重要手段。越来越多的厂家倾向于寻找五轴设备来满…

中国在国际上首次提出全液态量子器件与计算技术概念

来源:人民日报 概要:液态金属可以用来制造计算机核心电子元件,进而引发计算机的革命? 液态金属可以用来制造计算机核心电子元件,进而引发计算机的革命?不久前,我国一个研究小组发表了一项成果&…

MySQL Cookbook 学习笔记-04

1、处理重复 <a>、创建表包含 primary key 或 unique index&#xff0c;阻止重复数据写入 <b>、联合 <a>&#xff0c;使用 INSERT IGNORE 或 REPLACE <c>、检查表是否有重复行的方法&#xff0c;通过 group by 和 count( x ) 来统计 <d>、通…

如何使用frame框架,将左边视为导航栏,右边作为链接界面

在浏览网页时&#xff0c;我们经常会看到一个导航条&#xff0c;当点击导航条上的项目时&#xff0c;相应网页会在显示区域变换显示。那么如何将一个界面中&#xff0c;左边设置为导航栏&#xff0c;点击项目链接&#xff0c;则右边显示相应的内容呢&#xff1f;使用frameset框…

面对大规模AI集成,企业为何迟迟犹豫?

来源&#xff1a;亿欧 概要&#xff1a;首先&#xff0c;需要全面了解您的业务目标、技术需求以及AI对客户和员工的影响。需要解决的问题是&#xff0c;大多数员工面临着接受人工智能程度方面的挑战与担忧。 人工智能是实现流程自动化、降低运营成本和进创新的重要手段。尽管AI…

类的初始化

加载 ----> 连接&#xff08;验证&#xff0c;准备&#xff0c;解析*&#xff09; ---->初始化 Java 虚拟机在首次主动使用类型时初始化它们。 主动使用&#xff08;6种&#xff09; 1、创建类的实例 2、调用类中声明的静态方法 3、操作类或者接口中声明的非常量静态…

用定时器控制灯的闪烁梯形图_用西门子PLC设计灯的闪烁的梯形图,就只要梯形图。...

展开全部使用特32313133353236313431303231363533e58685e5aeb931333431373235殊标志寄存器即可实现你想要的功能&#xff0c;如果想要设计出亮的时间固定、灭的时间也固定的闪烁效果比较复杂。SM0.5 该位提供了一个时钟脉冲&#xff0c;0.5 秒为1&#xff0c;0.5 秒为0&#xf…

如何进行模糊分页

使用模糊分页需要3个参数:关键字&#xff1a;key,当前页&#xff1a;page,查询内容个数&#xff1a;count 核心代码&#xff1a; //所有菜单列表分页private void foodList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException …

PostgreSQL+安装及常见问题

postgresql-8.1-int.msi postgresql-8.1.msi &#xff08;点这个安装&#xff09; 前面一直用默认 1、到如下画面时注意&#xff1a; 重复账户时&#xff0c;报如下错误&#xff1a; 2、勾选所有连接都能使用该PostgreSQL 数据库&#xff0c;而不是仅仅支持 Localhost 3、…

post和get请求的区别

1.传送方式&#xff1a;get通过地址栏传输&#xff0c;post通过报文传输。 2.post请求无长度限制&#xff08;至少是理论上的&#xff09; &#xff1b;get有长度限制&#xff0c;最长不超过2048字节&#xff08;1024个汉字&#xff09; 3.Get/post 请求报文上的区别 get 和…

js 操作vuex数据_vue中使用vuex(超详细)

vuex是使用vue中必不可少的一部分,基于父子、兄弟组件,我们传值可能会很方便,但是如果是没有关联的组件之间要使用同一组数据,就显得很无能为力,那么vuex就很好的解决了我们这种问题,它相当于一个公共仓库,保存着所有组件都能共用的数据。 那么,我们一起来看看vue项目怎…

用脑科学支持人工智能

来源&#xff1a;中国科学报 概要&#xff1a;脑科学研究者正在揭示预测性运动控制神经机制&#xff0c;以脑科学基础研究支持人工智能发展并促进两大领域的深度融合。 最近&#xff0c;在国家自然科学基金&#xff08;项目号&#xff1a;31671075&#xff09;的支持下&#x…

mysql数据库进行更新、插入显示中文乱码问题

很多种情况下&#xff0c;从数据库中查询出来的内容中文显示正确&#xff0c;但是如果向数据库中插入或更新表时&#xff0c;会出现中文乱码问题&#xff0c;但英文显示正确&#xff0c;以下三种方式可以解决中文乱码问题。 1.数据库连接的配置文件中添加characterEncodingutf…

1进程 ppid_杀死僵尸进程,你需要这些神奇的Linux命令行

Linux高手&#xff0c;其实都是玩儿命令行很熟练的人。命令行的学习捷径Linux命令有许多强大的功能&#xff1a;从简单的磁盘操作、文件存取&#xff0c;到进行复杂的多媒体图像和流媒体文件的制作&#xff0c;都离不开命令行。在Linux的学习中&#xff0c;新手都会遇到这么一个…

PostgreSQL 常见操作

1、在命令行登录指定数据库 2、创建表 CREATE TABLE weather (city varchar(80),temp_lo int, -- low temperaturetemp_hi int, -- high temperatureprcp real, -- precipitationdate date ); …

大数据统计分析毕业设计_数据分析毕业设计 大数据可视化毕业设计

做大数据分析相关的毕业设计&#xff0c;有什么好的题目或方向推荐吗&#xff1f;毛台九大数据其它九大数据油业&#xff0c;三农&#xff0c;科研&#xff0c;人文&#xff0c;……打算用Python做毕业设计&#xff0c;可以做哪些方面的&#xff1f;Python做毕业设计&#xff0…