自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(376)
  • 收藏
  • 关注

原创 Elasticsearch索引生命周期管理

数据量非常大经常访问新增的数据,随着时间的推移,数据的价值也在逐渐降低随着数据量的增大,Elasticsearch创建索引的数量也在不断增长,这个时候就需要对索引进行一定策略的维护管理甚至是删除清理,否则随着数据量越来越多除了浪费磁盘与内存空间之外,还会严重影响的性能。为了对Elasticsearch中的索引进行更好的管理,Elasticsearch在6.6版本中引入了Index Lifecycle Management(索引生命周期管理),简称ILM,并在 6.7 版正式推出该功能。

2023-08-26 17:04:24 730

原创 Python 进阶 (十三) 浅谈 sorted 函数应用及文件操作

下面着重介绍 key 的作用原理:key 指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。x.isdigit() and int(x) % 2 == 0 的作用是保证奇数在前,偶数在后。因为会清空原有文件的内容,一定要慎用】如果设置为 True,列表元素将被倒序排列,默认为 False。其中,key 接受一个函数,这个函数只接受一个元素,默认为 None。原理:先比较元组的第一个值,如果相等就比较元组的下一个值,以此类推。的排序会将 False 排在前,True 排在后。

2023-04-23 21:40:51 335 1

原创 Python 进阶 (十二) 浅谈 python 中的方法

也就是说,p1.get_grade 返回的是一个函数对象,但这个函数是一个绑定到实例的函数,p1.get_grade() 才是方法调用。直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,给一个实例动态添加方法并不常见,直接在 class 中定义要更直观。

2023-04-23 21:27:49 254

原创 Python 进阶 (十)Python 编程规范

在学习一门新的编程语言时,掌握其良好的编程规范可避免一些细节性错误的发生。去除一些不必要的学习障碍。

2023-04-21 14:19:11 197

原创 Python 进阶 (九)Python 陷阱:Nonetype

在实例方法内部,可以访问所有实例属性,这样,如果外部需要访问私有属性,可以通过方法调用获得,这种数据封装的形式除了能保护内部数据一致性外,还可以简化外部调用的难度。而在上面的程序中,虽然高阶函数 calc_prod()有返回值 ff,但是 ff()却没有返回值,则传递到外层函数 calc_prod()同样没有返回值,故输出了。虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。除了可以定义实例的属性外,还可以定义实例的方法。,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的。

2023-04-21 13:19:56 150

原创 Python 进阶 (八) 编写带参数 decorator

拆开以后会发现,调用会失败,因为在 3 层嵌套的 decorator 定义中,最内层的 wrapper 引用了最外层的参数 prefix,所以,把一个闭包拆成普通的函数调用会比较困难。不支持闭包的编程语言要实现同样的功能就需要更多的代码。如果有的函数非常重要,希望打印出'[INFO] call xxx()...',有的函数不太重要,希望打印出'[DEBUG] call xxx()...',这时,log 函数本身就需要传入'发现对于被装饰的函数,log 打印的语句是不能变的(除了函数名)。

2023-04-21 11:18:18 63

原创 Python 进阶 (七) 浅谈 python3 和 Python2 的区别

不管使用何种版本的Python语言,都需要遵循编程规范,不该有的缩进一定不能有。否则会出现莫名其妙的错误,如下图所示:在应用Python编程时,首先要明确所使用Python版本,因为版本 2 与 3 之间存在着很多细节性的差异。稍有不慎就会入坑~下面介绍一下具体应用中的细节性差异。具体参照。

2023-04-21 11:14:44 139

原创 Python 进阶 (五) 浅谈 python 匿名函数及编写无参数 decorator

高阶函数可以接收函数做参数,有些时候,我们不需要显式地定义函数,直接传入匿名函数更方便。在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2def f(x):关键字lambda表示匿名函数,冒号前面的 x 表示函数参数。匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。11。

2023-04-21 10:58:44 266

原创 Python 进阶 (四) 浅谈 Python 闭包

def g():def f():return gdef f():def g():return g注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst。像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包Closure。

2023-04-20 20:46:54 54

原创 Pytorch深度学习实战教程(一):开启炼丹模式,语义分割基础与环境搭建

Pytorch的基本使用语义分割算法讲解先从最简单的语义分割基础与开发环境搭建开始讲解。

2023-04-20 20:32:27 261

原创 Python 进阶 (四) 浅谈 Python 闭包

def g():def f():return gdef f():def g():return g注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst。像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包Closure。

2023-04-19 18:11:07 58

原创 Python 进阶 (三) 函数式编程之 reduce()

官方解释如下:格式:reduce()函数即为化简函数,它的执行过程为:每一次迭代,都将上一次的迭代结果(注:第一次为init元素,如果没有指定 init 则为 seq 的第一个元素)与下一个元素一同传入二元func函数中去执行。在reduce()函数中,init 是可选的,如果指定,则作为第一次迭代的第一个元素使用,如果没有指定,就取 seq 中的第一个元素。

2023-04-19 17:30:54 71

原创 Python 进阶 (二) 初识 Python 数据元素: 字典 & 时间

字典(dic dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典由键和对应的值组成。字典也被称作关联数组或哈希表。每个键与值必须用冒号隔开(:),每对用逗号分割,整体放在花括号中{}。键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

2023-04-19 17:14:43 119

原创 网易二面:CPU狂飙900%,该怎么处理?

一位小伙伴面试了 网易,遇到了一个 性能类的面试题:CPU飙升900%,该怎么处理?可惜的是,以上的问题,这个小伙没有回答理想。最终,导致他网易之路,终止在二面,非常可惜。

2023-04-19 10:21:31 102

原创 Python 进阶 (一) 初识 Python 数据元素: 列表 & 元组

毕业论文已完成,下面就是等待盲审结果了。在此期间,已感觉论文无从看起。就学习一下 Python 吧,听说这是一门很神奇的语言。下面言归正传~点击查看IDE:IntelJ。有关 IntelJ 的安装与注册详见博文《IntelliJ IDEA 2016注册方法和注册码下面介绍一下 Python 中几种不熟悉的数据元素:列表、元组、字典、时间。

2023-04-19 10:20:50 80

原创 Hive 系列(四)—— Hive 常用 DDL 操作

临时表仅对当前 session 可见,临时表的数据将存储在用户的暂存目录中,并在会话结束后删除。如果临时表与永久表表名相同,则对该表名的任何引用都将解析为临时表,而不是永久表。通过指定一个或者多个列经常出现的值(严重偏斜),Hive 会自动将涉及到这些值的数据拆分为单独的文件。在查询时,如果涉及到倾斜值,它就直接从独立文件中获取数据,而不是扫描所有文件,这使得性能得到提升。其中 emp.txt 的内容如下,你可以直接复制使用,也可以到本仓库的。商业转载请联系作者获得授权,非商业转载请注明出处。

2023-04-18 15:45:44 161

原创 Hive 系列(五)—— Hive 分区表和分桶表

分区提供了一个隔离数据和优化查询的可行方案,但是并非所有的数据集都可以形成合理的分区,分区的数量也不是越多越好,过多的分区条件可能会导致很多分区上没有数据。同时 Hive 会限制动态分区可以创建的最大分区数,用来避免过多分区文件对文件系统产生负担。鉴于以上原因,Hive 还提供了一种更加细粒度的数据拆分方案:分桶表 (bucket Table)。分桶表会将指定列的值进行哈希散列,并对 bucket(桶数量)取余,然后存储到对应的 bucket(桶)中。

2023-04-18 15:45:05 312

原创 Hive 系列(六)—— Hive 视图和索引

Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集。视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0.0 引入的物化视图除外),当查询引用视图时,Hive 可以将视图的定义与查询结合起来,例如将查询中的过滤器推送到视图中。Hive 在 0.7.0 引入了索引的功能,索引的设计目标是提高表某些列的查询速度。如果没有索引,带有谓词的查询(如'WHERE table1.column = 10')会加载整个表或分区并处理所有行。

2023-04-18 15:44:44 572

原创 Hive 系列(一)—— Hive 简介及核心概念

Hive 是一个构建在 Hadoop 之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类 SQL 查询功能,用于查询的 SQL 语句会被转化为 MapReduce 作业,然后提交到 Hadoop 上运行。特点简单、容易上手 (提供了类似 sql 的查询语言 hql),使得精通 sql 但是不了解 Java 编程的人也能很好地进行大数据分析;灵活性高,可以自定义用户函数 (UDF) 和存储格式;为超大的数据集设计的计算和存储能力,集群扩展容易;

2023-04-18 15:43:40 215

原创 SQL函数 - 开窗(窗口)函数

开窗函数对一组值进行操作,它不像普通聚合函数那样需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列开窗函数的语法形式为:函数 + over(partition by <分组用列> order by <排序用列>),表示对数据集按照分组用列进行分区,并且并且对每个分区按照函数聚合计算,最终将计算结果按照排序用列排序后返回到该行。括号中的两个关键词partition by 和order by 可以只出现一个。

2023-04-18 15:19:58 2376

原创 Presto 原理 & 调优 & 面试 & 实战全面升级版

1.特点Presto 引擎相较于其他引擎的特点正如文章标题描述的这样,多源、即席。多源就是它可以支持跨不同数据源的联邦查询,即席即实时计算,将要做的查询任务实时拉取到本地进行现场计算,然后返回计算结果。除此之外,对于引擎本身,它有几个值得关注的特点:多租户:它支持并发执行数百个内存、I/O 以及 CPU 密集型的负载查询,并支持集群规模扩展到上千个节点;联邦查询:它可以由开发者利用开放接口自定义开发针对不同数据源的连接器(Connector),从而支持跨多种不同数据源的联邦数据查询;

2023-04-18 15:19:16 767

原创 数据中台建设(五):打破企业数据孤岛和提取数据价值

要构建企业级数据中台,第一步就是将企业内部各个业务系统的数据实现互联互通,打破数据孤岛 2,主要通过数据汇聚和交换来实现。企业采集的数据可以是线上数据采集、线下数据采集、互联网数据采集、内部数据采集等。线上数据采集主要载体分为互联网和移动互联网两种,对应有系统平台、网页、H5、、App 等,可以采用前端或者后端埋点方式采集数据。线下数据采集主要是通过硬件来采集,例如:WiFi 信号采集、摄像头、传感器、信令数据采集、图像视频采集等。

2023-04-18 15:18:56 221

原创 数据中台建设(六):数据体系建设

数据中台是企业数据汇集地,但并不是简单的数据堆积,而是进行分层建模,数据体系建设最终呈现一套完整、规范、准确的数据。数据体系建设就是大数据中数据仓库建设。如下图:贴源数据层 ODS(Operational Data Store):贴源层又称操作数据层,对各业务系统数据进行采集、汇集,尽可能保留原始业务流程数据,与业务系统基本保持一致,仅做简单整合、非结构化数据结构化处理,或者增加标识数据等,不做深度清洗加工。

2023-04-18 15:17:54 579

原创 数据中台建设(七):数据资产管理

随着企业数据越来越大,企业意识到数据是一种无形的资产,通过对企业各业务线产生的海量数据进行合理管理和有效应用,能盘活并充分释放数据的巨大价值。如果不能对海量数据进行有效管理和应用,企业堆积如山的数据给企业带来的是高昂的成本,数据就用不起来,也用不好。通过数据资产管理可以保证数据的全生命周期高质量的能力,还可以为各类角色用户提供数据资产的直观视图,方便用户查看和使用数据资产,构建数据资产管理的最终目的是为了提升数据价值,使数据持续赋能业务。

2023-04-18 15:17:35 945

原创 数据产品经理的三大底层思维

不同的职场岗位分工下,随着业务的发展会形成一定的思考模式,这些思考模式一般是针对岗位所面临的常见问题,而总结出来的分析和解决思路。比如商业分析中的用于宏观市场分析的 PEST(Policy Environment Society Technology)思维模型,比如网络通信领域中的 OSI 五层参考模型等。。

2023-04-18 15:16:39 130

原创 Meta 公司新探索 | 利用 Alluxio 数据缓存降低 Presto 延迟

✓ 设置单任务最大待定分片数:node-scheduler.max-pending-splits-per-task✓ 设置单节点最大分片数:node-scheduler.max-splits-per-node。

2023-04-17 14:13:44 189

原创 数据中台建设(四):企业构建数据中台评估

每个企业的发展情况不同,到底要不要构建数据中台?我们可以从企业数据应用的成熟度来评估企业要不要构建数据中台。数据应用能力成熟度可以总结为统计分析、决策支持、数据驱动、运营优化四个阶段,各自特点如下:以上四个阶段数据应用能力成熟度依次增高,数据应用能力成熟度越高,则代表数据对业务的支撑能力越强,应用能力成熟度越低,则意味着业务对数据的依赖程度越低。企业数据应用能力程度越高构建数据中台越有价值,下面分别介绍四个阶段。

2023-04-17 13:56:40 544

原创 数据中台建设(二):数据中台简单介绍

2014 年马云正式提出“DT(Data Technology)”的概念,人类从 IT 时代走向 DT 时代,阿里内部的数据平台事业部大刀阔斧的建立整个集团的数据资产,同年,阿里从芬兰 Supercell 公司接触到中台概念后,在集团内部积极践行,开创了“大中台、小前台”的组织机制和业务机制,通过高效、统一的后方系统来支撑快速变化的前端业务,提高业务产出效率,减少成本投入。2018 年中台概念开始深入互联网公司,2019 年数据中台概念大火。

2023-04-17 12:02:44 924

原创 数据中台建设(二):数据中台简单介绍

2014 年马云正式提出“DT(Data Technology)”的概念,人类从 IT 时代走向 DT 时代,阿里内部的数据平台事业部大刀阔斧的建立整个集团的数据资产,同年,阿里从芬兰 Supercell 公司接触到中台概念后,在集团内部积极践行,开创了“大中台、小前台”的组织机制和业务机制,通过高效、统一的后方系统来支撑快速变化的前端业务,提高业务产出效率,减少成本投入。2018 年中台概念开始深入互联网公司,2019 年数据中台概念大火。

2023-04-17 11:24:28 214

原创 数据中台建设(一):数据中台出现的背景

在企业数据建设过程中,都离不开大数据平台建设,大数据平台建设涉及数据采集、数据存储、数据仓库构建、数据处理分析、数据挖掘机数据可视化等等一系列流程。随着企业体量的增大,一个企业可能有总公司及很多个子公司,随着企业各类业务多元化和垂直业务发展,从全企业角度来看,每个子公司或者某些独立的业务部都在构建大数据分析平台,在企业内部形成了很多分散、烟囱式、独立的小数仓,形成了一个个垂直的数据中心,从而导致了大量系统、功能和应用的重复建设,更造成了计算资源、存储资源和人力资源的浪费。例如阿里巴巴集团旗下的业务和关联公司

2023-04-17 11:22:31 708 1

原创 大数据调度平台 Airflow(五):Airflow 使用

以上 python 文件就是 Airflow python 脚本,使用代码方式指定 DAG 的结构。

2023-04-17 11:20:01 1668

原创 大数据调度平台 Airflow(三):Airflow 单机搭建

Airflow 是基于 Python 的,就是 Python 中的一个包。安装要求 Python3.6 版本之上,Metadata DataBase 支持 PostgreSQL9.6+,MySQL5.7+,SQLLite3.15.0+。

2023-04-17 11:17:57 470

原创 大数据调度平台 Airflow(二):Airflow 架构及原理

Airflow 我们可以构建 Workflow 工作流,工作流使用 DAG 有向无环图来表示,DAG 指定了任务之间的关系,如下图:Airflow 架构图如下:Airflow 在运行时有很多守护进程,这些进程提供了 airflow 全部功能,守护进程包括如下:webserver:WebServer 服务器可以接收 HTTP 请求,用于提供用户界面的操作窗口,主要负责中止、恢复、触发任务;监控任务;断点续跑任务;查询任务状态、详细日志等。

2023-04-17 11:16:31 1118

原创 大数据调度平台 Airflow(四):Airflow WebUI 操作介绍

以上“Runs”列与“Recent Tasks”列下的“圆圈”代表当前 DAG 执行的某种状态,鼠标放到对应的“圆圈”上可以查看对应的提示说明。DAG 有对应的 id,其 id 全局唯一,DAG 是 airflow 的核心概念,任务装载到 DAG 中,封装成任务依赖链条,DAG 决定这些任务的执行规则。将 DAG 以树的形式表示,如果执行过程中有延迟也可以通过这个界面查看问题出现在哪个步骤,在生产环境下,经常通过这个页面查看每个任务执行情况。日期视图,显示当前年每月每天任务执行情况。

2023-04-17 10:12:40 580

原创 大数据调度平台 Airflow(一):什么是 Airflow

Airflow 采用 Python 语言编写,提供可编程方式定义 DAG 工作流,可以定义一组有依赖的任务,按照依赖依次执行, 实现任务管理、调度、监控功能。另外,Airflow 提供了 WebUI 可视化界面,提供了工作流节点的运行监控,可以查看每个节点的运行状态、运行耗时、执行日志等。也可以在界面上对节点的状态进行操作,如:标记为成功、标记为失败以及重新运行等。在 Airflow 中工作流上每个 task 都是原子可重试的,一个工作流某个环节的 task 失败可自动或手动进行重试,不必从头开始跑。

2023-04-17 10:12:35 315

原创 Kafka 核心知识点灵魂 16 问

而 offset 的信息在 kafka0.8 版本之前保存在 zookeeper 中,在 0.8 版本之后保存到 topic 中,即使消费者在运行过程中挂掉了,再次启动的时候会找到 offset 的值,找到之前消费消息的位置,接着消费,由于 offset 的信息写入的时候并不是每条消息消费完成后都写入的,所以这种情况有可能会造成重复消费,但是不会丢失消息。可以采用一对多的方式,一个生产者发布消息,可以被多个订阅 topic 的服务消费到,供多个毫无关联的业务使用。可以简化代码的实现逻辑,减少出错的可能;

2023-04-15 19:36:28 207

原创 嘿,同学,你要的 Java 内存模型 (JMM) 来了

我们在开发时会经常遇到这样的场景,我们开发完成的代码在我们自己的运行环境上表现良好,但是当我们把它放在其它硬件平台上时,就会出现各种各样的错误,这是因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。为了解决这个问题,Java 内存模型(JMM)的概念就被提出来了,它的出现可以屏蔽系统和硬件的差异,让一套代码在不同平台下能到达相同的访问结果,实现平台的一致性,使得 Java 程序能够。

2023-04-15 19:14:34 112

原创 从数据到价值,DataOps 精益数据运营概述

我们作为研发团队支撑了阿里云 GTS 内大部分数据域项目的交付,包含数据上云、数据库、大数据、数据中台等等,过程中沉淀了大量工具,为了方便工具的管理和使用,我们建立了 “星轨工具中心”进行工具的统一纳管,但工具功能比较零散,总是处于补业务窟窿的状态,显得“东一榔头西一棒”,缺少主线将工具能力串联在一起,技术缺少“牵引”,这在过去给我们带来很多困扰。

2023-04-15 17:23:38 372

原创 分布式锁实现原理与最佳实践

作者:秦泽涛 阿里云教育基座团队在单体的应用开发场景中涉及并发同步时,大家往往采用 Synchronized(同步)或同一个 JVM 内 Lock 机制来解决多线程间的同步问题。而在分布式集群工作的开发场景中,就需要一种更加高级的锁机制来处理跨机器的进程之间的数据同步问题,这种跨机器的锁就是分布式锁。接下来本文将为大家分享分布式锁的最佳实践。

2023-04-15 16:37:51 165

原创 京东二面,Redis 为什么这么快?

大彬:3、延时队列。Redis 有最大内存的限制,通过 maxmemory 参数可以设置最大内存,当使用的内存超过了设置的最大内存,就要进行内存释放, 在进行内存释放的时候,会按照配置的淘汰策略清理内存。​ ​RDB​ ​ 文件生成完毕后, 主节点会将​ ​RDB​ ​文件发送给从节点,从节点会先将​ ​RDB​ ​文件。:如果 Redis 选择多线程模型,需要考虑数据同步的问题,则必然会引入某些同步机制,会导致在操作数据过程中带来更多的开销,增加程序复杂度的同时还会降低性能。数据存在内存中,读写速度快。

2023-04-15 14:07:37 65

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除