- 博客(32)
- 收藏
- 关注
原创 【摸鱼笔记】python 提取和采集 finereport 未绑定目录的报表模板
同时在fine logDB 的访问记录中 displayName 也不会记录访问时的目录名称,所以需要通过报表模板和报表模板之间的调用关系,将没有绑定目录的报表与已经绑定目录的报表关联到一起。在梳理数据分析项目使用情况时这些报表会难以辨认所属的项目,因为即使按照很标准的方式【将同一项目的报表放在同一目录】也会有数据分析项目相互包含的问题影响梳理的工作量。在企业应用过程中,报表一般会按照数据分析的主题、项目将多个报表放在一处,一些图表类报表会有通过超链接等方式,跳转到对应的明细报表中。包含着我们想要的结果。
2024-08-30 10:34:31
1710
原创 【摸鱼笔记】multiprocessing,多进程并行更高效
multiprocessing 是 Python 的一个标准库,它提供了创建和管理进程的功能,使得开发者能够利用多核处理器进行并行计算。使用 multiprocessing 可以使得 Python 程序在多核或多处理器机器上更加高效地运行。进程创建:使用 Process 类来创建进程。进程池Pool:提供了一个简单的接口来处理多个进程的并行执行,特别是用于迭代任务,如 map 和 apply_async。进程间通信:支持进程间的通信,如管道(Pipe)、队列(Queue)和共享内存。
2024-08-13 07:30:00
1184
原创 【摸鱼笔记】subprocess,用子进程访问外部命令
subprocess是一个非常强大的模块,它能通过启动新进程的方式执行外部命令、访问系统Shell、管道等。同时也能捕获这些新进程的输出和错误信息;subprocess模块是Python的标准库中的一部分,支持 Python 3.5 及 3.5 以上版本;3.5 以下版本需要额外安装;
2024-08-01 08:00:00
387
原创 【摸鱼笔记】熟悉Tenacity,让运行更稳固
Tenacity 是一个 Apache 2.0 许可的通用重试库,用 Python 编写,用于简化向几乎任何事物添加重试行为的任务。通用装饰器 API指定停止条件(即尝试次数限制)指定等待条件(即尝试之间的阻塞)自定义重试异常自定义对预期返回结果的重试重试协程使用上下文管理器重试代码块。
2024-07-30 00:28:08
522
原创 【摸鱼笔记】了解 FuncTools, 优雅应用高阶函数
functools 模块应用于高阶函数,即参数或返回值为其他函数的函数。通常来说,此模块的功能适用于所有可调用对象。
2024-07-26 12:22:27
433
原创 【摸鱼笔记】了解itertools,优雅处理list
itertools 库是 Python 中处理迭代操作的标准工具,在处理序列和集合时,它可以像函数式编程过程一样,在处理过程中直接过滤内容,并且在组合处理其他序列或集合时,无需显式地创建中间序列或集合,可以显著提高代码的开发效率和可读性。
2024-07-22 19:56:55
931
原创 数据仓库实践:使用 SQL 计算材料BOM成本单价
初始化时使用核价和成本单间仍然不能完全覆盖企业内使用的所有的材料,尤其是BOM结构复杂、材料料号过多的情况下。所以一般情况下,企业会使用BOM关系,将材料的单价汇总计算到上阶材料。数据仓库实践:使用SQL汇总BOM数据分析维度 http://t.csdnimg.cn/gZ1pS部分 dim_bom 结构。
2024-07-19 08:00:00
1104
原创 数据仓库实践:从ITR流程讲指标体系建设
从 ITR 流程或者其他客服反馈流程的考核过程可见,实际工作中不可能只通过单个指标评价一个业务过程,需要从多个维度梳理业务,并把多个高度相关的指标组织起来,以避免只考虑其中某个指标从而摧毁整个业务过程的结果,指标体系=指标+体系。
2024-07-17 09:00:00
1212
原创 数据仓库实践:了解和定义指标
指标 = 限定词+业务主题+指标名称+量化词根(统计粒度)限定词限定词就是用来对指标进行限定约束。比如:当天、本周、当月、平均、累计业务主题业务主题是用来描述业务在哪个过程阶段。比如:打开页面、下单、点击支付、支付成功、支付失败。指标名称指标名称就是指标要统计的对象实体名称。比如:订单、用户、材料、设备。量化词根量化词根通常以数字单位出现,明确表达这个指标的统计粒度。比如:数量、金额、次数、比率、占比。
2024-07-15 18:59:33
878
原创 数据仓库实践:使用SQL汇总BOM数据分析维度
正常BOM不会只有一层,因为材料的上阶料不一定直接是最终成品,有可能是半成品,会形成【材料-半成品-成品】的关系,除了用于循环的部分关键词,汇总的语句代码是最基础的SQL代码,可以使用其他的数据库方言翻译,比如Oracle。但对于常用SQL的数据分析场景下,SQL不擅长递归,所以一般需要将递归汇总的结果直接落地成表。所以为了完整展出每层关系,我们需要使用递归的方式,将基础结构多次汇总,在使用BOM汇总时,一般需要BOM明细中的所有关系,从全局看成品,半成品和最底层材料,是多对多关系。
2024-07-12 07:30:00
849
原创 【摸鱼笔记】掌握 Arrow,轻松处理时间类型
Arrow 是一个用于处理日期和时间的 Python 三方库;它提供了一种简洁、易用的方式来创建、操作和格式化日期、时间、时间戳等日期相关的对象;Arrow 的设计初衷是为了解决 Python 中标准日期时间库 datetime 的一些痛点;它实现并更新 datetime 类型,填补了一部分内置库功能上的空白;简而言之,它可以支持比内置库更多的方式来处理时间,减小处理时间的难度;
2024-07-11 12:23:31
411
原创 数据仓库实践:获取BOM物料清单主数据
BOM 主数据在使用中涉及范围非常广,评审和变更频繁,一般情况下不会像物料、人员一样有定义方面的问题。面临的主要挑战一般是SQL语句的计算局限。
2024-07-10 07:30:00
510
原创 数据仓库实践:获取物料主数据
日常工作下该物料只在事实数据中区分尤其共用料,替代料,比如库存的入库出库时同一个料号的料按照对应工单号,入库单号等区分,且此单号本身无法区分对应所属业务线,导致事实数据无法判断所属;该物料业务线切分不是从零建立,而是从已有的业务线中直接分离,这会导致在没有建立新业务线判断规则的情况下,使数据并入旧业务线;事实数据的稳定性,长期性问题,比如某个料的库存今天有,明天没有,即使我们从一个较长的周期里抓取,但仍然不能全面,且会耗费巨大的计算成本;物料的类别([成品,半成品,材料,……],[原料,辅料,包料,
2024-07-08 07:30:00
344
原创 数据仓库实践:人员信息拉链表的SQL实现
流水表已经记录了每次变动的最新内容,而拉链表将会抛弃变动描述字段,并将fn_date 修改为表示时间范围的start_date 和 end_date。本文将介绍【通过定时任务将每一天变动后人员基础信息最新版本同步到流水表,再通过流水表生成拉链表】的SQL实现过程;在原表基础上,流水表将在主键中添加 fn_date 字段作为原表数据变动的时间,或者记录同步到流水表的时间。start_date 和 end_date 表示此条记录的有效时间范围,一般使用SQL的lag函数能够实现,拉链表生成SQL代码。
2024-07-05 07:30:00
648
2
原创 数据仓库实践:非范式表类型部分概念
拉链表优点是节省存储成本,相比于存储全量的历史数据,拉链表能够合并或者覆盖相同内容的版本记录,从而减少存储成本。这些操作一般是被触发系统事件,或者爬虫等数据采集的记录,它通常包含数据的原始记录和变更记录,以及相关的时间点。因为仅记录在特定时间周期内变化的数据,减少了数据处理的规模,所以主要用于快速更新数据仓库中的数据。全量表指包含数据所有内容的表,也即它会存储数据所有历史的完整记录,不受时间范围或数据变更的限制。流水表优点是保存了完整的历史记录,提供了数据变化的完整历史,有助于详细的变动分析。
2024-07-01 12:22:40
240
原创 【摸鱼笔记】RFE模型自动判定数据产品价值
使用RFE用户活跃度模型,便可通过使用人数及使用深度(热度)这一视角,衡量报表项目、API项目等产品的价值,从而较为客观地、自动地决定设计和开发地优先级。
2024-06-28 07:30:00
1266
原创 数据仓库实践:日期维度实践
日期序列的主体使用编程语言按需生成一段日期,开始日可以是公司注册日期、上市日期,某个系统部署上线日期等一般符合所有计算需求的日期,然后使用定时任务按需周期性地录入。同时除了日期序列的生成,仍然有标准化,集中化的要求,比如日期的字符串格式化标准、工作日、节假日排班、星期的起始日是星期日还是星期一等都需要统一。同时挑选覆盖当前汇总过程的粒度,比如日期,星期,月度,季度,年度,DAY_OF_YEAR(所在年的第几天);而且即使有生成序列的函数,在SQL中也很难动态的调整它的长度,比如大月小月,闰年。
2024-06-26 07:30:00
745
原创 数据仓库实践:数仓分层模型命名
不论是像Oracle等关系型数据库平台上的传统数仓,还是Doris、Hive、Kudu平台上的大数据数仓,数仓分层一般是通过命名进行区分管理。而命名中还有一些或大或小的细节问题需要根据现状考虑。
2024-06-24 07:30:00
490
原创 【摸鱼笔记】使用 Python 解析 FineReport 模板数据集
我们通常需要知道报表用到的表有哪些,或者需要修改的SQL语句有哪些。这时我们在 FineReport 设计器中需要将模板的数据集提取出来。但目前设计器中没有 数据集导出 的功能。所以我们使用Python 开发程式以解析报表模板文件获取 数据集 和 SQL语句,并保存为Excel。
2024-06-19 11:11:32
951
2
原创 数据仓库实践:主数据
主数据指满足跨部门业务协同需要的、反映核心业务实体状态属性的组织机构的基础信息。主数据相对于交易数据而言,属性更加稳定,准确度要求更高,唯一识别。
2024-06-17 12:48:21
1202
1
原创 python logging TimedRotatingFileHandler backupCount不生效问题解决
使用 TimedRotatingFileHandler 按时间分割日志文件时backupCount不生效
2024-02-26 17:32:39
816
2
原创 scala 报错:error compiling the sbt component ‘compiler-interface-2.11.8-56.0‘
SBT 与 JDK 版本不兼容,参照SBT和JDK 版本对应关系配置.
2022-12-05 22:41:02
3804
1
原创 Flink流:监听RabbitMq(Json)写MySQL
RabbitMqErlang环境安装RabbitMQ代码是使用Erlang编写的,需要安装Erlang环境下载安装erlang官网地址:https://www.erlang.org/downloads检查系统环境变量为了稳定,安装完后要检查一下系统的环境变量,如果没有自动写入需要自行手动配置;操作过程:此电脑(鼠标右键)__属性__高级系统设置__环境变量__新建__系统环境变量变量名:ERLANG_HOME变量值:Erlang的根路径然后添加到 path操作过程:选中Path
2022-01-27 17:30:44
4260
2
原创 数据开发:Spark算子
Action (行动)算子foreachforeach 对RDD中的每个元素都应用传入的函数进行操作,不返回RDD和Array,而是返回Unitval source:RDD[String] = sc.textFile(".\\datas")val result_string:RDD[String] = source.map(x=>(x))// 打印RDD中每个元素result_string.foreach(println)countcount 返回整个RDD的元素个数va
2022-01-20 19:34:28
2101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人