分类存档: 未分类

湖仓一体的三个路线思路

通常是有三种打法

1.从计算引擎去做,从上往下做。

就是flink的store table方案,在计算引擎层面统一底层的存储。
  • 优势:实时计算的风口,实时或者近线计算的事实标准,天然的优势。
  • 劣势:跟上游的计算引擎绑定的太紧,将来有变更风险。而且稳定性还不足。

2.从存储去做,从下往上做。

也就是湖框架三杰,iceberg、hudi、Delta Lake。
这里又有两种做法。
其一是湖上建仓,例如Delta Lake的方案。完全摒弃原本的hive体系。通过Delta Lake来解决结构化、非结构化等数据的读写。在湖格式层上面再构建一个统一元数据层。
其二是仓上建湖,在原本的hdfs的块存储介质上,加上hudi、iceberg等框架,解决湖场景下的数据实时写入能力,当然也保障了湖的能力,典型的代表就是snowflake。
当然两种方案现在在趋同,差异化在缩小。因为大家都是殊途同归。
整体架构层面上

业务层:场景化构建

阅读全文…

行业技术框架发展的小共同点

持续了一段时间在观察一些还在活跃系统的架构变化,从最早开始关注的tidb,到ozone,再到也一直持续在关注的presto,从中也发现了一些共同点。再结合最早的hadoop的设计,我们会发现架构的演变方向。
针对组件系统来说,大体上逻辑架构还是master-worker模式。或者说计算节点和存储节点分离的模式。

阅读全文…

使用maven编译pb

最近一个项目要使用grpc来做通信,这个玩意底层用的是pb格式做序列,在网上查了些资料,发现很多资料都过时了,编译的时候出现各种。

阅读全文…

spark运行在yarn中 ClassNotFoundException

Caused by: java.lang.IllegalArgumentException: Compression codec com.hadoop.compression.lzo.LzoCodec not found.

阅读全文…

hadoop–基于unix的简单权限控制

我们当前的系统之前是没有考虑权限控制体系的,最近遇到其他部门的人也希望能够有权限使用hadoop.
基本上社区有两种实现方案,一种是Kerberos认证,另一种就是基于linux的简单认证。
考虑到实现陈本的问题,后来选择了使用基于linux的简单认证

阅读全文…

如何查看CMS 的gc日志

最近在重新整理JVM方面的知识,看到很久以前的一篇对于CMS GC解读的日志,这篇博客地址是 https://blogs.oracle.com/poonam/entry/understanding_cms_gc_logs 。现在看来还是很有收获,就决定放出来。
以下是个人整理的翻译
————————————————————————————
CMS GC with -XX:+PrintGCDetails and -XX:+PrintGCTimeStamps prints a lot of information. Understanding this information can help in fine tuning various parameters of the application and CMS to achieve best performance.
Let’s have a look at some of the CMS logs generated with 1.4.2_10:
39.910: [GC 39.910: [ParNew: 261760K->0K(261952K), 0.2314667 secs] 262017K->26386K(1048384K), 0.2318679 secs]
Young generation (ParNew) collection. Young generation capacity is 261952K and after the collection its occupancy drops down from 261760K to 0. This collection took 0.2318679 secs.
## 新生代GC,新生代大小是262017K,一次GC,新生代从261760K降到了0K。花费了0.2318679 s

阅读全文…

框架设计原则及实践



阅读全文…

线程池的一些使用经验

所有的性能优化大体脱离不了以下几个字:降、疏、缓、堵、调、冗。而这几个性能优化的方法中以疏字用的最多。

阅读全文…

idea 在 Mac 下的快捷键

视图查看

阅读全文…

字符集及编码方式

碰到个问题,中文解析乱码,顺手查了些资料,就记在这里了。
自己以前也写过一篇类型的文章:http://www.inter12.org/archives/622

一 基本概念:

字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符编码(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。
常见字符集:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集
常见字符编码:ASCII编码、GB2312编码、BIG5编码、GB18030编码、Unicode编码
一般所说的UTF-8,包含了
unicode:为表达任意语言的任意字符而设计。它使用4字节的数字来表达每个字母、符号,或者表意文字(ideograph)。每个数字代表唯一的至少在某种语言中使用的符号。
Unicode是字符集,UTF-32/ UTF-16/ UTF-8是三种字符编码方案
 
通常所见的utf-8:指的是unicode字符集,utf-8编码方式
 

二 常见解释:

Accept-Charset:浏览器申明自己接收的字符集,这就是本文前面介绍的各种字符集和字符编码,如gb2312,utf-8(通常我们说Charset包括了相应的字符编码方案);

阅读全文…

Pages: 1 2 Next