- 博客(321)
- 收藏
- 关注
原创 大数据面试题总结
大数据为什么这么快1、扩展性传统的是纵向扩展(服务器数量不变,每个的配置越来越高)大数据是横向扩展(每个的配置不变,但服务器数量越来越多)2、分布式传统的是集中式存储,集中式计算大数据是分布式存储,分布式计算3、可用性传统的是单份数据(存储数据的磁盘少)大数据是多份数据(存储数据的磁盘多)4、模型传统的是移动数据到程序端大数据是移动程序到数据端(减少了大量的IO开销和网络开销,利用并行计算,并行存储)大数据为什快横向扩展移动程序到数据端多个数据副本分布式存储(减小磁盘IO的
2020-06-05 17:34:17 747 1
原创 Can‘t connect to MySQL server on localhost (10061)解决方法
打开管理员cmd:启动mysql服务net start mysql
2022-03-28 09:08:23 1072
原创 mysql两表关联查出没有关联上的数据
SELECTt1.a, t1.b, t1.c, t2.nmFROMt1LEFT JOINt2ON t1.id = t2.aidWHEREt1.id is null OR SUBSTR(t1.b,4) != t2.nm
2022-02-24 16:33:32 5403
原创 Mysql触发器 :当一个表发生插入或更新时,将数据同步到另一张表中
CREATE trigger updatetbl_slopeAFTER update-- 表示触发器是在激活它的语句之后触发on tbl_slopefor each row – mysql固定语法BEGINif EXISTS(SELECT * FROM checkupdates A WHERE A.ID=new.UNIFIEDCODE LIMIT 1)THENupdate checkupdates set LastTime=NOW() where TableName=‘TBL_AVAL
2022-01-20 13:02:47 5894
原创 sql四大排名函数
ROW_NUMBERrow_number的用途的非常广泛,排序最好用他,一般可以用来实现web程序的分页,他会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号。row_number用法实例:select ROW_NUMBER() OVER(order by [SubTime] desc) as row_num,* from [Order]RANKrank函数用于返回结果集的分区内每行的排名, 行的排名是
2021-11-22 13:23:06 383
原创 mysql练习题
力扣:mysql题编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。±—±-------+| Id | Salary |±—±-------+| 1 | 100 || 2 | 200 || 3 | 300 |±—±-------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。±--------------------+| SecondHighest
2021-11-22 13:20:33 195 1
原创 Maven配置使用阿里云镜像
在settings.xml文件中的mirrors下添加mirror标签<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url&
2021-08-31 14:19:22 629
原创 hive常用的开窗函数用法
一row_number() over()使用row_number函数,对表中的数据按照省份分组,按照人数倒序排序并进行标记:selectprovince_name,city_name,pc_cnt,row_number() over(partition by province_name order by pc_cnt desc) as rnfromwedw_tmp.t_rn;然后,利用上面的结果,查询出rn<=2的即为最终需求selecttmp.province_nam
2021-08-30 16:24:42 1160
原创 聊聊数据公司团队对数仓的规范都做什么事
数仓规范分类数据仓库规范全解 这篇文章中给出了数仓规范的分类脑图,大致可以分为:设计规范流程规范质量管控规范安全规范对于我们人少事多的小团队来说,首先需要落地的是第一点。比如说质量管控规范, 这和数据治理相关,这是数据领域现在最火的话题,但对起步不久的小团队来说,报表数量还有限,数据治理暂时还没有太适合小团队的开源工具出现,如果没有在这方面已经有落地的产品,规范很容易变成纸上谈兵。设计规范数仓规范的切入点,也是最重要的一点就是数据模型分层我们这里也是参考的阿里的:ODS: 原始数据不
2021-08-27 09:05:02 300
原创 cron表达式详解
cron表达式详解Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:每一个域可出现的字符如下:Seconds:可出现", - * /“四个字符,有效范围为0-59的整数Minutes:可出现”, - * /“四个字符,有效范围为0-59的整数Hours:可出现”, - * /“四个字符,有效范围为0-23的整数DayofMonth:可出现”, - * / ? L W C"八个字符,有效范围为0-31的整数Month:可出现"
2021-08-26 09:52:35 346
原创 No goals have been specified for this build. You must specify a valid lifecy
No goals have been specified for this build. You must specify a valid lifecy解决方案:#pom.xml 文件中 标签要加配置: compile<build> <defaultGoal>compile</defaultGoal> </build>
2021-08-16 15:57:57 3919 2
原创 join
而加快join的执行速度。需要注意,使用mapjoin时:left outer join的左表必须是大表;right outer join的右表必须是大表;inner join左表或右表均可以作为大表;full outer join不能使用mapjoin;mapjoin支持小表为子查询;使用mapjoin时需要引用小表或是子查询时,需要引用别名;在mapjoin中,可以使用不等值连接或者使用or连接多个条件;目前ODPS在mapjoin中最多支持指定6张小表,否则报语法错误;如果使用map
2021-08-04 16:46:44 345
原创 SecureCRT的常用命令:
SecureCRT的常用命令:tab键:命令或者路径提示及补全;ctrl+c:放弃当前输入,终止当前任务或程序;ctrl+d:删除光标后面一个字符,如果输入行没有内容,则出当前用户环境,相当于exit,logout;按enter重新进入;ctrl+l:清屏;ctrl+shift+c:复制;ctrl+shift+v:粘贴;shift+insert:粘贴光标选中内容ctrl+a:命令光标移动到第一个字母;ctrl+e:命令光标移动到最后字母;ctrl+u:删除光标前面内容;ctrl+w:
2021-07-29 14:50:18 4228
原创 5W2H分析法
七问分析法(1)WHAT——是什么?目的是什么?做什么工作?(2)WHY——为什么要做?可不可以不做?有没有替代方案?(3)WHO——谁?由谁来做?(4)WHEN——何时?什么时间做?什么时机最适宜?(5)WHERE——何处?在哪里做?(6)HOW ——怎么做?如何提高效率?如何实施?方法是什么?(7)HOW MUCH——多少?做到什么程度?数量如何?质量水平如何?费用产出如何?检查原产品的合理性步骤(1)做什么(What)?条件是什么?哪一部分工作要做?目的是什么?重点是什么?与什么有
2021-07-26 10:14:55 310
原创 CDH集群通信端口汇总
hdfs50070 :HDFS namenode http address50075 :HDFS datanode http address50090 :HDFS secondary namenode http address8485 : JournalNode 的RPC端口8020 : namenode节点active状态下的端口号14000 :httpFS http 访问端口YARN:8088 : Yarn 的WEB UI 接口8042 : nodemanager webapp
2021-07-21 17:05:39 755
原创 统计各个部门的工资记录数
drop table if exists departments ;drop table if exists dept_emp ;drop table if exists salaries ;CREATE TABLE departments (dept_no char(4) NOT NULL,dept_name varchar(40) NOT NULL,PRIMARY KEY (dept_no));CREATE TABLE dept_emp (emp_no int(11) N...
2021-07-15 11:52:49 347
原创 嵌套查询多表联查
1、inner join1、内连接:只取两张表有对应关系的记录select * from emp2 inner join dep2 on emp2.dep_id = dep2.id;select * from emp2 inner join dep2 on emp2.dep_id = dep2.id and dep2.name = ‘技术’;2、left join2、左连接: 在内连接的基础上保留左表没有对应关系的记录select * from emp2 left join dep2 on em
2021-07-14 15:13:10 695
原创 hive处理脏数据
INSERT OVERWRITE table ods.js_beauty_tmpSELECT *from ods.js_beauty_tmpWHERE map_lat != ‘’AND map_lng != ‘’AND map_lat IS NOT NULLAND map_lng IS NOT NULLAND map_lat != 0AND map_lng != 0AND map_lat not like ‘-%’AND map_lng not like ‘-%’and city !=
2021-07-09 10:37:02 883
原创 hadoop集群一键启动所有程序脚本
#!/bin/shcmd=$1if [[ $cmd = “start” ]]; then /export/servers/zookeeper/bin/zkServer.sh start &&/export/servers/hadoop/sbin/start-dfs.sh &&/export/servers/hadoop/sbin/start-yarn.sh &&/export/servers/hadoop/sbin/mr-jobhist.
2021-06-28 09:53:35 632
原创 数据库迁移的方法
数据库迁移的方法我们今天以mysql为例,讲讲数据库迁移的四种方法。1、将数据库倒出为sql文件,再重新导入(推荐)。首先将mysql数据库锁定,并将内存中的数据写入磁盘。flush tables with read lock ;用mysqldump将test数据库导出为sql文件。在新的数据库服务器上,新建test数据库,再将sql文件导入。...
2021-06-10 16:16:57 5328
原创 使用hive删除分区语法
可以用 ALTER TABLE DROP PARTITION 来删除分区。分区的元数据和数据将被一并删除。例:alter table dc_dwa.dwa_d_sheet_remedy_s1 drop partition(month_id=202106,day_id=05);(这是删除两个分区)
2021-06-08 15:15:04 3044
原创 使用linux连接mysql命令
连接MYSQL:格式: mysql -h主机地址 -u用户名 -p用户密码1、例1:连接到本机上的MYSQL找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>2、连接到远程主机上的MYSQL假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:mysql -h10.0.0.1
2021-06-08 09:54:21 617
原创 Spark部分端口汇总
50070:HDFSwebUI的端口号8485:journalnode默认的端口号9000:非高可用访问数rpc端口8020:高可用访问数据rpc8088:yarn的webUI的端口号8080:master的webUI,Tomcat的端口号7077:spark基于standalone的提交任务的端口号8081:worker的webUI的端口号18080:historyServer的webUI的端口号4040:application的webUI的端口号2181:zookeeper的rpc.
2021-06-07 17:20:18 568
原创 hive创建分区表
create table emp(id int,name string,age string)partitioned by(dt string)row format delimited fields terminated by ‘\t’;–添加分区alter table emp add if not exists partition(dt=‘20210530’) location ‘20210530’;–插入数据load data local INPATH ‘/pot/stude.
2021-05-31 11:10:43 229
原创 Mysql中取日期的函数TO_DAYS函数
SQL博大精深TO_DAYS函数 返回一个天数! 啊哈?什么天数? 从年份0开始的天数比如:mysql> SELECT TO_DAYS(‘1996-04-22′);结果 729136就是从0年开始 到1996年04月22号之间的天数如何获取一张日更新的数据表,今天和昨天相比,新增的数据?select * from count_user_visit where to_days(now())-to_days(create_time)<1前天的?那就是select * f
2021-05-25 09:49:05 1529
原创 Linux查找文件内容的常用命令方法
Linux查找文件内容的常用命令方法从文件内容查找匹配指定字符串的行:$ grep “被查找的字符串” 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep “thermcontact” /.in从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名查找时不区分大小写:$ grep –i “被查找的字符串” 文件名查找匹配的行数:$ grep -c “被查找的字符串” 文件名从文件内容查找不匹配指定字符串的行:$ gr
2021-05-24 10:21:41 2264
原创 使用split切分文件内容到另一个文件
问题:需要把2.txt文件第一行的端口号赋值到1.txt文件的端口号,最终结果1.txt为PORT=1082(不可以直接1082替换1081,需要先切分)解题:脚本:
2021-05-19 09:23:36 384
原创 检索“04”课程分数小于60,按分数降序排列的同学学号
#建表语句Student(sid,Sname,Sage,Ssex) 学生表Course(cid,Cname,tid) 课程表SC(sid,cid,score) 成绩表Teacher(tid,Tname) 教师表–1.学生表Student(sid,Sname,Sage,Ssex)学生编号,sid学生姓名,Sname出生年月,Sage学生性别,Ssex–2.课程表Course(cid,Cname,tid)课程编号,cid课程名称,Cname教师编号,tid–3.教师表Te
2021-05-08 14:41:58 5533
原创 MySQL - 什么是表分区,如何实现、原理?
mysql表分区是MySQL自己的一种实现,分区常和分表配合使用。它是一种物理切分。切分规则:range、list、hash、key分区示例:range:create table range(id int(11),money int(11) unsigned not null,date datetime) partition by range(year(date))(partition p2007 values less than (2008),partition p2008 v
2021-04-25 14:50:57 486
原创 Java中如何优雅地删除List中的元素
优雅删除:使用Iterator迭代器使用迭代器可,正确无误的删除,代码简洁优雅,推荐使用!public static List iteratorRemove(List list, Object element) {Iterator iterator = list.iterator();while (iterator.hasNext()) {Object cur = iterator.next();if (cur.equals(element)) {// 注意!!!这里时Iterator.re
2021-04-25 10:06:57 196
原创 IDEA快捷键大全
Ctrl快捷键 介绍Ctrl + F 在当前文件进行文本查找 (必备)Ctrl + R 在当前文件进行文本替换 (必备)Ctrl + Z 撤销 (必备)Ctrl + Y 删除光标所在行 或 删除选中的行 (必备)Ctrl + X 剪切光标所在行 或 剪切选择内容Ctrl + C 复制光标所在行 或 复制选择内容Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备)Ctrl + W 递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再
2021-04-22 20:20:16 121 1
原创 list怎么插入一个元素
List究竟是什么?List是接口–继承于collection序列(接口)List是有序的 collection(也称为序列)。该接口的实现类可以对列表中每个元素的插入位置进行精确地控制。List如何插入元素?List 接口提供了两种在列表的插入元素的方法。add(E e) 向列表的尾部添加指定的元素(可选操作)。add(int index, E element) 在列表的指定位置插入指定元素(可选操作)。参考实例以List的实现类ArrayList为例import java.uti
2021-04-22 16:16:32 5831
原创 SQL练习题
第一题用一条SQL语句获得全家门店销量表(Sales)中饮料产品(Product)销量(Qty)均小于50瓶的门店(Store)(没有出现在销量表中的产品可以忽略)。解题:select Store,Product,Qty from Sales where Qty<50结果:第二题请使用SQL语句获得门店销量表(Sales2)中每个产品(Product)销量(Qty)最小的门店(Store)。解题:select Sales2.Store as Store,Sale
2021-01-06 15:11:39 1654 1
原创 如何把该数组内的数组元素遍历出来
如何把该数组内的数组元素遍历出来一般人都会用baifor循环来遍历整个数du组,然后挨个输出例如:int[] a = {1,zhi2,3,4,5};要将数组a打印出来,就是for(int i = 0;i<a.length;i++){System.out.println(a[i]);}这样就dao会挨个输出数组但是还有一个方法,知道的人不多,就是Array.toString(a);只需要 System.out.println(Array.toString(a));就会打印出[1,2
2020-09-13 11:48:26 1121
原创 idea2020使用idea 没有Run Dashboard
idea2020使用idea 没有Run Dashboard我在Services添加一个Spring boot开启任何一个服务
2020-09-03 09:42:47 595
原创 java的面试题总结
List, Set, Map的区别1、List中的元素,有序、可重复、可为空;2、Set中的元素,无序、不重复、只有一个空元素;3、Map中的元素,无序、键不重,值可重、可一个空键、多个空值;ArrayList和LinkedList的区别ArrayList:底层实现就是数组,且ArrayList实现了(/ˈrændəm/)RandomAccess( /ˈækses/ ),表示它能快速随机访问存储的元素,通过下标 index 访问,只是我们需要用 get() 方法的形式, 数组支持随机访问, 查询速
2020-08-11 16:55:30 297
原创 Flink第四章Flink 运行架构
Flink 运行架构4.1 任务提交流程Flink 任务提交后,Client 向 HDFS 上传 Flink 的 Jar 包和配置,之后向 Yarn ResourceManager 提 交 任 务 ,ResourceManager 分 配 Container 资 源 并 通 知 对 应 的 NodeManager 启 动 ApplicationMaster,ApplicationMaster 启动后加载 Flink 的 Jar 包 和 配 置 构 建 环 境 , 然 后 启 动 JobManager
2020-07-20 22:02:05 186
原创 Flink第三章Flink集群搭建
Flink集群搭建Flink 支持多种安装模式。local( 本地) ——单机模式, 一般不使用standalone ——独立模式, Flink 自带集群,开发测试环境使用yarn——计算资源统一由 Hadoop YARN3.1 standalone 集群环境3.1.1 准备工作jdk1.8 及以上【 配置 JAVA_HOME 环境变量】ssh 免密码登录【 集群内节点之间免密登录】3.1.2 下载安装包 https://archive.apache.org/dist/flink/fli
2020-07-20 21:40:42 536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人