极致简单的数据流转操作

在数据计算和开发过程中,把数据从一种形式转变成另一种形式是最最经常的操作,中间有可能涉及到一个数据源也可能涉及到多个数据源。PQL 提供了一整套解决方案,解决数据在同一数据源或不同数据源之间的流转问题。

上例中,从mysql.classes库查询数据,然后保存到mysql.school数据库中,最后再将数据保存一份 CSV 文件。不知道在 Java 或 Python 里完成以上工作需要多少代码,但是在 PQL 中,就只需要这几行代码。

数据流转的原理

对于每一次数据流转操作,都分为三个组成部分:

  1. 数据源,表示从哪里的获取数据,数据源可以是一个,也可以是多个。可以从数据获取一次数据,也可以获取多次数据。数据源可以是关系型数据库、文件、中间缓存数据库或者变量或常量等等。
  2. 中间缓存区,PQL会把从数据源获取的数据保存在缓存区,缓冲区本质上是一个二级表格。多次获取数据会多次向缓冲区插入数据。缓冲区会在一次 PUT 动作之后,标记为待清除,会在下一次 GET 动作之前清除。
  3. 数据目的地 是指将数据保存或更新到哪里,数据目的可以是关系型数据库,也可以是中间缓存数据库,还可以是文件等可以保存数据的地方。

中间缓存区在内存中,每次流转操作就是通过 GET 操作把数据先放在缓存区,然后再通过 PUT 操作更新到数据目的地。

数据流转的参与者

除了中间缓存区之外,数据源和数据目的可以理解为是数据流转的参与者,主要包括:

数据流转的主要操作

上面已经提到了 GET 操作和 PUT 操作,也是数据流转中最常用的两个。数据流转的操作有:

除 OPEN 和 SAVE 语句之外,其他的操作都表现为 操作名+参数+连接符#号+语句,如 CACHE 操作:

每一个操作的详细功能,详见每一个语句的说明。合理利用每一种操作,可以在数据处理中事半功倍。关于数据流转的模式总结,见 BATCH 语句最后一节的内容。


参考链接


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!