自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

原创 计算pm数据到redis

这是 需求大慨分析和我的总体逻辑思路package data;import net.sf.json.JSONException;import net.sf.json.JSONObject;import redis.clients.jedis.Jedis;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.ut

2020-09-16 11:21:23 632

原创 摸索kafka的ack的机制

Kafka的ack机制,指的是producer的消息发送确认机制,这直接影响到Kafka集群的吞吐量和消息可靠性。而吞吐量和可靠性就像硬币的两面,两者不可兼得,只能平衡。acks参数配置:ack有3个可选值,分别是1,0,-1。0 :生产者发送消息不需要等待任何服务端的响应,如果在发送消息写入kafka的时候出现异常,导致kafka并没有接受到这条消息,那么生产者无从得知,消息也就丢失了,但是这种情况延迟低,设置为0,可达到最大吞吐量(简单来说就是producer发送一次就不再发送了,不管是否发送.

2020-06-29 22:36:32 1139

原创 sql多列求平均值

mysqlSELECT *,CASE WHEN SUM(IFNULL(emp_no_new,0)+IFNULL(emp_no_new_1,0)) =0 THEN 0 ELSE SUM(IFNULL(emp_no_new,0)+IFNULL(emp_no_new_1,0))/ SUM(IF(emp_no_new IS NULL,0,1)+IF(emp_no_new_1 IS NULL,0,1)) END AS avg FROM dept_emp GROUP BY emp_nooracle

2022-03-23 21:13:50 4359

原创 sql题(一) 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

drop table if exists salaries ;CREATE TABLE salaries (emp_no int(11) NOT NULL,salary int(11) NOT NULL,from_date date NOT NULL,to_date date NOT NULL,PRIMARY KEY (emp_no,from_date));INSERT INTO salaries VALUES(10001,88958,‘2002-06-22’,‘9999-01-01’);

2021-12-23 11:34:22 680

原创 Mysql分组后取最大值的那一行

mysql是指取到的那一行,并不是包含最大分数的那一行SELECT a.* ,c.* FROM tbstudent a INNER JOIN(SELECT SUBJECT,MAX(score) score FROM tbstudent GROUP BY SUBJECT)b ON a.SUBJECT=b.SUBJECT AND a.score=b.score INNER JOIN tbclass c ON a.classid=c.classid WHERE c.classname=‘二四’ ORDER

2021-04-29 16:17:36 1786

原创 Oracle中去除字符串后两位

第一种方法:select Replace(a.STHOUSENAME,‘仓房’,’’), a.* from eb_bms_st_store a;第二种方法:select a.STHOUSENAME ,substr(a.STHOUSENAME,1,length(a.STHOUSENAME) -2 ) from eb_bms_st_store a

2021-04-23 17:51:17 5046

原创 Java常问基础面试题(一)while循环和do循环有什么不同?

简单例子一眼看出来通过上述例子不难看出简单描述两者的区别:while是先判断在执行如果判断不成立,就不会执行;do/while是先执行在判断,不管判断是否成立都会执行一次

2021-03-04 04:10:54 201 1

原创 easyeExcel把SqlServer数据库的数据写入Excel并返回下载链接

改要求了,要返回下载链接了,自从学了easyeExcel没那么复杂,建议可以去学学,以后这种操作excel不用慌了!!!controllerpackage com.wql.codebase.controller;import com.wql.codebase.pojo.Msg;import com.wql.codebase.pojo.UserStoreSales;import com.wql.codebase.service.StoreSalesService;import org.spri

2020-11-20 12:09:54 748

原创 easyeExcel读取Excel到数据库

监听器(非常核心的一段代码)注:在监听器中,得到的list类型是不能被Service调用的,需要在监听器中定义有参Service,然后在Controller层里面去调用。直接拿监听器里面的list使用会报空指针异常。package com.wql.codebase.controller;import com.alibaba.excel.context.AnalysisContext;import com.alibaba.excel.event.AnalysisEventListener;impo

2020-11-20 11:54:35 909 1

原创 JXT查询数据库导入到Execl

因为要做一个报表的功能,要把数据展示到文档上。这就不得不用到这段代码了错误一:驱动问题解决办法:找了很多方法 ,什么在jre的lib的ext下放驱动包,还有的检查url找了好久,想到应该主动加载驱动包Class.forName("com.mysql.jdbc.Driver");package cm.wql.Test;import jxl.Workbook;import jxl.write.Number;import jxl.write.*;import jxl.write.biff.

2020-11-15 11:42:28 539

原创 Mybatis的动态sql标签trim标签

<insert id="insertSelective" parameterType="cn.gzrrg.mwapi.pojo.BetweenExampleCategory" > insert into between_example_category <trim prefix="(" suffix=")" suffixOverrides="," > <if test="betweenExampleCategoryId != null" >..

2020-10-30 12:09:16 983 1

Maven多模块开发样例

项目开发通常是分组分模块开发,通常情况下可以把Dao,Service,Controller这三层拆分成三个项目去开发,开发完毕再把这三个项目聚合到一起组成一个完整的大项目.这种开发方式就是聚合式开发继承是为了消除重复,如果将 dao、 service、 web 分开创建独立的工程则每个工程的 pom.xml 文件中的内容存在重复,比如:设置编译版本、锁定 spring 的版本的等,可以将这些重复的 配置提取出来在父工程的 pom.xml 中定义。继承和聚合结构图:特点1(继承):parent父工

2020-10-09 14:47:20 449

原创 学SpringMVC中的实体类有date类型 而前端传来的日期类型不一致时的解决办法

2020-09-29 10:30:14 1057

原创 Spring的几个常用注解解释

@Resource :获取spring容器中象 依赖注入@Configuration //申明这是一个配置类@ComponentScan(basePackages = {“cz.wql.demo01”})//定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中//spring框架跟junit整合@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = SpringConfigurat.

2020-09-25 14:06:06 445

原创 mybatis_简单使用(1)

mybatis的编写流程1.dao:编写功能接口,并通过注解配置SQL语句2.配置:编写核心配置文件SqlMapConfig.xml,用于配置数据源,用于加载接口3.测试:编写Mybatis框架测试代码入门小案例案例需求:查询user表中所有的用户信息环境:1.创建maven项目导入mybatis的pom包 2.创建数据库和表 3.编写连接db的xml核心配置文件 4.编写mapper功能接口 和user对象 5.测试类1<dependencies> &lt

2020-09-17 12:52:37 519

原创 JavaIO流读取文件夹下所有的.csv文件(IO流忘了很多,保存记好哦)

public static List<String> getCSV(String DirPath) throws IOException { //获取存放文件的目录 File dirpath = new File(DirPath); //将该目录下的所有文件放置在一个File类型的数组中 File[] filelist = dirpath.listFiles(); //创建一个空的file类型的list集合,用.

2020-09-16 11:15:17 1761

原创 Hive删除表分区名是乱码,drop不掉的解决办法

运行之后这个分区无法删除使用方法:urlDecode解密乱码的分区,解码工具网址:http://www.jsons.cn/urlencode再一次进行删除,ok了alter table lab.fz_q3_id_20171026_v3 drop partition (no='no=10_bs_xsz');

2020-09-03 10:31:13 756 1

原创 JAVA中IO流读取和写入样例

import java.io.*;/** * 读取txt文件 * 一次读一行 * @author ylq * */public class oput { public static void path( String input,String output) throws IOException { //文件路径 //String filePath="F:\\9ebang\\data\\gis\\output\\1xian50.txt";

2020-09-01 14:05:17 630 1

原创 Hive下的SQL语法总结

(1).Hive不支持join的非等值连接,不支持or分别举例如下及实现解决办法。 不支持不等值连接 错误:select * from a inner join b on a.id<>b.id 替代方法:select * from a inner join b on a.id=b.id and a.id is null; 不支持or 错误:select * from a inner join b on a.id=b.id or a.name=b.

2020-08-27 10:33:07 924

原创 hive的日期函数02版本

1.时间戳函数日期转时间戳:从1970-01-01 00:00:00 UTC到指定时间的秒数获得当前时区的UNIX时间戳: select unix_timestamp(); 1533716607将指定的时间转为UNIX时间戳 :select unix_timestamp(‘2018-08-08 16:22:01’); 1533716521将指定的时间转为UNIX时间戳: select unix_timestamp(‘2018-08-08 16:22:01’,‘yyyy-MM-dd HH:mm:ss’

2020-08-21 14:44:53 790

原创 org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found. Available parameters are(x,x)

解决办法就是在每个参数前加上@param注解,括号中注解的名称就是mapper中映射的值

2020-08-07 09:47:21 1159

原创 Hive 四种 排序窗口函数的区别

rownumber() 正常顺序排序rankover() 正常顺序排序, 并列多出的算个数dense_rank() 正常顺序排序, 并列多出的不算个数ntile() 大概均分为几份, 并不保证完全绝对均分...

2020-07-30 15:16:46 1067

原创 Spark任务的基本运行流程简介

首先我们main方法,SparkContext会构建SparkApplication环境,SparkContext去申请资源(这里可以指 yarn ,mesos,standalone)来运行一个Executor。SparkContext会生成DAG有向无环图,碰到action算子就会执行一个job,按照宽窄依赖划分stage,一个stage里可以有一个或者多个task,多个task组成一个taskset,把这些taskset发送给taskScheduler,然后把任务发送给Executor执行,执行完之后关

2020-07-27 11:35:05 894

原创 Maven导入pom依赖很慢的解决办法

博主也经常遇到maven导入过慢这种问题,而心态爆炸,开发无法继续进行原因:默认安装的maven使用官网地址下载依赖包,在国内访问比较慢。将maven配置文件中下载依赖包地址修改成国内地址,一般都使用阿里的地址。第一步:找到maven的安装路径 ,修改settings.xml<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun mav

2020-07-08 11:31:43 2455

原创 YARN工作流程

自己画的 有错误请大家指出YARN的运行流程(工作机制)1.clinet提交程序,向RM申请一个唯一的jobid2.RM返回一个jobid,并且返回程序提交资源的路径发送给客户端3.Client端将运行作业所需要的资源(如:jar包,配置文件,切片信息等)向指定的hdfs路径上传(注意:这个hdfs的路径是临时目录,程序运行完后,自动销毁)4.上传成功之后,向RM发送执行作业的请求5.RM讲请求转发给调度器6.调度器会检测看哪个NM(Nodemanager)机器有空闲的时间来调度程序,如果有

2020-07-03 17:16:37 938

原创 kafka相关命令操作

启动kafka(到每个节点启动)node01: nohup ./bin/kafka-server-start.sh config/server.properties &node02: nohup ./bin/kafka-server-start.sh config/server.properties &node03s: nohup ./bin/kafka-server-start.sh config/server.properties &创建topicbin/kafk

2020-06-30 17:22:20 2812

原创 Flume详解(二)的Flume agent内部原理

Source将数据写入Channel ,先经过Channel处理器,Channel处理器将这些事件传到一个或多个Source配置的拦截器中。拦截器是一段代码,可以基于某些它完成的处理来读取事件和修改或删除事件。基于某些标准,如正则表达式,拦截器可以用来删除事件。一旦拦截器处理完事件,拦截器链返回的事件列表传递到Channel列表,即通过Channel 选择器为每个事件选择的Channel。(拦截器不能写太复杂的逻辑,影响效率)Source 可以通过处理器-拦截器-选择器路由写入多个 Channel。.

2020-06-29 14:21:35 1196

原创 Flume详解(一)

1、Flume 定义Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传 输的系统。Flume 基于流式架构,灵活简单。2、为什么选用flumeflume的主要功能:就是实时读取服务器本地磁盘的数据,将数据写入到HDFS上3、Flume 组成架构简易架构图详细架构图...

2020-06-29 10:21:00 10048

原创 hive入门详解(七)之hive实战练习

需求描述统计视频网站的各种topN1、统计视频观看数 Top102、统计视频类别热度 Top103、统计视频观看数 Top20 所属类别4、统计视频观看数 Top50 所关联视频的所属类别 Rank5、统计每个类别中的视频热度 Top106、统计每个类别中视频流量 Top107、统计上传视频最多的用户 Top10 以及他们上传的视频8、统计每个类别视频观看数 Top10第一步:对数据预处理原始数据示例:qR8WRLrO2aQ:mienge:406:People & Blo

2020-06-26 16:20:08 1070

原创 查看多台机器的jps进程的脚本

第一步: vim jpsall添加脚本#!/bin/bash#执行jps命令查询每台服务器上的节点状态echo ======================正在查询集群节点状态==================== for i in node01 node02 node03do echo ====================== 查询$i 所有服务==================== ssh root@$i '/export/install/jd

2020-06-22 11:10:07 1505

原创 hive入门详解(六)之常用查询的函数和自定义函数

一些常用查询函数1,空字段赋值2,case when3,窗口函数4,Rank1,空字段赋值NVL:给值为 NULL 的数据赋值,它的格式是 NVL( string1, replace_with)。它的功能是 如果 string1 为 NULL,则 NVL 函数返回 replace_with 的值,否则返回 string1 的值,如果两 个参数都为 NULL ,则返回 NULL。查询:如果员工的 comm 为 NULL,则用-1 代替 hive (default)> select nvl

2020-06-20 16:20:50 1082

原创 hive入门详解(五)之分桶表及抽样查询

分桶1.分桶表数据存储2.分桶抽样查询1.分桶表数据存储1.1,分区针对的是数据的存储路径;分桶针对的是数据文件。(1)创建分桶表create table stu_buck(id int, name string) clustered by(id) into 4 buckets row format delimited fields terminated by '\t'; (2)查看表结构hive (default)> desc formatted stu_buck;需要设置

2020-06-19 08:12:41 1654

原创 hive入门详解(四)

查询1,基本查询(select…from)2,where语句3,分组4,join语句5,排序6,分桶及抽样查询7,其他常用查询函数1,基本查询(select..from)1.1,全表和特定列查询1.全表查询hive (default)> select * from emp;2.选择特定列查询 hive (default)> select empno, ename from emp;注意:(1)SQL 语言大小写不敏感。(2)SQL 可以写在一行或者多行(3

2020-06-18 17:43:58 2524

原创 hive入门详解(三)

DML 数据操作1,数据导入到hive表中方式2,从hive表中导出的方式3,清除表中的数据1,数据导入到hive表中方式1.1 ,向表中装载数据(Load)语法:hive> load data [local] inpath '/opt/module/datas/student.txt' overwrite | into table student [partition (partcol1=val1,…)];(1)load data:表示加载数据(2)local:表示从本地加载数据到

2020-06-18 07:59:51 1507

原创 hive入门详解(二)

DDL语句定义1,创建数据库2,查询数据库3,修改数据库4,删除数据库5,创建表6,分区表7,修改表8,删除表1,创建数据库1)创建一个数据库,数据库在 HDFS 上的默认存储路径是/user/hive/warehouse/*.db。 hive (default)> create database db_hive; 2)避免要创建的数据库已经存在错误,增加 if not exists 判断。(标准写法) hive (default)> create database

2020-06-17 18:19:37 1553

原创 hive入门详解(一)

1,什么是 HiveHive:由 Facebook 开源用于解决海量结构化日志的数据统计。Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并 提供类 SQL 查询功能。本质是:将 HQL 转化成 MapReduce 程序...

2020-06-16 20:01:04 1777

原创 Sparkcore和Sparksql完成经典TopN

数据是:import org.apache.spark.SparkContextimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, Row, SparkSession}object TopN { def main(args: Array[String]): Unit = { sparkcoreTopN() sparksqlTopN() } def sparkcoreTopN(

2020-06-11 14:49:15 2034 2

原创 idea使用git的简单教学(2)

冲突问题模拟TestGit001是张三用户的开发平台模拟TestGit002是李四用户的开发平台冲突的原因一个分支的相同文件相同位置的不同操作进行了合并第一个用户提交时没有任何影响第二个用户提交时会报告冲突弹出冲突的解决“对话框“”如下合并后得到最终的结果。在下一次提交时提交到远程代码库。分支在开发软件时,可能有多人同时为同一个软件开发功能或修复BUG,可能存在多个版本,并且需要对各个版本进行维护。所幸,Git的分支功能可以支持同时进行多个功能的开发和版本管理。什么是分支?

2020-06-09 21:50:18 1878

原创 idea使用git的简单教学(1)

idea配置添加git1、添加git.exe到ideaIDEA链接远程代码仓库拉取到本地1.初始化Git git init2.将本地和远程建立联系.后面的https为创建的仓库地址.这样就完成了版本的一次初始化。git remote add origin https://gitee.com/xx/TestGit.git3.将远程拉取到本地git pull origin master步骤:结果:多出了一个文件忽略提交的文件或文件夹或规则第一种方式:这种方式可能2019后.

2020-06-09 20:41:38 1842

原创 Spark on yarn 提交作业的流程

on yarn集群模式的两种模式cluster模式client模式Yarn-client模式与Yarn-cluster模式的不同之处:Yarn-client模式,Driver运行在本地机器上;Yarn-cluster模式,Driver运行在Yarn集群上某的NodeManager节点上;Yarn-client模式会导致本地机器负责spark任务的调度,所以网课流量会激增;Yarn-cluster模式没有流量激增的问题Yarn-client的Driver运行在本地,通常来说本地机器和Yarn集

2020-05-26 15:01:20 3211

Git-2.20.1-64-bit.rar

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

2020-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除