CI配置时使用Makefile有哪些好处?
CI配置时使用Makefile有哪些好处?
一、什么是 Makefile?
Makefile 本质上是一个包含了一系列规则的文件。这些规则定义了如何编译和链接程序,每一个规则都由以下三个部分组成:
目标(Target): 想要生成的文件或想要执行的操作的名称,比如 install、test、clean 等。
依赖(Prerequisites): 为了生成目标,所需要依赖的文件或其他目标。
命令(Commands): 为了通过依赖来生成目标所需要执行的 shell 命令。
一个 Makefile 的基本结构如下:
123target: prerequisite1 prerequisite2 command1 command2
关键特性:
自动化: make 工具会自动读取 Makefile 并执行指定的命令,从而自动化编译、测试、部署等一系列任务。
抽象化: 可以将复杂的、多步骤的 shell 命令封装在一个简单的 make 命令背后。例如,make test 可能包含了安装依赖、启动数据库、运行测试套件、生成报告等多个步骤。
二、为什么在 CI 配置中使用 Ma ...
Windows通过Rust使用DuckDB碰到的问题
Windows通过Rust使用DuckDB碰到的问题
DuckDB的一些问题只在windows上有, macOS和Linux上没有, 所以记录一下
报错: error: linking with link.exe failed: exit code: 1120
具体报错如下:
1234567891011error: linking with `link.exe` failed: exit code: 1120 | = note: "D:\\cpptools\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "C:\\Users\\levit\\AppData\\Local\\Temp\\rustcjagjai\\symbols.o" "<72 object files omitted>" "D:\\RustProject\\swan-lake\\Playground\\duckdb-eval\ ...
Iceberg快速入门
Iceberg
为什么需要Iceberg/为什么需要Lakehouse
数据湖的最主要目的是为了解决Hive速度慢的问题, 利用表格式和索引实现细粒度的数据过滤. 数据湖可以将整个链路变为分钟级, 从离线链路转化为近实时链路并且提升查询速度. 当然, 数据湖还解决了一些其他问题, 如ACID, Schema Evolution, Partition Evolution, Time Travel等.
文件布局
具体查询流程就是从Catalog -> Table Metadata File -> Snapshot -> Manifest List -> Manifest File -> Data File. 如图所示
Catalog
Catalog 本质就是一个维护表元数据文件的目录(个人理解), 有多种实现方式:
HiveCatalog
Hive Metastore
表属性中key值为metadata_location的键值对
HadoopCatalog
文件系统
version-hint.text
JDBC Catalog
关系型数据库 ...
2025五六月生活记录
f33a6d5ec2003e353696027d8241bf51ad51c806b81b0f5d1a3eb4340de5971ab561ea411ef740820016d63e29f72a4621513196095778e83ee05da811794cf809b3662d99be898d0938cc8e62d6d2e0484c9efc9e3365988bfda6156d76a00df725cffe065576decd25de4a8482b7bd0b6dbb8500803ba82006a2b9874da39bc20122259c7b3c5d6eb8c2a05c7c995ff785b82b8c099052458d6e2af4ad1d797d6c89f72f6fc4b13f531f285ef301eaabb8cdeff0b3a60e38aff4b599fff344e975810b869e76dd15c52be93021991bb1d4a5633e886356928068ecd6c6b5afede8187251d83ae525e130aa16518d5798daff5de29a980bd ...
2025三四月生活记录
f33a6d5ec2003e353696027d8241bf51ad51c806b81b0f5d1a3eb4340de5971ae0510f42b61767060646c2af5d64947df76f032fb0911a75e1b3636525615f197ceb22e1616ea1adff805373c75257f6840d6cb6a5e9c4f8f835aa05f1d0e85ced658ed91915709b741c09250faa21e21bcfa02eea64bcecdeb1077c29ca7eab0fc9296336a1aa69e36da62f84d61c4f1744bea53bc269d688c7739edb76c30d8b3a79e66f54dedc5c4277612e509e85acff6eded078f700c68eeeab799a7d5e141273cd8688d67bff6adf4f07f5a04cba2011a02834a7cbcc2a268b4e1287e02cdcb3acb33122b990c74d01d992247538d630fa97a8c56a3 ...
DolphinScheduler配置Seatunnel同步任务出错(从MySQL同步数据到Doris)
DolphinScheduler配置Seatunnel同步任务出错(从MySQL同步数据到Doris)
DolphinSScheduler版本3.2.0, Seatunnel版本2.3.4
错误日志
定义好工作流后, 上线运行报错, 关键日志入下:
12345678910111213141516171819202122[INFO] 2025-02-16 13:02:00.427 -0800 - tenantCode :root, task dir:/tmp/dolphinscheduler/exec/process/root/16670700117984/16677825236448_2/2/3[INFO] 2025-02-16 13:02:00.429 -0800 - generate script file:/tmp/dolphinscheduler/exec/process/root/16670700117984/16677825236448_2/2/3/seatunnel_2_3.conf[INFO] 2025-02-16 13:02:00.433 -0800 - SeaTun ...