如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器

作者:来自 Elastic Hemendra Singh Lodhi

了解将数据从 AWS S3 导入 Elastic Cloud 的不同选项。这次我们将重点介绍 Elastic S3 Connector。

这是多部分博客系列的第三部分,探讨了将数据从 AWS S3 导入 Elastic Cloud 的不同选项。

在本博客中,我们将了解如何使用 Elastic S3 Native 连接器从 AWS S3 导入数据。Elastic Native 连接器可直接在你的 Elastic Cloud 环境中使用。客户可以选择使用自管理连接器客户端,这些客户端可提供最高程度的自定义选项和灵活性。

  • 注 1:查看第 1 部分:Elastic Serverless Forwarder 中选项之间的比较。
  • 注 2:Elastic Cloud 部署是遵循下面描述的步骤的先决条件。

Elastic Cloud

查看博客系列第 1 部分,了解如何开始使用 Elastic Cloud。

Elastic S3 原生连接器

就用例而言,用于提取 S3 数据的此选项与之前的选项有很大不同。这次我们将使用 Elastic Cloud 中提供的 Elastic S3 原生连接器。

连接器同步来自数据源的数据并创建可搜索的数据源只读副本。它们提取数据并将其转换为 Elasticsearch 文档。

Elastic S3 原生连接器是提取适合内容搜索的数据的好选择。例如,你可以在 S3 存储桶中同步公司的私有数据(例如内部知识数据和其他文件)并执行基于文本的搜索,或者可以使用大型语言模型 (large language models - LLMs) 执行向量/语义搜索。

S3 连接器可能不是提取可观察性数据(例如日志和指标)的合适选项,因为它的主要用例是提取内容。

功能

  • Elastic Cloud 默认提供 Native connectors ,如果需要进一步定制,客户也可以使用自管理连接器。
  • 目前,必须在集群中配置企业搜索节点(至少 1 个)才能使用连接器。
  • 基本和高级同步规则可用于源数据过滤,例如特定存储桶前缀。
  • 同步数据始终存储在用于搜索相关用例的 content tier 中。
  • 连接器提供默认和自定义选项,用于数据过滤、提取和转换内容。
  • 连接器连接是来自 Elastic Cloud 的公共出口(出站),使用 Elastic Traffic Filter 不会产生影响,因为 Elastic Traffic Filter(专用链接)连接是来自 AWS 的单向专用出口。这意味着数据传输将通过公共网络(HTTPS)进行,并且连接器连接与流量过滤器的使用无关。
  • 连接器扩展取决于从源提取的数据量。企业搜索节点大小也取决于 Elasticsearch 大小,建议联系 Elastic 进行大规模数据提取。通常,对于轻度到中度使用情况,企业搜索的 2GB–4GB RAM 大小就足够了。
  • 费用仅用于 S3 中的对象存储。当 S3 存储桶和 Elasticsearch 位于同一 AWS 区域内时,从 S3 存储桶到 Elasticsearch 的数据传输没有费用。跨区域数据同步会产生一些数据传输费用,即 S3 存储桶和 Elasticsearch 部署在不同区域。有关 AWS 数据传输定价的更多信息,请点击此处。

数据流

Elastic S3 Connector 在 S3 bucket 和 Elasticsearch 之间同步数据,具体流程如下:

  • Elastic S3 连接器配置了 S3 存储桶信息和凭证,并具有连接到存储桶和同步数据所需的权限。
  • 根据同步规则,连接器将从指定的存储桶中提取数据。
  • 摄取管道在索引之前执行数据解析和过滤。当你创建连接器时,默认情况下可以使用 ent-search-generic-ingestion 管道,该管道执行大多数常见的数据处理任务。
  • 也可以根据需要定义自定义摄取管道以转换数据。
  • 通过公共 (HTTPS) 网络连接到 AWS S3

注 1:大于 10MB 的内容将不会同步。如果你使用的是自管理连接器,则可以使用自管理本地提取服务来处理更大的二进制文件。

注 2:S3 存储桶级别的原始权限不会同步,并且所有索引文档对于具有 Elastic 部署访问权限的用户都是可见的。客户可以使用基于角色的访问控制、文档级别安全性和字段级别安全性在 Elastic 上管理文档权限

有关连接器架构的更多信息可以在这里获得。

设置

1)创建 S3 存储桶,此处命名为 elastic-s3-native-connector:

AWS Console -> S3 -> Create bucket。你可以将其他设置保留为默认设置,也可以根据需要进行更改。

此存储桶将存储要同步到 Elastic 的数据。连接器支持多种文件类型。为了进行提取测试,我们将上传一些 pdf 和文本文件。

2. 登录 Kibana 并导航至 Search-> Content -> Connectors。搜索 S3 连接器。为连接器提供一个名称,我们将其命名为 aws-s3-data-connector:

如果未检测到企业搜索节点,连接器将显示一条警告消息,类似于以下内容:

登录 Elastic Cloud Console 并编辑你的部署。在企业搜索下,选择节点大小和区域并保存:

你可以提供不同的索引名称或与连接器名称相同的名称。我们使用相同的索引名称:

提供 elastic-s3-native-connector 的 AWS 凭证和存储桶详细信息:

更新配置时,如果在更新 AWS 凭证和存储桶名称时出现延迟,连接器可能会显示验证错误。你可以提供所需信息并忽略错误横幅。这是众所周知的事情,因为连接器与 Kibana 异步通信,并且对于任何配置更新,连接器和 Kibana 之间的通信都会出现延迟。一旦同步开始或刷新开始一段时间后,错误就会消失:

3. 配置成功后,单击 “Sync” 按钮执行初始完整内容同步。

对于定期同步,请在“计划”选项卡下配置同步频率。默认情况下,此功能处于禁用状态,因此你需要切换 “Enable” 按钮以启用它。计划完成后,连接器将在配置的时间运行并从 S3 存储桶中提取所有内容。Elastic Native Connector 只能同步 10MB 及以下的文件。任何超过 10MB 的文件都将被忽略,不会同步。你必须相应地对文件进行分块,或者使用自管理连接器来自定义行为:

搜索

一旦数据被提取,你可以直接从 “Documents” 选项卡下的连接器进行验证:

此外,Elasticsearch 还提供搜索应用程序(Search applications)功能,使用户能够构建搜索驱动的应用程序。你可以根据 Elasticsearch 索引创建搜索应用程序,使用搜索模板构建查询,并直接在 Kibana 搜索 UI 中轻松预览结果。

Playground

Elastic 提供 Playground 功能,使用 LLM 实现基于检索增强生成 (Retrieval Augmented Generation - RAG) 的问答,以增强对所摄取数据的搜索体验。

在我们的案例中,一旦从 S3 摄取数据,你就可以配置 Playground 并使用其聊天界面,该界面会接受你的问题,从你的 Elasticsearch 文档中检索最相关的结果,并将这些文档传递给 LLM 以生成定制的响应。

查看 Han Xiang Choong 的这篇精彩博客文章,其中展示了使用 S3 数据摄取的 Playground 功能。

结论

在此博客系列中,我们已经看到了 Elasticsearch 提供的 3 种不同选项,用于将 AWS S3 中的数据同步和提取到 Elasticsearch 部署中。根据用例和要求,客户可以选择最适合自己的选项,并通过 Elastic Serverless Forwarder、Elastic Agent 或 S3 Connector 提取数据。

你可以使用来自任何来源的数据构建搜索。查看此网络研讨会,了解 Elasticsearch 支持的不同连接器和来源。

准备好自己尝试一下了吗?开始免费试用。

原文:How to ingest data from AWS S3 into Elastic Cloud - Part 3: Elastic S3 Connector - Search Labs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/912262.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

产品经理如何使用项目管理软件推进复杂项目按时上线

前言 相信很多产品同学或多或少都有过这样的经历:平时没有听到任何项目延期风险,但到了计划时间却迟迟无法提测……评审时没有任何argue,提测后发现开发的功能不是自己想要的……费劲九牛二虎之力终于让项目上线了,然而发现成果达…

K8S node节点没有相应的pod镜像运行故障处理办法

查看从节点状态 kubectl describe node k8s-node1以下是报错提示 解决办法 需要处理node1节点上的磁盘空间,磁盘空间需要在85%内 处理后的状态 处理正常

11.9.2024刷华为

文章目录 HJ31 单词倒排HJ32 密码提取语法知识记录 傻逼OD题目又不全又要收费,看毛线,莫名奇妙 HW这叼机构别搁这儿害人得不得? 我觉得我刷完原来的题目 过一遍华为机考的ED卷出处,就行了 HJ31 单词倒排 游戏本做过了好像 HJ3…

Colmap3.8 [CUDA]和[NO CUDA]版本

Colmap3.8 [CUDA]和[NO CUDA]版本的下载地址如下所示: 通过百度网盘分享的文件:colmap3.8 链接:https://pan.baidu.com/s/1kfbUqFI5N2t8Bx2MasFKXQ?pwd998n 提取码:998n 解压即可使用,运行时,点击下图…

sealos部署K8s,安装docker时master节点突然NotReady

1、集群正常运行中,在集群master-1上安装了dockerharbor,却发现master-1节点NotReady,使用的网络插件为 Cilium #安装docker和harbor(docker运行正常) rootmaster-1:/etc/apt# apt install docker-ce5:19.03.15~3-0~u…

NoETL自动化指标平台为数据分析提质增效,驱动业务决策

直觉判断往往来源于多年的经验和专业知识,能够在复杂和不确定的环境中快速做出决策反应。但这种方式普遍存在主观偏见,缺乏合理的科学依据,无法全面、客观、精准地评估和识别市场趋势与用户需求,从而造成决策失误,给业…

vscode的一些使用心得

问题1:/home目录空间有限 连接wsl或者remote的时候,会在另一端下载一个.vscode-server,vscode的插件都会安装进去,导致空间增加很多,可以选择更换这个文件的位置 参考:https://blog.csdn.net/weixin_4389…

《JavaEE进阶》----21.<基于Spring图书管理系统②(图书列表+删除图书+更改图书)>

PS: 开闭原则 定义和背景‌ ‌开闭原则(Open-Closed Principle, OCP)‌,也称为开放封闭原则,是面向对象设计中的一个基本原则。该原则强调软件中的模块、类或函数应该对扩展开放,对修改封闭。这意味着一个软…

Flutter错误: uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared

前言 今天要做蓝牙通信的功能,我使用了flutter_reactive_ble这个库,但是在运行的时候发现一下错误 Launching lib/main.dart on AQM AL10 in debug mode... /Users/macbook/Desktop/test/flutter/my_app/android/app/src/debug/AndroidManifest.xml Err…

【C++滑动窗口】1297. 子串的最大出现次数|1748

本文涉及的基础知识点 C算法:滑动窗口及双指针总结 固定长度滑动窗口 LeetCode1297. 子串的最大出现次数 给你一个字符串 s ,请你返回满足以下条件且出现次数最大的 任意 子串的出现次数: 子串中不同字母的数目必须小于等于 maxLetters 。…

信息宣传投稿栽跟头不可怕,关键是你要能再站起来

在繁忙的市郊,一家的事业基层单位,这里汇聚了各路英才,每个科室都有自己的专长。然而,有一项任务,让这些精英们头疼不已——单位信息宣传投稿。 起初,大家对这项任务并不以为然,以为不过是小菜一碟。李科长甚至开玩笑说:“不就是写篇文章,投个稿嘛,我们这些笔杆子还怕这个?”…

[极客大挑战 2019]PHP 1

[极客大挑战 2019]PHP 1 审题 猜测备份在www.zip中,输入下载文件。 知识点 反序列化 解题 查看代码 看到index.php中包含了class.php,直接看class.php中的代码 查看条件 当usernameadmin,password100时输出flag 构造反序列化 输入select中&#…

【初阶数据结构与算法】线性表之单链表的定义与实现

文章目录 一、单链表的概念与结构1.单链表的概念2.单链表的节点3.链表的性质 二、单链表的实现1.结构准备2.链表的打印和节点申请打印函数节点申请函数 3.链表的头插和尾插头插函数尾插函数 4.链表的头删和尾删头删函数尾删函数 5.查找指定节点6.指定节点位置的删除和插入删除指…

SCNU习题 总结与复习

1. P1:构建最大二叉树 【分治】 重点 构树函数需要注意的点; 前序遍历需要注意,本题的输出有点特点。若一个结点无左子,无右子就不再下去遍历; 其他情况都要下去遍历; 2. P2 寻找多数【分治】 没啥,注意…

代码随想录-栈和队列-用栈实现队列

问题描述 题目描述中有说不存在空栈的pop和peek,所以无需判断这个 解析 重点在于思路,代码白给。 要用栈实现队列,肯定是两个栈才可以。一个做入队操作,一个做出队操作。 首先入队简单,往栈里加就完事了。 出队复…

Scrapy框架:Python爬虫开发快速入门与初试

在众多编程语言中,Python以其简洁的语法和强大的库支持,成为了编写爬虫的首选语言。而在Python的爬虫库中,Scrapy框架无疑是其中的佼佼者。Scrapy是一个开源的、基于Python的爬虫框架,它提供了一套完整的工具和功能,使…

三菱QD77MS定位模块速度限制功能

“速度限制功能”是控制中的指令速度超过“速度限制值”的情况下,将指令速度限制在“速度限制值”的设置范围内的功能。 [1]速度限制功能与各控制的关系 速度限制功能”与各控制的关系如下所示。 [3]速度限制功能的设置方法 使用“速度限制功能”时,在如…

LeetCode【0002】两数相加

本文目录 1 中文题目2 求解思路2.1 基础解法: 递归解法2.2 最优解法:迭代法 3 题目总结 1 中文题目 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请将两个数相…

鸿蒙进阶-属性动画

hello大家好啊,这里是鸿蒙开天组,今天我们来学习鸿蒙中的动画属性。 先来说说动画~ 属性值的变化,通常会引发 UI 的变化,结合动画可以让这个变化过程【更为流畅】,反之这个过程将在一瞬间完成,用户体验不好&#xff…

工业相机常用功能之白平衡及C++代码分享

目录 1、白平衡的概念解析 2、相机白平衡参数及操作 2.1 相机白平衡参数 2.2 自动白平衡操作 2.3 手动白平衡操作流程 3、C++ 代码从XML读取参数及设置相机参数 3.1 读取XML 3.2 C++代码,从XML读取参数 3.3 给相机设置参数 1、白平衡的概念解析 白平衡(White Balance)…