- 博客(163)
- 资源 (4)
- 收藏
- 关注
原创 口径、维度、指标和字段
with as用法WITH AS短语,也叫做子查询部分(subquery factoring),是用来定义一个SQL片断,该SQL片断会被整个SQL语句所用到。
2021-07-15 16:02:25
3571
原创 sql中if表达式的用法
if表达式IF(expr1,expr2,expr3)如果 expr1 是TRUE ,则 IF()的返回值为expr2; 否则返回值则为 expr3。expr2和expr3可以是字段也可以是确切的字符串或者数字mysql> select * from EMP;+-------+--------+-----------+------+------------+---------+---------+--------+| EMPNO | ENAME | JOB | MGR |
2021-07-13 17:38:31
1232
原创 SQL 中case when ...then...else ...end用法
CASE WHEN 基本概念case是一个行级的语法,相当于对于每一行满足条件的数据,等到一个新的结果,也是新的一列。简单Case函数:CASE sexWHEN ‘1’ THEN ‘男’WHEN ‘0’ THEN ‘女’ELSE ‘其他’ END as sex_cn解释:每一行sex字段的值为1得出一个结果‘男’否则得到‘其他’,会另起一列,命名为sex_cn,如果没有as就会使用这一段case语句命名Case搜索函数:CASE WHEN sex = ‘1’ THEN ‘男’WHEN
2021-07-07 17:28:49
1553
原创 Hadoop 2.4.0完全分布式安装和解决一些问题
参考https://blog.csdn.net/qq_43605654/article/details/90746563参考https://blog.csdn.net/weixin_50198333/article/details/108768630三台机器配置环境前期准备:JDK环境,修改主机名称,配置网络三个ssh相互之间免密码登陆的虚拟机node1,node2,node3.修改/etc/hosts文件安装三台虚拟机将hadoop2.4.0解压到/usr/local中。改名mv h
2021-06-28 20:06:18
285
2
原创 git rm与git rm --cached
修改.gitignore在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则。规则很简单,不做过多解释,但是有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除
2021-06-23 11:07:40
1174
转载 Git学习笔记
参考 https://mp.weixin.qq.com/s/Bf7uVhGiu47uOELjmC5uXQ版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内
2021-06-21 18:18:36
106
原创 Apache Flink学习笔记(9)Flink中流处理中Window
窗口概念在大多数场景下,我们需要统计的数据流都是无界的,因此我们无法等待整个数据流终止后才进行统计。通常情况下,我们只需要对某个时间范围或者数量范围内的数据进行统计分析:如每隔五分钟统计一次过去一小时内所有商品的点击量;或者每发生1000次点击后,都去统计一下每个商品点击率的占比。在 Flink 中,我们使用窗口 (Window) 来实现这类功能。按照统计维度的不同,Flink 中的窗口可以分为 时间窗口 (Time Windows) 和 计数窗口 (Count Windows) 。Time Windo
2021-06-15 17:39:59
382
1
原创 数据库设计三范式
范式范式从本质上讲是一种理论体系、理论框架。在该体系框架之内的该范式的理论、法则、定律都被人们普遍接受。范式是一种人们普遍接受的规律,定律。数据库设计三范式按照这三个范式设计的目的是为了使表不产生冗余。第一范式(1NF)表中所有字段必须是原子的,不能是任何集合(数组,表,树,图)。第二范式(2NF)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或记录必须可以被唯一地区分。选取一个能
2021-06-10 17:57:40
347
1
原创 SQL之语句分类和用法
一、SQL(结构化查询语言)结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存放数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有.
2021-06-10 16:35:23
983
1
转载 CentOS7安装MySQL(完整版)
这个教程非常完整并且思路清晰:https://blog.csdn.net/qq_36582604/article/details/80526287
2021-05-25 17:43:58
137
原创 Apache Flink学习笔记(8)Flink中流处理API(Source,Transformation,Sink)
Flink中流处理流程创建执行环境Flink Data SourceFlink Data TransformationFlink Data Sink创建执行环境getExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文。 如果程序是独立调用的,则此方法返回本地执行环境;如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环境,也就是说,getExecutionEnvironment 会根据查询运行的方式决定返回什么样的运行环境,是最常用的一种创建
2021-05-05 17:13:11
647
1
原创 Kafka学习笔记(4)Kafaka中消费者,分区策略和offset
消费方式consumer 采用 pull(拉)模式从 broker 中读取数据。push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成 consumer 来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而 pull 模式则可以根据 consumer 的消费能力以适当的速率消费消息。pull 模式不足之处是,如果 kafka 没有数据,消费者可能会陷入循环中,一直返回空数据。针对这一点,Kafka 的消费者在
2021-05-05 14:28:27
963
2
原创 Kafka学习笔记(3)Kafaka中的存储机制及生产者
kafka-topics.sh --list --zookeeper h71:2181
2021-04-25 00:40:51
560
1
原创 Apache Flink学习笔记(7)Flink中支持的数据类型,UDF和富函数
Flink支持的Java数据类型Java元组类型Flink中java的元组类型是Flink自己定义的。Tuple1,Tuple2,Tuple2.。。。。Tuple25以此类推数据结构类似于(data1,data2,data3)是一个线性表Java的包装类Integer,Double等等Java的简单对象(POJO)简单类,必须有无参构造函数,属性是public,属性不是public,就必须有get,set函数。其它ArrayList,HashMap等等。UDF(自定义函数)函数类函数
2021-04-21 11:10:17
298
转载 Zookeeper的选举机制原理(图文深度讲解)
三个核心选举原则三个核心选举原则:(1)Zookeeper集群中只有超过半数以上的服务器启动,集群才能正常工作;(2)在集群正常工作之前,myid小的服务器给myid大的服务器投票,直到集群正常工作,选出Leader;(3)选出Leader之后,之前的服务器状态由Looking改变为Following,以后的服务器都是Follower。选举过程选举状态:Looking :选举状态。Following :Follower节点(从节点)所处的状态。Leading :Leader节点(主节点)所
2021-04-20 13:34:27
689
原创 Docker学习笔记(八)Docker0网络解析
Docker0清空环境清空所有的imagesdocker rmi -f $(docker images -qa)这里使用的我的阿里云服务器ip addr查看网卡Linux ip 命令与 ifconfig 命令类似,但比 ifconfig 命令更加强大,主要功能是用于显示或设置网络设备。ip 命令是 Linux 加强版的的网络配置工具,用于代替 ifconfig 命令ip address // address:设备上的协议(IP或IPv6)地址lo下所表示的是本机回环地址
2021-04-17 23:02:24
1286
原创 多线程:如下程序通过N个线程顺序循环打印从0至100(面试题)
问题:多线程:如下程序通过N个线程顺序循环打印从0至100,如给定N=3则输出thread0: 0thread1: 1thread2: 2thread0: 3thread1: 4注意线程号与输出顺序间的关系。注意点就是volatile关键字的使用package org.example;import java.util.Scanner;public class Main{ private static int threadIndex = 0; private static
2021-04-15 10:12:36
835
原创 Apache Flink学习笔记(6)Flink中的程序中数据传输方式和Operator Chain
参考https://niyanchun.com/flink-quick-learning-6-operators.htmlhttps://blog.csdn.net/a3125504x/article/details/108648709任务之间的传输形式任务之间的数据传递形式既有默认的,也有自己通过API设定的。forward strategy(One-to-One)一个task的输出只发送给一个task作为输入如果两个task都在一个JVM中的话,那么就可以避免网络开销一般以下算子就是这样
2021-04-11 21:17:29
876
原创 Apache Flink学习笔记(5)Flink中的程序结构和4种Graph
参考https://niyanchun.com/flink-quick-learning-graph.htmlhttps://niyanchun.com/flink-quick-learning-graph.htmlFlink程序Flink程序都是由三部分组成:Source 、Transformation和Sink。Source负责读取数据源,Transformation利用各种算子进行处理加工,Sink负责输出4种Graph如上图,Flink中有4种图:StreamGraph、Job
2021-04-11 20:06:48
469
1
原创 Apache Flink学习笔记(3)Flink的案例和提交作业
Flink提交作业流程https://blog.csdn.net/weixin_43622131/article/details/112256784案例maven依赖和前期准备maven工程中的resources需要放一个hello.txt文件。需要用nc开启一个tcp服务https://blog.csdn.net/liutao43/article/details/115495473 <dependency> <groupId>org.apache.fli
2021-04-08 20:29:54
264
转载 Flink 解决 No ExecutorFactory found to execute the application
参考https://cloud.tencent.com/developer/article/1730029Flink 1.11 开始报错Exception in thread "main" java.lang.IllegalStateException: No ExecutorFactory found to execute the application. at org.apache.flink.core.execution.DefaultExecutorServiceLoader.getExec
2021-04-08 16:04:11
348
转载 nc命令简单使用
参考:https://blog.csdn.net/qq_42906907/article/details/103458718linux nc命令简介:nc是netcat的简称,有着网络界瑞士军刀的美称,被称为简单可靠的操作系统的网络工具。功能监听任意TCP/UDP端口的侦听端口的扫描机器之间传输文件机器之间网络测速控制参数由于nc命令默认是做客户端使用的,所以使用-l参数,用于指定nc将处于监听模式。意味着这时的nc被当作server,侦听并接受连接,而非向其它地址发起连接。探测主
2021-04-07 21:38:39
2222
转载 Apache Flink学习笔记(2)Flink的3种部署方式
参考:https://niyanchun.com/flink-quick-learning-deployment-mode.html#comments3种部署方式截至1.12.0版本,Flink有3种集群部署/运行模式:Flink Session ClusterFlink Job ClusterFlink Application Cluster三种运行模式主要区别在3个方面:集群的生命周期集群的资源隔离main()方法在Client侧执行还是在集群侧执行Flink Session Cl
2021-04-07 11:03:51
527
原创 Apache Flink学习笔记(1)Flink简介及架构
Flink简介Apache Flink是一个框架和分布式处理引擎,用于对无边界和有边界的数据流进行有状态的计算。(unbounded and bounded data streams)有界流和无界流(unbounded and bounded data streams)无界流: 无界流有一个起点,但没有定义的终点。它们不会终止并在生成数据时提供数据。无限制的流必须被连续处理,即,事件被获取必须立即处理。无法等待所有输入数据到达,因为输入是无界的,并且在任何时间点都不会完成。处理无限制的数据通常要求以
2021-04-07 10:49:40
300
1
原创 zookeeper学习笔记(四)使用Java连接zk,操作zk
创建maven工程<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version></dependency><dependency> <groupId>junit</gr
2021-04-06 20:43:23
1790
原创 zookeeper学习笔记(三)zk中的watch,acl和授权模式
watch理解成是注册在特定Znode上的触发器。当这个Znode发生改变,也就是调用了create,delete,setData方法的时候,将会触发Znode上注册的对应事件,请求Watch的客户端会接收到异步通知。也就是说:1.客户端调用读方法,watch参数是true。服务端接到请求,返回节点数据,并且在对应的哈希表里插入被Watch的Znode路径,以及Watcher列表。2.当被Watch的Znode发生改变,服务端会查找哈希表,找到该Znode对应的所有Watcher,异步通知客户端,
2021-04-01 18:04:44
1363
原创 zookeeper学习笔记(二)安装自动化配置及常用命令
单机或者分布式安装将zookeeper分别解压到不同机器相应的路径上单机安装就将for循环改成自己主机的IP#!/bin/bashzootmp=/root/liutao/zookeeper/tmp # zk的目录下的数据目录,需要自己创建,此路径用于存储zookeeper中数据的内存快照、及事物日志文件zoocfg=/root/liutao/zookeeper/conf/zoo.cfg # zk目录下的配置文件的路径myid=1for h7_node in h71 h72 h73;do
2021-04-01 10:14:24
157
原创 zookeeper学习笔记(一)
zookeeper官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。上面的解释有点抽象,简单来说zookeeper=文件系统+监听通知机制。...
2021-03-31 12:55:31
218
原创 JAVA学习笔记(9)多线程
进程和线程进程和线程都是OS中的重要概念,要理解进程和线程,就要理解并发和并行。并发:两个或多个事件在同一时刻发生并发:两个或多个事件在同一时间间隔发生在单处理机系统中,在一秒中内,可能1-15ms运行A程序,15-30运行B程序,以此类推,给人一种错觉是在同一时刻运行的。在多处理机系统中,在一秒内,可能1-15ms在C1处理器运行Java实现线程的方法public class Main {public static void main(String[] args){MyThread my
2021-03-29 17:55:27
142
转载 redis导入导出工具-redis-dump,centos7安装使用
redis导入导出工具-redis-dump,centos7安装使用在centos7上安装redis的备份工具redi-dump注意事项:因为多数系统自带的ruby版本是2.0.0的版本,但是redis-dump需要2.2.2以上的版本支持。redis-dump使用ruby语言编写的。直接安装的话,就会提升版本过低。需要跟高的2.2.2版本以上的支持。具体的命令如下:安装 redis-dumpyum install centos-release-scl-rh -y配置yum仓库yum i
2021-03-24 21:07:45
404
1
原创 操作系统中进程和线程知识点总结
进程和线程进程和线程都是OS中的重要概念,要理解进程和线程,就要理解并发和并行。并发:两个或多个事件在同一时刻发生并发:两个或多个事件在同一时间间隔发生在单处理机系统中,在一秒中内,可能1-15ms运行A程序,15-30运行B程序,以此类推,给人一种错觉是在同一时刻运行的。在多处理机系统中,在一秒内,可能1-15ms在C1处理器运行A程序,也可能在1-15ms内在C2处理器运行B程序,这才是并行处理机从现在的硬件的角度看,就是CPU进程在早期没有配置OS和单道批处理系统中,程序的执行方式是顺
2021-03-22 22:15:46
485
1
原创 Kafka学习笔记(2)Kafaka基础架构及安装
准备需要准备3个服务器节点;每个节点需提前安装好zookeeper,安装zookeeper可以参考另一篇文《Zookeeper-3.6.1安装》,也可以直接用kafka自带的;
2021-03-04 14:03:38
404
1
原创 Maven学习笔记(4)maven配置插件和Maven 的常用命令
1)单元测试(测试方法):用的是junit, junit是一个专门测试的框架(工具)。junit测试的内容: 测试的是类中的方法, 每一个方法都是独立测试的。方法是测试的基本单位(单元)。 maven借助单元测试,批量的测试你类中的大量方法是否符合预期的。2)使用步骤1.加入依赖,在pom.xml加入单元测试依赖junitjunit4.11test 2.在maven项目中的src/test/java目录下,创建测试程序。 推荐的创建类和方法的提示: 1.测试类的名称
2021-03-02 15:12:39
257
4
原创 ubuntu14.04虚拟机自定义IP地址
interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 192.168.142.20netmask 255.255.255.0gateway 192.168.142.2dns-nameservers 8.8.8.8
2021-02-27 21:12:50
289
1
原创 Maven学习笔记(3)Maven的构建和概念,生命周期
Maven安装https://maven.apache.org/访问Maven网站下载相对应的二进制包配置环境变量下载之后,解压:tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local配置文件:export MAVEN_HOME=/usr/local/mavenexport PATH=$PATH:$MAVEN_HOME/bin测试:常用命令...
2021-01-22 19:50:47
195
1
原创 XML与JSON文件
XML和JSONXML和JSON是两种经常在网络使用的数据表示格式,是两种数据存储交换格式。XMLXML文件常常用于配置文件,目前遇到的最多。XML是可扩展标记语言(eXtensible Markup Language)的缩写,它是是一种数据表示格式,可以描述非常复杂的数据结构,常用于传输和存储数据。XML有几个特点:一是纯文本,默认使用UTF-8编码,二是可嵌套,适合表示结构化数据。如果把XML内容存为文件,那么它就是一个XML文件,例如book.xml。此外,XML内容经常通过网络作为消息传输
2021-01-22 15:01:30
450
java案例程序,关于基础和面向对象
2020-11-20
java案例代码,关于基础,面向对象,等等的案例
2020-10-13
JAVA1.8API.zip
2020-10-06
大数据试验报告-林子雨.zip
2020-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人