《Clojure数据分析秘笈》——3.5节将agent和STM结合使用

简介:

本节书摘来自华章社区《Clojure数据分析秘笈》一书中的第3章,第3.5节将agent和STM结合使用,作者(美)Eric Rochester,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.5 将agent和STM结合使用
agent本身非常实用。但是如果agent函数需要与agent外部数据保持一致性,需要将agent和STM结合使用:使用send或send-off函数协调agent的状态,将dosync、ref-set、alter或者commute整合至agent函数来协调其他状态。
结合使用简化了状态和数据的一致性问题。这对于管理数据处理和分析系统复杂度提供了极大的帮助。
本方法中,还是处理前几个方法中的问题:在2010年美国人口普查数据中计算Virginia每个住宅单元的家庭数。这次结构稍有变化。数据序列将在引用中,而不是在agent状态中。也会使用计数器标识agent是否完成。

3.5.1 准备工作
使用与3.2节中相同的依赖。除了相同的引用外,还需要导入Java的包:

使用前几种方法中的值和函数。在3.2节中,使用data-file、lazy-read-csv、with-heade、->int、sum-item和sum-items。在3.3节中,使用accum-sums、div-vec和force-val。

3.5.2 具体实现
本方法中,需要定义一些新的函数来遍历输入块队列并阻塞至整个处理过程完成。

  1. 需要一个函数将输入序列中一个元素取出并将引用指向序列剩余部分。


7798989c2ffc66894f8c34c69dc9a3a0f2bc45f3


b497140049b18b622952133cdb08fa284f9d6d3b

3.5.3 实现原理
get-chunk函数是STM帮助维护状态一致性的示例。由于它们在相同的dosync块中,访问数据得到其第一个元素并将引用指向序列的剩余部分是一个原子操作。不必担心由于进程的原因数据被处理两次或者被遗漏。调用get-chunk的函数也不用担心此类事情。将复杂的部分隐藏起来极大简化了复杂系统。

相关文章
|
2月前
|
数据采集 人工智能 数据可视化
Streamline Analyst: 基于LLMs、一键完成全流程的数据分析AI Agent 🚀
Streamline Analyst 🪄是一个开源的基于GPT-4这样的大语言模型的应用,目标简化数据分析中从数据清洗到模型测试的全部流程。分类预测、聚类、回归、数据集可视化、数据预处理、编码、特征选择、目标属性判断、可视化、最佳模型选择等等任务都不在话下。用户需要做的只有选择数据文件、选择分析模式,剩下的工作就可以让AI来接管了。所有处理后的数据和训练的模型都可下载。
232 2
Streamline Analyst: 基于LLMs、一键完成全流程的数据分析AI Agent 🚀
|
算法 大数据 数据挖掘
《Clojure数据分析秘笈》——导读
本节书摘来自华章社区《Clojure数据分析秘笈》一书中的目录,作者(美)Eric Rochester,更多章节内容可以访问云栖社区“华章社区”公众号查看
1469 0
|
6月前
|
Cloud Native
云盾·数据库审计中d100适用于自建和云原生的统一日志审计吗? 客户端或APP端安装Agent是否必要?
云盾·数据库审计中d100适用于自建和云原生的统一日志审计吗? 客户端或APP端安装Agent是否必要?
42 1
|
6月前
|
监控 关系型数据库 MySQL
企业实战(8)CentOS 6.8安装Zabbix-agent 5.0监控主机性能与Mysql数据库
企业实战(8)CentOS 6.8安装Zabbix-agent 5.0监控主机性能与Mysql数据库
|
4月前
|
监控 Java
Pinpoint【部署 02】Pinpoint Agent 安装启动及监控 SpringBoot 项目案例分享(添加快速测试math-game.jar包)
Pinpoint【部署 02】Pinpoint Agent 安装启动及监控 SpringBoot 项目案例分享(添加快速测试math-game.jar包)
75 0
|
9月前
|
监控 网络协议 Shell
使用脚本安装zabbix agent 6.0(新手友好)
使用脚本安装zabbix agent 6.0(新手友好)
|
6月前
|
监控 Linux
CentOS 7安装zabbix-agent 5.0报错:依赖检测失败:libpcre.so.0(64bit)获取GPG密钥失败
CentOS 7安装zabbix-agent 5.0报错:依赖检测失败:libpcre.so.0(64bit)获取GPG密钥失败
131 0
|
6月前
|
监控 关系型数据库 MySQL
Zabbix分布式监控实战(二)——CentOS 7.5安装Zabbix-agent 5.0监控Mysql数据库
Zabbix分布式监控实战(二)——CentOS 7.5安装Zabbix-agent 5.0监控Mysql数据库

热门文章

最新文章