摘要:Greeplum 系列(七) 权限管理 一、角色管理 Role 分为用户(User)和组(Group),用户有 login 权限,组用来管理用户,一般不会有 login 权限。初始化 gp 时创建了一个 SUPERUSER ROLE:gpadmin。 __表 1 :ALTER ROLE 属性__ 属
阅读全文
摘要:Greeplum 系列(一) Greenplum 架构 Greenplum 可进行海量并行处理 (Massively Parallel Processing) 一、Greenplum 体系架构 Greenplum 由三部分组成:Master Host、Segment、Interconnect。 1.
阅读全文
摘要:Greeplum 系列(六) 备份与恢复 先介绍几个命令查看 Greenplum 集群状态: 1. 查看所有 gp 节点状态 select from gp_segment_configuration; 2. 查看 gp 正在执行那些 sql select from from pg_stat_acti
阅读全文
摘要:Greeplum 系列(四) 实战 表结构 __(1) 拉链表结构__ __(2) 增量表结构__ __(3) 临时表结构__ __(4) 临时表结构__ 数据导入 __1. insert__ __2. insert__ __3. 外部表__ 首先,启动 gpfdist 服务 其次,创建外部表 再编
阅读全文
摘要:Greeplum 系列(四) 数据的装载与卸裁 装载数据有以下种方法: 1. insert 2. copy 3. 外部表 4. gpload 下面以 member_delta 表为例分别介绍这四种方法。 一、insert 二、copy member_his_init.dat 文件如下: 三、外部表(
阅读全文
摘要:Greeplum 系列(三) 基本用法 《PostgreSQL 教程》: 一、Greeplum 登陆与创建 1.1 登陆 psql d test h 127.0.0.1 p 5432 U gpadmin 注意:默认登陆的表名为 gpadmin 1.2 创建数据库 create database te
阅读全文
摘要:Greeplum 系列(二) 安装部署 本章将介绍如何快速安装部署 Greenplum,以及 Greenplum 的一些常用命令及工具。本章不会涉及硬件选型、操作系统参数讲解、机器性能测试等高级内容,这些会在 “第8章 Greenplum 线上环境部署” 中介绍。 2.1 软件安装及数据库初始化 下
阅读全文
摘要:linux 常用命令(三)SSH 一、SSH 安装及免密登陆 __(1) SSH 安装并配置__ CentOS 默认已安装了 SSH client、SSH server,打开终端执行如下命令进行检验 rpm qa | grep ssh 如果返回的结果如下图所示,包含了 SSH client 跟 SS
阅读全文
摘要:Linux 常用命令(一) "Linux教程 | 菜鸟教程" yum install y lrzsz vim unzip wget net tools 1. 常用命令 2. 目录操作 2.1 创建目录make directory 3.2 移动目录 move 3.3 复制(并改名)操作 copy 3.
阅读全文
摘要:linux 常用命令(二) (1) sudo 免密码配置 visudo vim /etc/sudoers root ALL=(ALL) ALL hadoop ALL=(ALL) ALL hadoop 用户可以使用 sudo 命令 %wheel ALL=(ALL) NOPASSWD: ALL whee
阅读全文
摘要:Hadoop 系列(二)安装配置 Hadoop 官网: 一、Hadoop 安装 1.1 Hadoop 依赖的组件 1. __JDK__ :从 Oracle 官网下载,设置环境变量(JAVA_HOME、PATH 和 CLASSPATH)。 2. __SSH(安全外壳标议)__ :推荐安装 Openss
阅读全文
摘要:Hadoop 系列(一)基本概念 一、Hadoop 简介 Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构,它可以使用户在不了解分布式底层细节的情況下开发分布式程序,充分利用集群的威力进行高速运算和存储。 从其定义就可以发现,它解決了两大问题:大数据存储、大数据分析。也就是 H
阅读全文
摘要:MySQL 系列(三)事务 一组要么同时执行成功,要么同时执行失败的 SQL 语句。是数据库操作的一个执行单元! __事务开始于:__ 1. 连接到数据库上,并执行条 DML 语句(INSERT、 UPDATE 或 DELETE)。 2. 前一个事务结束后,又输入了另外一条 DML 语句。 如果 J
阅读全文
摘要:MySQL 系列(二)Jdbc 一、Jdbc 基本操作 补充:将类加载到内存中方法: Class.forName("全限定名");//包名 + 类名 com.mysql.jdbc.Driver 类名.class 对象.getClass() 二、MySQL API 2.1 DriverManager.
阅读全文
摘要:MySQL 系列(一)安装 目录MySQL 系列(一)安装一、环境准备二、MySQL 安装三、MySQL 启动四、权限控制五、MySQL 升级六、错误处理七、附录附录1:MySQL 5.6.X 安装:附录2:MySQL 5.7.X 安装附录3:my.ini 生产环境参考配置 以 Centos7 下安
阅读全文
摘要:Java 正则表达式 正则表达式:一种强大而灵活的文本处理工具。大部分编程语言、数据库、文本编辑器、开发环境都支持正则表达式。正则表达式通过一些规则可以匹配一类字符串。 首先介绍一款正则表达式测试工具: "RegexBuddy" 一、基本语法 (1) 普通字符 普通字符字母、数字、汉字、下划线、以及
阅读全文
摘要:Java 设计模式系列(二三)访问者模式(Vistor) 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 一、访问者模式结构 访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构上的
阅读全文
摘要:Java 设计模式系列(十五)观察者模式(Observer) Java 设计模式系列目录() 1. "Java 设计模式系列(十五)观察者模式(Observer)" 2. "Java 设计模式系列(十五)Spring 中的监听器模式" 观察者模式是对象的行为模式,又叫发布 订阅(Publish/Su
阅读全文
摘要:Java 设计模式系列(十八)备忘录模式(Memento) 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外
阅读全文
摘要:Java 设计模式系列(二十)状态模式 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。 一、状态模式的结构 用一句话来表述,状态模式把所研
阅读全文
摘要:Java 设计模式系列(十五)迭代器模式(Iterator) 迭代器模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation)。 一、实现自己的迭代器 每天用心记录一点点。内容也许不重要,但习
阅读全文
摘要:Java 设计模式系列(十三)模板方法 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。 一、模板方法的结构
阅读全文
摘要:Java 设计模式系列(十二)策略模式(Strategy) 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 一、策略模式的结构 策略模式是对算法的包装,是把使用算法的责任和
阅读全文
摘要:Java 设计模式系列(二二)责任链模式 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下
阅读全文
摘要:Java 设计模式系列(十四)命令模式(Command) 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式属于对象的行为模式,又称为行动(Action)模式或交易(Transaction)模式
阅读全文
摘要:Java 设计模式系列(十七)中介者模式 用一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互 一、中介者模式结构 : 中介者接口。在里面定义各个同事之间交互需要的方法,可以是公共的通讯方法,比如changed方法,大家都用,
阅读全文
摘要:设计模式之美 代理模式 [toc] 设计模式之美目录: 代理模式:给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。GoF 的《设计模式》一书中把 RPC 称作远程代理。其它应用场景如缓存、监控、统计、鉴权、限流、事务、幂等、日志等。 1. 静态代理 很明显静态代理每个被代理的类都要手写
阅读全文
摘要:Java 设计模式系列(十)外观模式 门面模式(Facade):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。门面模式又称为外观模式,它是一种对象结构型模式。 一、外观模式结构 门面(Fa
阅读全文
摘要:Java 设计模式系列(十一)享元模式 Flyweight 享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。 一、享元模式的结构 享元模式采用一个共享来避免大量拥有相同内容对象的开销。这种开销最常见、最直观的就是内存的损耗。享元对象能做到共享的关键是区分内部状态(Inter
阅读全文
摘要:Java 设计模式系列(八)装饰者模式 装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。Decorator 或 Wrapper 一、装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在
阅读全文
摘要:Java 设计模式系列(九)组合模式 将对象组合成树形结构以表示“部分 整体”的层次结构。组合模式使得用户对单个对象的使用具有一致性。 一、组合模式结构 : 抽象的组件对象,为组合中的对象声明接口,让客户端可以通过这个接口来访问和管理整个对象结构,可以在里面为定义的功能提供缺省的实现。 : 叶子节点
阅读全文
摘要:设计模式之美 桥接模式 [toc] 设计模式之美目录: 桥接模式(Bridge):桥接模式不是很好理解,对于这个模式有两种不同的理解方式。但桥接模式并不常用,不是学习的重点。 在 GoF 的《设计模式》一书中,桥接模式被定义为:将抽象和实现解耦,让它们可以独立变化。 在其他资料和书籍中,还有另外一种
阅读全文
摘要:Java 设计模式系列(六)适配器模式 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式的结构: 1. 类的适配器模式 2. 对象的适配器模式 一、类适配器模式 类的适配器模式把适配的类的 API 转换成为目标类的 A
阅读全文
摘要:设计模式之美 原型模式 [toc] 设计模式之美目录: 原型模式:如果对象的创建成本比较大,可以基于已有的原型对象来创建新的对象。 对于熟悉 JavaScript 语言的前端程序员来说,原型模式是一种比较常用的开发模式。这是因为,有别于 Java、C++ 等基于类的面向对象编程语言,JavaScri
阅读全文
摘要:设计模式之美 生成器模式 [toc] 设计模式之美目录: Builder 模式,中文翻译为建造者模式或构建者模式或生成器模式。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的原理和代码实现非常简单,掌握起来并不难,难点在于应用场景。在学习生成器模式的过程中,思
阅读全文
摘要:Java 设计模式系列(三)抽象工厂 每天用心记录一点点。内容也许不重要,但习惯很重要!
阅读全文
摘要:设计模式之美 工厂模式 [toc] 设计模式之美目录: 工厂模式实现了创建者和调用者的分离。工厂模式可分为三种类型:简单工厂、工厂方法、抽象工厂。不过,在 GoF 的《设计模式》一书中,它将简单工厂模式看作是工厂方法模式的一种特例,所以工厂模式只被分成了工厂方法和抽象工厂两类。实际上,前面一种分类方
阅读全文
摘要:Java Thread系列(十)Future 模式 Future 模式适合在处理很耗时的业务逻辑时进行使用,可以有效的减少系统的响应时间,提高系统的吞吐量。 一、Future 模式核心思想 如下的请求调用过程时序图。当 call 请求发出时,需要很长的时间才能返回。左边的图需要一直等待,等返回数据后
阅读全文
摘要:Java Thread系列(九)Master Worker模式 Master Worker模式是常用的并行设计模式. 一、Master Worker 模式核心思想 Master Worker 系统由两个角色组成,Master 和 Worker,Master 负责接收和分配任务,Worker 负责处理
阅读全文
摘要:Java Thread系列(十)生产者消费者模式 生产者消费者问题(producer consumer problem),是一个多线程同步问题的经典案例。该问题描述了两个共亨固定大小缓冲区的线程—即所谓的“生产者”和“消费者—在实际运行时会发生的问题。 一、信号灯法 信号灯法实际上就是保证同一时间只
阅读全文
摘要:Java Thread系列(七)死锁 当线程需要同时持有多个锁时,有可能产生死锁。考虑如下情形: 线程 A 当前持有互斥所锁 lock1,线程 B 当前持有互斥锁 lock2。接下来,当线程 A 仍然持有 lock1 时,它试图获取 lock2,因为线程 B 正持有 lock2,因此线程 A 会阻塞
阅读全文
摘要:Java Thread系列(六)volatile volatile 关键字具备可见性,不具备原子性。主要作用是使变量在多个线程间可见。但不具备原子性(同步性),可以算一个轻量级的 synchronized ,性能要比 synchronized 强很多,不会造成阻塞。 一、volatile 可见性 二
阅读全文
摘要:Java Thread系列(四)线程通信 一、传统通信 public static void main(String[] args) throws InterruptedException { final ThreadLocal th = new ThreadLocal(); Thread t1 =
阅读全文
摘要:Java Thread系列(五)synchronized 本文我们讨论 synchronized 重量级锁的实现原理。 一、synchronized 实现原理 1.1 synchronized 修饰符对应的字节码指令 我们知道在 java中synchronized 主要有两种使用形式:同步方法和同步
阅读全文
摘要:Java Thread系列(三)线程安全 一、什么是线程安全 线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。 线程安全来说,需要满足以下两个特性: 原子性 可见性 执行结果: 由此可见: 1. 多个线程要执行 synch
阅读全文
摘要:Java Thread系列(二)线程状态 一、线程的五种状态 1. 新建状态(New):新创建了一个线程对象,尚未启动。 2. 就绪状态(Runnable):也叫可运行状态。线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取 CPU 的使用
阅读全文
摘要:Java Thread系列(一)线程创建 Java 中创建线程主要有三种方式:继承 Thread、实现 Runnable 接口、使用 ExecutorService、Callable、Future 实现由返回结果的多线程。 线程是 CPU 调度的最小单位。 一、继承 Thread 类创建线程类 《4
阅读全文
摘要:设计模式之美 面向对象六大原则 [toc] 设计模式之美目录: 这是设计模式系列开篇的第一篇文章。也是我学习设计模式过程中的总结。这篇文章主要讲的是面向对象设计中,我们应该遵循的六大原则。只有掌握了这些原则,我们才能更好的理解设计模式。 1. 单一职责原则(SRP):一个类应该仅有一个引起他变化的原
阅读全文
摘要:设计模式之美目录 1. [设计模式 开篇] [1.1 设计模式之美 高质量代码修炼之道] 2. [设计模式 面向对象] [2.1 设计模式之美 贫血模型(MVC)和充血模型(DDD)] 3. [设计模式 设计原则] "3.1 设计模式之美 面向对象六大原则" 4. [设计模式 规范与重构] [4.1
阅读全文
摘要:设计模式之美 单例模式 [toc] 设计模式之美目录: 保证一个类只有一个实例,并且提供一个访可该实例的全局访问点。实现方式有三种:懒汉式、饿汉式、注册式(包括枚举)。应用场景如:Listener 本身单例、日历 Calender、IOC 容器、配置信息 Config。 在学习单例模式的过程中,思考
阅读全文
摘要:Executor(二)ThreadPoolExecutor、ScheduledThreadPoolExecutor 及 Executors 工厂类 Java 中的线程池类有两个,分别是:ThreadPoolExecutor 和 ScheduledThreadPoolExecutor,这两个类都继承自
阅读全文
摘要:Executor(一)ExecutorService 线程池 本篇主要涉及到的是 java.util.concurrent 包中的 ExecutorService。ExecutorService 就是 Java 中对线程池的实现。 一、ExecutorService 介绍 Java API 对 Ex
阅读全文
摘要:MessagePack 使用 MessagePack() 是一个基于二进制高效的对象序列化 Library 用于跨语言通信。它可以像 JSON 那样,在许多种语言之间交换结构对象;但是它比 JSON 更快速也更轻巧。 支持 Python、Ruby、Java、C/C++、Javascript 等众多语
阅读全文
摘要:Http 协议 HTTP(超文本传输协议)协议是建立在 TCP 传输协议之上的应用层协议。HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于 1990 年提出,经过多年的使用和发展,得到了不断的完善和扩展。 HTTP 协议的主要特点如下。 1. 支持
阅读全文