- 博客(36)
- 问答 (1)
- 收藏
- 关注
原创 Spark+实例解读
groupByKey仅仅有分组功能而已,reduceByKey除了分组还有聚合作用,是一个分组+聚合一体化的算子. 分组前先聚合再shuffle,预聚合,被shuffle的数据极大的减少,提升了性能.数据量越大,reduceByKey的性能优势也就越大.转换算子的返回值100%是rdd,而Action算子不一定.转换算子是懒加载的,只有遇到Action才会执行。也是将RDD的数据保存起来,仅支持磁盘存储,被认为是安全的, 不保留血缘关系。rdd进行相互迭代计算,执行开启时,新的RDD生成,老的RDD消失。
2024-07-26 14:59:42 1272
原创 Copy On Write机制总结
Collections.synchronizedList()实现线程安全的列表,但这些方法使用了全局锁,导致并发性能降低。为了解决这个问题,CopyOnWriteArrayList使用了COW策略,在每次修改操作时,都会复制一个新的副本,从而避免了并发读写时的锁竞争,提高了并发读取性能。它采用“写时复制”(Copy-On-Write,简称COW)策略来实现对列表的高性能读取和写操作。在多线程环境下,对ArrayList进行并发读写操作可能会引发线程安全问题。操作的场景,能有效减少锁的竞争,提。
2024-06-24 21:20:20 484
原创 Redis
为了节约空间,二进制格式生成RDB文件,但是数据量大,全部备份时间成本较高,不能太频繁备份.如果一直都是读取操作没有写入操作,也不需要重复备份.提供周期性备份参数.即使断电或者服务器宕机,可以在启动的时候读取备份文件,恢复状态。学习CPU给数据库也加一个缓存,诞生了Redis.应用程序从mysql查询到的数据,先在redis登记,后续再有读请求,先在redis进行查询.redis把数据都存储在内存内存中不需要进行磁盘I/O,所以速度极快.从节点中选择一个管理员,不负责数据的读写,只负责协调各个节点,称为。
2024-06-15 16:45:31 863 1
原创 Scala学习-Scala入门基础必备-持续更新
面向对象 函数式语言也是基于JVM的对比java中的aa.java-(javac)->aa.class编译过程scala如下:aa.scala -(scalac)-> aa.class 编译过程。
2024-05-30 16:23:49 1212
原创 通过python实现Google的精准搜索
我想通过Google或者其他网站通过精准搜索确认该产品是否存在,但是即使该产品不存在Google也会返回一些相关的url链接,现在想通过python实现搜索结果的精准匹配以确认该产品是否为正确的名称【可以通过google搜索到,如果搜索不到则认为该产品不存在】,以下为精准结果截图。
2024-05-12 16:29:56 879
原创 ChromaDB教程
向量存储是专门为有效地存储和检索向量嵌入而设计的数据库。之所以需要它们,是因为像 SQL 这样的传统数据库没有针对存储和查询大型向量数据进行优化。嵌入在高维空间中以数字向量格式表示数据(通常是非结构化数据,如文本)。传统的关系数据库不太适合存储和搜索这些向量表示。向量存储可以使用相似性算法对相似的向量进行索引和快速搜索。它允许应用程序在给定目标向量查询的情况下查找相关向量。在个性化聊天机器人的情况下,用户输入生成式 AI 模型的提示。然后,该模型使用相似性搜索算法在文档集合中搜索相似文本。
2024-04-22 18:49:27 5930
原创 利用LangChain实现网页内容爬取并总结
网页内容过长,导致超过LLM的token限制,使用LangChain中load_summarize_chain实现。背景:想查找某个产品的生产厂商,需要先去网页查找相关连接,然后分别总结每个连接内容,最后对内容进行汇总。利用LangChain中load_summarize_chain实现网页内容爬取并总结。
2024-03-24 12:23:15 12224 1
原创 AutoGen结合GoogleSearch实现查询
太叼了。解决AutoGen下使用GoogleSearch痛点问题,当然,这个工具可以结合任意langchain或者Agent使用,将工具作为Tools中的一个Function进行调用即可,可以实现全面的自动搜索和信息整合,解决大模型知识陈旧问题!!!即使使用gpt-3.5也可以实现意外的效果!!!集帅们!墙推!
2024-03-11 23:52:25 1130 2
原创 Vanna-ai -基于RAG的TextToSql实现方案
基于大模型的TextToSql的关键为给大模型提供正确有效的数据库信息及问题,以提升大模型生成sql的正确率。这是面临的主要问题:如何在有效的prompt长度限制之内传递给大模型有效的信息辅助生成sql?简而言之,这些模型是在大量数据(包括一堆在线可用的 SQL 查询)上进行训练的,并通过预测响应提示中最有可能的下一个单词或“标记”来工作。Vanna 正在使用和试验许多不同的LLM,以获得最准确的结果。随着时间的推移,Vanna 不断提高对您的模式的理解,并正确回答越来越多的问题。
2024-03-05 18:20:39 2885
原创 Langchain模板-LangChainTemplates 讲解及应用
Langchain模板,提供一系列的易于部署的参考架构,为开发者提供了轻松快速构建大模型应用的能力,任何人都可以使用,方便快速开发和投入生产。是一种创建、共享、维护、下载和自定义链和代理的方法。Langchain模板是一组端到端的模板,用于创建不同类型的应用程序,使用同一的格式,便于使用LangServe部署。也可以发布,其他项目或者开发者可以重用成果。关键字:模板 脚手架 方便抄作业搬砖LangChainTemplates的动机:这些模板可以是链式或者代理式,并代表全功能的上下文感知推理的应用程序。
2024-01-05 19:02:23 1282
原创 总结不同方案实现-LLM数据库查询-即Text2SQL
让我们从定义机器人的工具开始。表列表 - 我们可以将其放在系统提示符中,以便模型对我们拥有的数据有一定的了解,并且不需要每次都为其执行工具表的列列表,以便模型可以理解数据模式表中列的顶部值,以便模型可以查找过滤器的值SQL查询执行的结果才能得到实际的数据。为了在LangChain中定义工具,我们需要使用@tool装饰器来实现函数。我们将使用 Pydantic 指定每个函数的参数模式,以便模型知道要传递给函数的内容。下面的代码定义了三个工具:execute_sql。
2024-01-03 21:17:21 3208 2
原创 多Agent框架之-CrewAI-人工智能代理团队的未来
Agent具有与另一个Agent联系的能力,以委派工作或提出问题。任务可以使用特定的代理工具覆盖,这些工具应该被使用,同时还可以指定特定的代理来处理它们。流程定义了代理如何协同工作:任务如何分配给代理。代理之间如何互动。代理如何执行它们的任务。
2023-12-28 12:50:54 39881 2
原创 通过多Agent辩论提高语言模型的真实性和推理性
本文中,提出了一种互补的方法来提高语言响应,多个语言模型实例提出并辩论他们的个人反应和推理过程,在多轮,以达到一个共同的最终答案。结果表明该方法提高了生成内容的事实有效性,减少了当代模型容易出现的错误答案和幻觉。大语言模型提取的自然语言的质量和准确性可能无法保证,当前的模型可能会因为自信地产生幻觉或在推理链中做出令人难以置信的跳跃而受到影响。最近很多工作集中在提高语言模型的事实准确性和推理,但是这些工作大多是应用于单个模型的。本文提出多智能体联合辩论推理,以得出一个共同的答案。
2023-12-26 20:04:50 1305
原创 pg_dump与postgres版本不匹配导致无法导数据的情况处理
关于postgres server 版本与pg_dump版本兼容问题:较新版本的 pg_dump 通常可以与较旧版本的 PostgreSQL 服务器兼容,但较旧版本的 pg_dump 可能无法与较新版本的 PostgreSQL 服务器兼容。因此,为了避免潜在的兼容性问题,建议使用与 PostgreSQL 服务器版本相匹配的 pg_dump 版本进行备份操作。这里为了解决问题,需要单独进行pg_dump升级。或者找到postgres指定版本安装包,进行解压安装编译,找出新版本pg_dump做替换。
2023-12-21 14:15:13 1240
原创 使用LangChain实现TextToSql
本文将演示如何通过将OpenAI的GPT-3.5连接到mysql数据库来将LLM与SQL数据库结合使用。我们将使用LangChain作为我们的框架,并用Python编写。
2023-10-18 22:00:02 8691 3
原创 AutoGen:启用下一代大型语言模型的应用程序
"像 AutoGen 这样的功能有望从根本上改变和扩展大型语言模型的能力。这是我最近在人工智能领域看到的最令人兴奋的发展之一。图 1. AutoGen 使用多代理对话启用基于 LLM 的复杂工作流程。(左)AutoGen 代理是可定制的,可以基于LLMs, tools, humans, and even a combination of them.(右上)代理可以通过对话来解决任务。(右下)该框架支持许多其他复杂的对话模式。
2023-10-18 21:09:10 13160
原创 Greenplum扩展-uuid-ossp实现uuid功能
数据从postgres迁移到greenplum,源端使用存储过程中使用到uuid扩展,但是greenplum6中不支持存储过程,且默认安装没有uuid扩展。故尝试以下方法-使用python中uuid。该路径下无uuid-ossp.os文件。网上没有找到uuid-ossp扩展。尝试过从pg直接复制到路径报错。
2023-07-03 11:58:18 517
原创 Greenplum乌龙事件--select count(id)不走索引
greenplum与postgres不同,postgres会走索引,但是gp不会走,并且gp不走索引会比pg快很多。
2023-07-02 09:48:49 243
原创 linux-打杂命令总结
关闭防火墙[root@192 ~]# systemctl status firewalld[root@192 ~]# systemctl stop firewalld[root@192 ~]# systemctl systemctl disable firewalld.service[root@192 ~]# systemctl status firewalld修改IP地址#修改网卡信息[root@192 ~]# vi /etc/sysconfig/network-scripts/i
2023-06-17 15:47:16 126
原创 GreenPlum架构之MVCC
MVCC意味着在查询数据库时,看到的只是数据的快照,可以确保当前的事务不会看到其他事务在相同记录上的修改。由于MVCC使用快照的方式实现了多版本的高并发,在实验二中可以看到更新操作时实际上创建了一个新的元组,所以在大量写操作过后,需要清理旧的元组。比如在Read Committed隔离级别下,当前查询可以读取到已提交的事务,但是不能读取到未提交的事务,此时查询开始时生成的快照,使用快照判断事务状态,只读取已提交事务。事务并发写时,如果发现事务快照中存在未提交事务,则等待事务完成时在写入。
2023-06-03 15:26:06 5532 3
原创 Greenplum中数据分布策略
由于Greenplum为Shared Nothing架构,每个节点都有自己的CPU/内存/硬盘等,不存在共享资源,所以数据的分布显得尤为重要。
2023-06-02 10:23:27 5004
原创 linux-centos7网卡ens33丢失导致网络问题
问题总结:vm虚拟机下其他centos7是正常的,单台centos7网络异常,不是由于windows中VMware net相关服务导致的,是单台centos7的问题导致。问题:centos7开机出现问题无法连接网络,之前正常。显示ens33网卡为DOWN状态,
2023-05-24 10:26:13 9064 10
原创 greenplum性能测试工具-pgbench
创建测试目录并测试,生成测试log文件。查看服务器上是否安装pgbench。pgbench参数解读。
2023-05-17 20:27:14 2612
原创 GreenPlum运维监控工具-gpcc-web安装
Greenplum Command Center(GPCC)是由Pivotal Software推出的一款监控和管理Greenplum Database的Web应用程序。它提供了一个易于使用的界面,可以帮助管理员监控集群的性能、诊断问题、管理用户和权限、设置预警和警报,并执行其他管理任务。GPCC具有以下主要功能:监控集群性能:GPCC提供了关于Greenplum集群中各个组件的性能指标的详细信息,包括查询性能、磁盘和内存使用情况、系统负载、网络流量等。
2023-05-17 10:11:29 7528 11
原创 GreenPlum中性能调优之数据倾斜
greenplum中数据分布情况直接影响到查询的效率,原因是greenplum架构是由性能最差的segment实例决定,所以数据分布不均匀会影响整个集群的性能。
2023-05-16 17:09:30 3216
原创 GreenPlum中性能调优之segment实例个数
因此,如果集群中有 8 个节点,每个节点有 64GB 内存和 16 个 CPU 核心,则可以将每个节点上的 Segment 实例数量设置为 8。1.数据量和查询负载:greenplum集群为shared-nothing架构,segment数量多,会提升系统的并发查询能力,如果数据量比较大,或者查询负载比较高,那么可以考虑增加segment实例的数量。该机器为32G内存 32核cpu,所以每个segment节点上可以配置4个segment实例,提升系统性能。可以通过以下命令查询机器内存及cpu配置。
2023-05-15 14:31:37 7552 3
原创 GreenPlum中性能调优之shared_buffers修改
shared_buffers:该参数决定了 Greenplum 数据库在内存中缓存数据的大小。官方文档中建议修改为机器物理内存的1/8-1/4,书籍推荐10-25%。问题背景:刚刚安装完的GreenPlum集群默认shared_buffers为128MB,为了提升系统性能需要修改。所以节点(master节点及segment节点修改完)需要重启集群,重启完检查是否生效。踩坑注意:一定是MB或者是GB,不能是M或者G,否则重启集群报错。文件是每个节点独立的,因此如果您想要修改集群的。参数,需要对每个节点的。
2023-05-15 14:23:34 7533 7
原创 pg_dump: aborting because of server version mismatch执行pg_dump由于版本不符导致对用户“postgres“的对等认证失败
报错原因,低版本的pg_dump工具不能从高版本的server中导出数据,需要将pg_dump版本升级到对应版本或者更高版本。postgres进行数据备份,使用pg_dump发现版本不一致导致终止。查找到server下更高版本的pg_dump执行备份操作。切换pg_dump路径使用高版本pg_dump。
2023-04-22 13:12:54 1812 2
原创 greenplum关闭某个segment host节点实验
可以看到位于hadoop108上的四个primary节点已经失败了,位于hadoop107上的mirror节点已经变为primary节点。其中Master Host 为 Hadoop106 ,Segment Host为 Hadoop107 Hadoop108。执行gpstate可以看到位于hadoop108上的四个节点已经down掉。现在down掉hadoop108 查看集群状态及执行sql查询功能。查询测试数据在segment节点分布状态。实验:关闭hadoop108节点。
2023-04-01 09:33:37 8863 2
原创 linux下彻底卸载MySQL
/如果不删除这个文件,则重新安装的Mysql将无法设置password。mysql卸载或者删除不干净,导致再次安装或者影响其他服务。执行如下命令:查看文件名中含有MySQL的文件并且依次删除。执行以下操作让你彻底卸载Mysql。依次卸载已经存在mysql服务。删除其他有关MySQL服务。至此,mysql彻底清除!//mysql的配置文件。
2023-03-31 20:45:00 7634
原创 centos7下安装Hive+mysql
背景:已经安装hadoop集群,在hadoop基础上安装hive,继而安装mysql,通过jdbc使hive连接mysql库。后续实验可以尝试hive连接到postgres或者oracle等常用数据库。Hive的使用依赖于Hadoop,本质上是将hql发送给hadoop,hadoop中将hql转换为MapReduce进行任务的执行。故而Hive的安装需要Hadoop处于运行状态。
2023-03-31 19:52:31 3202
原创 greenplum给节点增加segment实例个数
greenplum集群不增加segment节点,只在每个节点上增加segment实例个数。
2023-03-30 09:32:10 3071 3
空空如也
oracle中建立临时表时锁的问题
2021-06-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人