
面试-2021-02
面试题目和难点
我要改名字qWq
这个作者很懒,什么都没留下…
展开
-
高阶SQL
-- DATE_SUB(login_date,rn):如果连续则做差后值一样则表示连续活跃SELECT USER_ID, LOGIN_DATE, DATE_SUB( LOGIN_DATE, RN ) AS DIFF_DATE FROM( SELECT USER_ID,LOGIN_DATE, ROW_NUMBER ( ) OVER ( PARTITION BY USER_ID ORDER BY LOGIN_DATE ) AS RN FROM TE.原创 2021-04-02 00:03:17 · 308 阅读 · 0 评论 -
sql实现开窗效果
SELECT a.first_name, a.age, a.gender, count(b.age)+1 as rankFROM person a left join person b on a.age>b.age and a.gender=b.gender group by a.first_name, a.age, a.genderorder by gender,rank原创 2021-04-01 23:44:18 · 141 阅读 · 0 评论 -
Java
1111111111111原创 2021-03-04 10:22:51 · 121 阅读 · 1 评论 -
Hadoop压缩格式和Hive存储格式
1111111111111原创 2021-02-23 09:27:25 · 122 阅读 · 0 评论 -
数仓理论
1111111111原创 2021-02-23 09:26:29 · 291 阅读 · 0 评论 -
hadoop 1.0与2.0
Hadoop1.0对HDFS来说,其主要的运行架构则是master-slave架构,即主从架构。其中呢,master主节点称之为Namenode节点,而slave从节点称为DataNode节点。没有hdfs的高可用模式,使用的是nn,2nn那套架构。对MapReduce来说,同样时一个主从结构,是由一个JobTracker(主)和多个TaskTracker(从)组成。Hadoop2.0针对Hadoop1.0中NameNode制约HDFS的扩展性问题,提出HDFSFederat..原创 2021-02-23 09:25:29 · 347 阅读 · 2 评论 -
维度建模理论
维度建模和关系建模实体-关系建模是面向应用,遵循第三范式,以消除数据冗余为目标的设计技术。维度建模是面向分析,为了提高查询性能可以增加数据冗余,反规范化的设计技术。关系模型 -在关系型数据库使用,适用于OLTP,应用第三范式,减少不于主键直接关联的字段,减少数据冗余。维度模型 -在大数据中使用,适用OLAP,在大规模数据中,跨表分析统计查询过程会造成多表关联,这会大大降低执行效率维度建模按照事实表,维度表来构建数据仓库,数据集市。星型模型:维度表和事实表直接关联。雪...原创 2021-02-22 22:37:33 · 440 阅读 · 0 评论 -
Hadoop的小文件问题
https://blog.youkuaiyun.com/u010010664/article/details/831051741、 HDFS上的小文件问题 现象:在现在的集群上已经存在了大量的小文件和目录。 方案:文件是许多记录(Records)组成的,那么可以通过调用HDFS的sync()方法和append方法结合使用,每隔一定时间生成一个大文件。或者可以通过写一个程序来来合并这些小文件。2、 MapReduce上的小文件问题如果文件非常小,并且拥有大量的这种小文件,那么每一个map ta...原创 2021-02-22 22:27:50 · 329 阅读 · 0 评论 -
hive-mapreduce过程
https://blog.youkuaiyun.com/u010738184/article/details/70893161/原创 2021-02-22 21:59:56 · 206 阅读 · 0 评论 -
Hql的执行顺序
sql的执行顺序是:(1)FROM<left_table> <join_type>JOIN<right_table>ON<on_predicate>(2)WHERE<where_predicate>(3)GROUP BY <group_by_specification>(4)HAVING<having_predicate>(5)SELECTDISTINCTTOP(<top_s...原创 2021-02-21 13:41:36 · 972 阅读 · 0 评论 -
系统设计流程
原创 2021-02-21 12:46:10 · 706 阅读 · 0 评论 -
面试题
1.DataNode在什么情况下不会备份单节点情况不会备份2.hdfs的datanode的添加和删除需要执行的命令添加:hdaoop-daemon.sh start datanodehadoop-daemon.sh start tasktracker删除:hadoopmaradmin -refreshnodeshadoop dfsadmin-refreshnodes重启namenodehdaoop-daemon.sh startnamenodeHDF...原创 2021-02-21 11:09:17 · 149 阅读 · 0 评论 -
数据倾斜模块
1.数据倾斜产生原因数据分配不均匀,导致某些reduce分区的数据量太多,job的执行一直卡在这几个reduce。产生原因:1.key值分布不均匀2.数据本身特性3.某些hql语句本身存在数据倾斜2.数据倾斜的具体表现任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其处理的数据量和其他reduce差异过大。单一reduce的记录数与平均记录数差异过大,通常可能达到3倍甚至更多。 最长时长远大于平均..原创 2021-02-21 11:06:59 · 169 阅读 · 0 评论 -
mysql模块
1.索引的种类的区别普通索引:没有任何限制唯一索引:列里面不能有重复的值,可以有null主键索引:特殊的唯一索引,不能有null组合索引2.数据库的三大范式第一范式:数据库中每列都是不可分割的原子数据项第二范式:表中的每列数据都和主键相关第三范式:每列和主键都是直接关系,而不是间接关系3.E-R图一对一一对多多对多4.数据库查询优化1.查询不要使用select *2.避免索引失效情况5.索引失效情况...原创 2021-02-21 11:02:03 · 175 阅读 · 0 评论 -
hive调优
1.排序的选择尽量不要用orderby进行全局排序2.合理使用笛卡尔积尽量不要使用笛卡尔积,数据量会很大,笛卡尔积是A表的每条数据关联B表的每条数据。使用笛卡尔积时一定要加上过滤条件,减少数据的输入。3.in, exists, not in的高效实现in可以用leftsemijoin实现,也可以用left join whereisnotnullselect * from a where id in (select id from b);select...原创 2021-02-21 10:57:53 · 372 阅读 · 0 评论 -
kafka模块
1111111111111111111111原创 2021-02-21 10:54:49 · 211 阅读 · 1 评论 -
指标体系建设模块
11111111111111111111111原创 2021-02-21 10:52:01 · 148 阅读 · 0 评论 -
数据治理模块
数据治理目的: 提高数据质量,缩减成本,降低风险,提高安全合规数据治理的对象: 数据资产数据资产虽不具备实物形态,但是它必定是实物在网络世界映射的一种虚拟形态。对于企业而言,人、设备、产品、物料、软件系统、数据库、以及任何涉及到使用文件作为载体的各类数据,都属于企业的数据资产。数据治理的内容: 元数据,数据存储,任务计算,数据安全数据质量: 数据真实性:数据必须真实准确的反映客观的实体存在或真实的业务,真实可靠的原始统计数据是企业统计工作的灵魂,是一切管理工作...原创 2021-02-21 10:50:23 · 361 阅读 · 0 评论 -
元数据模块
111111111原创 2021-02-21 10:48:18 · 246 阅读 · 0 评论 -
Flume模块
agent -flume的代理一个agent至少包含一套source-channel-sink架构source -数据来源avro source: 数据来自于用户指定的节点的端口exec source: 来自于一个linux 命令channel -通道memory channel : 内存作为中转站sink -目的地hdfs sink:*** 将收集的数据放在hdfs上...原创 2021-02-20 21:49:50 · 161 阅读 · 1 评论 -
Sqoop
一.导入hdfs命令select * from help_keyword where help_keyword_id>300;sqoop import \--connect jdbc:mysql://hdp02:3306/mysql \--username root \--password 123456 \--query 'select * from help_keyword where help_keyword_id>300 and $CONDITIONS' \--targ原创 2021-02-20 21:48:27 · 147 阅读 · 0 评论 -
Yarn模块
111111111111111111原创 2021-02-20 21:33:25 · 435 阅读 · 0 评论 -
Hive模块
1111111111111111111原创 2021-02-20 21:32:45 · 272 阅读 · 0 评论 -
MapReduce模块
1111111111111111111111原创 2021-02-20 21:32:04 · 1038 阅读 · 0 评论 -
海量数据问题
1、怎么在海量数据中找出重复次数最多的一个?将大文件的数据进行hash,相同hash值的数据分配到一个文件,然后统计出每个文件出现次数最多的单词和对应次数,然后比较每个文件的最大出现次数,得到重复次数最多的单词2、上千万或上亿数据(有重复),统计其中出现次数最多的前 N 个数据。3、一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前 10 个词,给出思想,给出时间复杂度分析。4、100w 个数中找出最大的 100 个数。100W个数进行ha...原创 2021-02-20 21:30:03 · 430 阅读 · 0 评论 -
HDFS模块
一.HDFS基本命令hdfs dfs -ls -R :递归展示所有内容 -mkdir :创建文件夹 -p :级联创建 -touchz :创建文件 -put/copyFromLocal :上传文件 hdfs dfs -put a.txt / 上传文件到HDFS根路径 -get/copyToLocal :文件下载 hdfs dfs -get /a.txt ./ 将dfs根目原创 2021-02-20 21:23:02 · 301 阅读 · 0 评论 -
手写WordCount程序
Mapper类Mapper的输入指的就是mapreduce框架读取文件的内容 这里的输入相当于流读取完成的文件内容,然后封装成键值对四个范型:输入:固定 KEYIN:输入的键的类型 标识读取行数,代表的是每一行的偏移量,按照字节标识下标,因为数据量比较大,用Long类型 VALUEIN:输入的值的类型 这里指的就是一行一行的内容 String输出:根据业务决定 KEYOUT:输出的键的类型 表示要传递给reduce的键的类型,输出的键决定了reduce的分组依原创 2021-02-20 21:02:46 · 207 阅读 · 0 评论