一、什么是表分区表分区其实就是将一张大数据量表中的数据按照不同的分区策略分配到不同的系统分区、硬盘或是不同的服务器设备上,实现数据的均衡分配,这样做的好处是均衡大数据量数据到不同的存储介子中,这样每个分区均摊了一部分数据,然后可以定位到指定的分区中,对数据表进行需求操作,另外,也
假设有两个表A和B,A表字段a,b,c,d,B表字段b,e,f,两表的关联条件是字段b,现在想做个data patch,欲将B表中的字段e的值patch给A表的字段c.有如下两种方法:1 update A set A.c=(select e from B where B.b=A.
INSERT INTO。“insert into”是向Iceberg表中插入数据,有两种语法形式:“INSERT INTO tbl VALUES ,”、“INSERT INTO tbl SELECT ...”,以上两种方式比较简单,这里不再详细记录。
目前我们使用 Delta Lake,主要解决了过去使用 Hive 查询慢、使用 Presto 限制复杂查询的问题,在复杂查询、低延迟上提供了解决方案,但前面提到的 gscd、dataskipping 等特性 hive 还不支持,导致用户无法向使用 hive 一样使用 Delta Lake。
如果采用 Bloom Filter,当 upsert 数据到来时,拆分为 insert 和 delete 操作,如果通过 bloom filter 过滤掉那些之前没有 insert 过数据的 delete 操作,这将极大的提高 upsert 的效率。