这里记录过去一周,大数据相关值得分享的东西,每周发布。
今天尝试写第一期,记录过去一周一点所见所闻。
最佳
1、TDengineTDengine是一个开源的专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的工作量。
技术一瞥
1、冷数据处理
数据每日增量很大的情况下,比如每天增加 1 PB ,对于集群的资源是个很大的挑战,资源不够的事情下,就要增加机器(显然这种情况成本很大) 一种方案:压缩冷数据,首先需要找出冷数据。namenode 在内存中的元数据会定期 dump 到磁盘,可以直接拉取 FsImage 文件,存在 hive 表中,通过分析元数据,可以筛选出那些是冷数据,并对这些数据进行压缩。
2、Yarn VS K8S
Yarn是资源管理工具,也就是说管理CPU MEM的资源隔离。k8s是容器编排工具,显然,资源管理是其功能之一。如果按照“编排”的概念方向去理解yarn,那么yarn就是一个JVM负载的编排工具,而k8s是容器负载的编排工具。这么一比较,k8s显然胜出一筹,因为容器在应用的支持方面更广泛,更不要说k8s能够实现比yarn好得多的多的隔离了。也就是说,用了k8s之后,不仅仅可以在这个集群运行spark负载,显然也可以运行其他所有的基于容器的负载,那么只需要把应用都进行容器化即可。各种BI工具,报表工具,查询工具,都可以在一个k8s集群上运行,而spark只是作为其中的应用之一。
3、hive
hive 读 textfile 数据的时候,针对某一分区会过滤掉. 开头以及下划线开头的文件。但是如果同一时刻分区中存在正在 copy 的数据,是以 _COPYING 结尾的文件。(hdfs -put 的过程) 读数据的时候会报错。
解决方案:
- 重写 inputFormat ,对使用方不友好。
- hdfs -put 的时候先推到临时目录,写完 move 过去,mv 的过程只是修改元数据,这个过程用户无感。
4、 Hive 巧用正则的贪婪模式
从字符串"979|7.10.80|8684"中提取最后一个竖线|后面的内容,但是在这个字符串中,竖线的个数不是固定的 。下面是贪婪模式:由于正则表达式的贪婪匹配,一直会匹配到最后一个竖线。
代码语言:javascript复制select regexp_extract('979|7.10.80|8684','.*\|(.*)',1);
OK
8864
如果要取第一个竖线前面的内容,实现如下:
代码语言:javascript复制select regexp_extract('979|7.10.80|8684','(.*?)\|.*',1);
OK
979
5、mapreduce 任务 map 阶段缓慢的排查思路
大数据引擎怕的不是数据量大,而是数据倾斜,以及不合理的job。
图片
1、央妈工具箱
2、提问的艺术
3、时代的溺水者
4、HDFS 在实际产生中的挑战
文章
1、来自官方最贴心的喂饭大部分的大数据组件都是 Apache 的顶级项目,啃英文文档才是学习一手知识的正确姿势。
2、Leaf:美团分布式ID生成服务开源Leaf是美团基础研发平台推出的一个分布式ID生成服务,名字取自德国哲学家、数学家莱布尼茨的一句话:“There are no two identical leaves in the world.”Leaf具备高可靠、低延迟、全局唯一等特点。目前已经广泛应用于美团金融、美团外卖、美团酒旅等多个部门。
3、美团酒旅起源数据治理平台的建设与实践
经过多年的发展,美团酒旅内部形成了一套完整的解决方案,核心由数据仓库 各种数据平台的方式实现。其中数据仓库整合各业务线的数据,消灭数据孤岛;各种数据平台拥有不同的特色和定位,例如:自助报表平台、专业数据分析平台、CRM数据平台、各业务方向绩效考核平台等,满足各类数据分析挖掘需求。
4、将军令:数据安全平台建设实践
近期,业内数据安全事件频发,给相关企业造成了无可挽回的损失,更为数据安全防护意识薄弱的企业敲响了警钟。如何对公司内部数据最为集中的数据分析、数据服务、数据治理等各种数据类产品进行权限管控,已经成为数据安全建设中最为重要的任务。