logo头像

Always believe youself.

DeltaLake架构

DeltaLake架构

Delta 架构Delta 架构介绍Delta 架构代替经典的 Lambda 架构 第一,同时读写,并且要保证数据的一致性 就是刚才我们提出的第一个需求,就是要支持 transcation,就是说你只要能实现读写之间的 Snap...

DeltaLake入门

DeltaLake入门

Delta Lake,让你从复杂的 Lambda 架构中解放出来 方案升级过程方案一建设一个基本的 Data Pipeline [数据处理流水线],按照项目经理的说法,那就很简单。我们把 Kafka、Kinesis、各种各样数据湖的...

使用gunicorn部署flask项目

WSGI 协议Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求。Web框架和Web服务器之间的通信,需要一套双方都遵守的接口协议。WSGI协议就是用来统一这两者的接口的。 WSGI 容器常用的WSGI容器...

并发编程-7

并发编程-7

共享模型之不可变不可变类的使用 不可变类设计 无状态类设计 日期转换问题 用锁 sync 解决,对性能有影响 不可变对象的使用,用 DateTimeFormatter 对象 不可变类的设计String是不可变的 final 的使用...

并发编程-6

并发编程-6

第 6 章 共享模型之无锁 CAS 与 volatile 结合使用 原子整数 原子引用 原子累加器 Unsafe CAS无锁进行处理 其中的关键是compareAndSet 他的简称就是 CAS (也有 compare And ...

并发编程-5

并发编程-5

第 5 章 (JMM)共享模型之内存 原子性可见性有序性 Monitor 主要关注的是访问共享变量时,保证临界区代码的原子性 主存:所有线程都共享的数据,静态成员变量,成员变量。 工作内存: 每个线程私有的数据,局部变量。 可见性...

并发编程-4

并发编程-4

Park&Unpark Park 的状态就是 wait ,无限的等待。 unpark 既可以在 park 之前也可以在 unpark 之后调用。 如果先 unpark 了, 再调用 park 不会在等待。 park&...

并发编程-3

并发编程-3

wait/notify小故事 原理 wait/notify API obj.wait() 让进入 object 监视器的线程 到 waitSet 等待。obj.wait(time) ,obj.wait(time,纳秒) 纳秒是假的,...

并发编程-2

并发编程-2

管程共享问题程序中有两个线程 自增 5000 次和自减 5000 次,结果有可能不是 0 结果分析: 结果是正数,负数,0。 因为 Java 中 对静态变量的自增,自减并不是原子操作,要彻底的理解,必须从字节码来进行分析。 例如: i...

并发编程-1

并发编程-1

进程和线程进程和线程 二者对比 进程基本上互相独立的,而线程是存在于进程内的,是进程的一个子集。 进程拥有共享的资源,如内存空间,功其内部线程共享 进程间通信较为复杂 同一台计算机的进程通信称为IPC 不同计算机通信,需要网络,并有...