58同城面试盘点

58同城面试盘点

1.一张订单表,有user_name,order_id,order_time,order_amount 四个字段,怎么取出每个用户2021年10月以来第一个订单的金额(下单时间格式为’yyyy-MM-dd HH:mm:ss’)?

select user_name,order_id,order_amount
from(select user_name,order_id,order_amount,row_number() over(partition by user_id order by order_time) rownofrom orders t11 where sub_string(order_time,7) >= '2021-10'
) t1
where t1.rowno = 1

2. 开窗函数有可能会造成什么问题?

数据倾斜,处理方法见:
https://blog.csdn.net/weixin_44902108/article/details/122973111?spm=1001.2014.3001.5501

3.hive sql是怎么转换成mr的?

(1)解析器(SQL Parser):将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误。
(2)编译器(Physical Plan):将AST编译生成逻辑执行计划。
(3)优化器(Query Optimizer):对逻辑执行计划进行优化。
(4)执行器(Execution):把逻辑执行计划转换成可以运行的物理计划。也就是MR/Spark。

附:详细版
1.Antlr(解析器的一种)定义SQL的语法规则,完成SQL词法,语法解析,将SQL转化为抽象语法树AST Tree
2.编译器遍历AST Tree,抽象出查询的基本组成单元QueryBlock(查询块),再遍历查询块,生成操作树OperatorTree
3.逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量
4.执行器遍历OperatorTree,翻译为MapReduce任务树
5.物理层优化器进行MapReduce任务的变换,生成最终的MR任务

在这里插入图片描述
图片来自:https://www.cnblogs.com/w-j-q/p/14863331.html

4.hive执行计划主要看哪些内容?

这个真的很少看,不知道下面的对不对:
stage数量及依赖情况;
数据行数和所占空间数;
表扫描方式、使用分区列表;
join方式、运行模式,排序等。

5.数据量过大如何去重?

1.分桶–union all --并行(大数据操作中,分而治之思想很有惊喜,可惜当时没想起来)
2.UDF_MD5去重大法。
编写UDTF函数,取该表所在HDFS路径,对每行数据进行MD5加密,去重,并输出表。
没有实践,不知道行不行。
3.其他方法还没想起来。

6.mysql索引的存储方式

详见:https://blog.csdn.net/weixin_44902108/article/details/109826193?spm=1001.2014.3001.5501

7.hive的数据导入方式有哪些?

我没有get到点,我说全量/增量?不是
sqoop?阿里的dataX或华为的Xdata?不是
哈哈哈,回来百度了下才知道,可能是说本地加载、hdfs导入、查询写入吧。


上面的回答有些不是特别周到或者会有错误、更优解,诚心欢迎指摘评论,谢谢!

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

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

相关文章

stringbuffer判断是否为空

StringBuffer sbnew StringBuffer();if(sb!null && sb.length()>0){System.out.println("证明sb不为空!"); }

virtualbox: win11主机安装deepin双向复制问题

virtualbox: win11主机安装deepin双向复制问题1.安装virtualbox增强组件(确保光驱可用)2.终端挂载3. 运行BoxLinuxAdditions4. 重启虚拟机,验证OK!使用virtualbox安装深度系统deepin虚拟,发现虚拟机和宿主机之间不能双向复制,已经…

基坑监测日报模板_刚刚!温州瓯海突发塌陷,初步判断为临近地块地下室基坑支护桩移位...

资料来源:瓯海新闻网 | 温州百事通 | 土木吧 | 岩土新鲜事 等版权归原作者所有如有侵权请联系删除9月10日中午11点左右,温州市瓯海区娄桥街道商汇路道路塌陷。塌陷路面位于商汇路的公交车站旁,几十米长的路面已经开裂,公交站台发生…

java 从一个总的list集合中,去掉指定的集合元素,得到新的集合——removeAll()

/*** 两个list集合的差集* author*/ public class ListSubstract {public static void main(String[] args) {List<String> list new ArrayList<>();//作为总的listList<String> existList new ArrayList<>();//存在的listlist.add("aa");…

virtualbox:win11上的deepin如何设置与宿主机共享文件

1. 安装virtualbox增强功能 这个没有测试&#xff0c;只是理论上需要。我在上一篇帖子《virtualbox: win11主机安装deepin双向复制问题》已经安装了增强功能&#xff0c;大家可以参考安装。 2.在virtualbox上配置共享 2.1 关闭虚拟机&#xff0c;进行设置 共享文件夹路径点击…

三角形外接球万能公式_秒杀三角形问题!!三角形分角线的几个重要结论及其应用...

点击“高中数学资料共享”关注我们解三角形问题在高考中的选择、填空、解答题一般都会涉及到(最少也有两块涉及到)&#xff0c;其中有一类涉及角平分线长度、中线长、高线长度问题&#xff0c;难度不大&#xff0c;但运算量不小&#xff0c;那我们如果在考试中能在最短时间内把…

java自定义注解为空值——自定义注解的魅力你到底懂不懂

前言 你知道自定义注解的魅力所在吗&#xff1f; 你知道自定义注解该怎么使用吗&#xff1f; 本文一开始的这两个问题&#xff0c;需要您仔细思考下&#xff0c;然后结合这两个问题来阅读下面的内容&#xff1b; 本文主线&#xff1a; 注解是什么&#xff1b;实现一个自定义注…

uniapp动态修改样式_掌握Photoshop图层样式技术

凹凸贴图效果“等等&#xff0c;什么&#xff1f;” 您会惊叹&#xff1a;““图层样式”菜单中没有凹凸贴图效果&#xff01;” 的确如此&#xff0c;但是通过将“图案覆盖”和“斜面和浮雕”结合使用&#xff0c;我们可以使用可控光源实现带纹理的凹凸贴图表面。此技术需要两…

一个专业搬砖人的幻想:全国实现旬休制度

每逢过年&#xff0c;总觉得假期不够忙&#xff0c;如果折腾折腾&#xff0c;应该还是可以的。 于是想了一个替代方案&#xff0c;以弥补春节余额不足、各种假期调休的诟病。以下是设计与比较表单&#xff1a; 调整后可以实现以下愿望&#xff1a; 旬休是每月分上、中、下三…

IoT -- (七)MQTT协议详解

MQTT是什么&#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发布/订阅&#xff08;Publish/Subscribe&#xff09;模式的轻量级通讯协议&#xff0c;该协议构建于TCP/IP协议上&#xff…

刀片服务器改台式电脑_服务器到底是个什么东东?跟电脑有啥区别?电脑知识学习!...

一位朋友留言点的内容&#xff0c;想了解服务器方面的知识&#xff0c;对于普通用户而言&#xff0c;确实对服务器感觉很神秘&#xff0c;不知道服务器到底是个什么东东&#xff0c;我保证看完这篇&#xff0c;你就会明白服务器到底是个啥了。首先可以很明确的告诉你&#xff0…

IoT -- (一) 物联网平台架构设计分析

现在网上讨论的有关物联网的帖子非常之多&#xff0c;但大部分都是介绍理论或者有关硬件&#xff0c;通讯相关的问题&#xff0c;比如物联网模块&#xff0c;物联网通讯协议MQTT、XMPP、NB_IOT等&#xff0c;个人认为这些只是物联网中一部分&#xff0c;而涉及到物联网的设备如…

SFTP批量下载与中文文件名乱码问题

一、批量下载 #!/bin/bashUSERroot #密码 PASSWORD123456 #下载文件目录 SRCDIR/data #FTP目录(待下载文件目录) DESDIR/ydfile #银联IP IP 192.111.111.111 #端口 PORT22# 清空当前目录下的旧文件 rm -rf /data/*#连接远程服务器摘取数据资源 lftp sftp://${USER}:${PASSWOR…

华为路由器hilink怎么用_华为无线充电怎么用?MatePadPro无线充电使用方法

越来越多的华为产品支持无线充电&#xff0c;比如Mate 30 Pro支持最高27W无线超级快充&#xff0c;FreeBuds 3 蓝牙无线耳机、荣耀V30 Pro&#xff0c;MatePad Pro平板也都支持无线充电。今天就跟大家分享华为手机无线充电技术原理图&#xff0c;无线充怎么用&#xff0c;无线充…

python乘法表运算_Python入门教程(三):史上最全的Numpy计算函数总结,建议收藏!...

点击上方 蓝字 关注我们Numpy提供了灵活的、静态类型的、可编译的程序接口口来优化数组的计算&#xff0c;也被称作向量操作&#xff0c;因此在Python数据科学界Numpy显得尤为重要。Numpy的向量操作是通过通用函数实现的。今天小编会给大家较为全面地介绍下Numpy的通用函数。01…

IoT -- (三) 2018 Top物联网项目排名

每年这个时候&#xff0c;知名物联网研究机构IoT Analytics都会基于市场上纷繁的信息来探索物联网项目的具体实施情况&#xff0c;今年也不例外。作为其追踪物联网生态的一个重要组成部分&#xff0c;IoT Analytics对1600个在企业中实际运行的物联网项目进行了整合、验证和分类…

4加密问题漏洞修复_Apache Shiro 反序列化漏洞实战

Apache Shiro是一个Java安全框架&#xff0c;执行身份验证、授权、密码和会话管理。2016年&#xff0c;网络中曝光1.2.4以前的版本存在反序列化漏洞。尽管该漏洞已经曝光几年&#xff0c;但是在实战中仍然比较实用。花了点时间研究了下&#xff0c;并根据网络上的利用脚本改进。…

文件读取 linux_Linux 进程、线程、文件描述符的底层原理

说到进程&#xff0c;恐怕面试中最常见的问题就是线程和进程的关系了&#xff0c;那么先说一下答案&#xff1a;在 Linux 系统中&#xff0c;进程和线程几乎没有区别。Linux 中的进程其实就是一个数据结构&#xff0c;顺带可以理解文件描述符、重定向、管道命令的底层工作原理&…

中如何拉取git代码_git使用教程4pycharm拉取git仓库项目代码

前言当我们在github上看到别人写的项目&#xff0c;想拉到本地学习下。如何用pycharm把git仓库的代码拉取到本地电脑呢&#xff1f;环境准备&#xff1a;1.本地电脑已经安装了git2.已经注册过github账号3.pycharmpycharm配置先自己注册github账号&#xff0c;本地安装git环境&a…

lombok之@Slf4j注解

应用背景&#xff1a;如果不想每次都在实体类中写private final Logger logger LoggerFactory.getLogger(当前类名.class); 可以使用注解Slf4j Sl4j注解是是属于lombok中的一个注解&#xff0c;所以在使用该注解之前一定要引入lombok的依赖&#xff0c;同时IDEA还需要已经安装…