在近实时分析中,为什么 Lambda-->Firehose-->S3 优于 Lambda-->S3?

2024-01-11

许多用于无服务器实时分析的 AWS 参考架构建议通过 Kinesis Firehose 将处理后的数据从 Lambda 推送到 S3。

e.g. https://aws.amazon.com/blogs/big-data/create-real-time-clickstream-sessions-and-run-analytics-with-amazon-kinesis-data-analytics-aws-glue-and-amazon-雅典娜/ https://aws.amazon.com/blogs/big-data/create-real-time-clickstream-sessions-and-run-analytics-with-amazon-kinesis-data-analytics-aws-glue-and-amazon-athena/

为什么我们不能直接将数据从 Lambda 推送到 S3?通过跳过中介 Kinesis Firehose 组件来避免复杂性和额外成本不是更好吗?通过Lambda直接将实时数据写入S3有什么问题吗?


主要是因为 Firehose 使您能够批量处理数据。它将例如仅将压缩后的 128MB 数据文件写入 S3。它将收集传入数据,直到达到阈值,将其写入 S3 并等待下一个数据。如果您让 lambda 直接写入 S3,那么您必须自己进行批处理,如果您只有无状态 lambda,这将非常困难。

话虽如此,这主要适用于您的数据由许多记录/行组成的情况。另一方面,如果您基本上处理的是 lambda 输出的 50MB 数据块,那么您可以/应该直接写入 S3,因为在您的情况下批处理可能不可行或无用。

您是否应该使用 Firehose 仅​​取决于您拥有的数据/吞吐量以及可能存在的要求。

将实时数据直接写入 S3 的一个问题是,如果您想要使用 Athena 查询它,如果您有数百万个几个字节大的文件而不是 100 个 10MB 大的文件,您将会遇到很多麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在近实时分析中,为什么 Lambda-->Firehose-->S3 优于 Lambda-->S3? 的相关文章

  • 基于 Spring Boot 的测试中的上下文层次结构

    我的 Spring Boot 应用程序是这样启动的 new SpringApplicationBuilder sources ParentCtxConfig class child ChildFirstCtxConfig class sib
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • 使用 alpha 通道叠加两个 ggplot2 stat_密度2d 图

    我想叠加两个ggplot2使用 alpha 通道进行绘图 结果图像显示两个数据集 这是我的测试数据 data read table text P1 1 0 4 nP2 0 0 2 nP3 2 1 8 nP4 2 2 6 nP5 0 5 2
  • 无论我如何尝试,“netsh wlan startHostednetwork”命令都不起作用

    C Windows system32 gt netsh wlan 显示驱动程序 接口名称 无线网络连接 Driver DW1501 Wireless N WLAN Half Mini Card Vendor Broadcom Provide
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调
  • 错误 1305 (42000):保存点...不存在

    我的 MYSQL 数据库中有这个 SQL 存储过程为空 所以我猜没有隐式提交 DROP PROCEDURE IF EXISTS doOrder DELIMITER CREATE PROCEDURE doOrder IN orderUUID
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • 将 r 中的一列从出生日期更改为年龄

    我是第一次使用 data table 我的表中有大约 400 000 个年龄的列 我需要将它们从出生日期转换为年龄 做这个的最好方式是什么 我一直在思考这个问题 到目前为止对这两个答案都不满意 我喜欢用lubridate 就像 KFB 所做
  • mysql 查询选择当月的所有行?

    我有一个名为 startdate 的日期时间类型的列 我必须获取当前月份的开始日期和结束日期之间的所有行 即从 1 11 2014 到 30 11 2014 select from your table where year curdate
  • Rails 未定义“2013-03-06”的方法“strftime”:字符串

    我收到错误 2013 03 06 的未定义方法 strftime 字符串 当尝试使用 strftime 从字符串 2013 03 06 正常显示日期 2013 年 6 月星期日 3 日或类似的日期 时 在我的 index html erb
  • 除了 Erlang 之外,还有哪些系统是基于“绿色流程”的?

    我正在阅读这个信息页面绿线 维基百科 http en wikipedia org wiki Green thread我想知道 除了 Erlang 之外 还有哪些编程系统依赖于 绿色进程 Edit 绿线 绿色流程 基于绿色流程 Erlang
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要
  • LifeCycleAware Fragment 中的片段生命周期事件

    我有一个生命周期感知片段和一个LifecycleObserver class public class MyFragment extends Fragment Override public void onCreate Nullable B
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单
  • 构建 iOS 应用程序后退出代码 1 错误

    我正在尝试使用 RestKit 构建我的项目 当我构建它时 我收到以下错误 我尝试使用 Apple LLVM 3 0 和 LLVM GCC 4 2 进行编译 两者都产生相同的结果 任何人有任何想法是什么导致了这个问题 Ld Users Ji
  • 如何访问我的 Android 程序中的联系人

    我正在制作一个短信应用程序 并且想要访问我的 Android 应用程序中的联系人 我想访问联系人 就像他们在实际联系人列表中一样 选择后 我需要返回到我的活动 在其中我可以向该人发送短信 或者是否可以访问存储联系人的数据库 我的代码如下所示
  • Android GetPTLAFormat 上的 Phonegap 错误

    我们正在开发一个使用 jQuery 移动和电话间隙的应用程序 一切似乎都工作正常 但是当在连接的 Android 手机上运行应用程序时 我们在 Eclipse logcat 中看到大量类似这样的错误 0 GetPTLAFormat inva
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • 枕头安装PyPy3缺少zlib

    我当前正在尝试将 PIL 与 PyPy3 一起使用 但无论我如何尝试安装它 我都会收到错误 首先我尝试使用正常安装pypy3 pip install pillow 但出现我需要 zlib 的错误 因此 在寻找解决方案一段时间后 我发现了ea
  • 在python中,有什么方法可以在定义类后自动运行函数吗?

    我正在开发一个类 它需要的类级数据将相对复杂 为了节省打字并尽量减少错误 我想通过函数定义大部分数据 另外 我希望用户可以使用这些数据 即使他们还没有准备好实例化该类 那么 我想知道 有没有办法让这些函数在类定义后就自动运行呢 举个例子 我
  • 当虚拟机中的磁盘空间不足时如何创建天蓝色监视器警报

    我有一台虚拟机 现在我想如果我的磁盘空间显示非常低 我的意思是小于 2 GB 然后我想触发天蓝色监视器警报并希望收到有关此问题的电子邮件 azure Monitor 是否提供任何指标 目前还没有针对磁盘空间的预定义警报 但您可以使用自定义日
  • 使用 RCTAsyncLocalStorage + getAllKeys

    我正在尝试获取 iOS 本机代码上的 AsyncStorage 这是我的代码 void jsonFromLocalRNStrogeForKey NSString key completion void NSDictionary Nullab
  • 动画 UIScrollView contentInset 导致跳转卡顿

    我实现了一个自定义刷新控件 我自己的类 而不是子类 并且由于某种原因 自从迁移到 iOS 8 以来 设置滚动视图 特别是 UICollectionView 的 contentInset 来启动刷新动画会导致奇怪的跳跃 卡顿 这是我的代码 v
  • 自动删除MySQL中过期的数据行

    我已将一些奖金代码行添加到数据库中的奖金详细信息表中 所有奖金代码都有有效期 php是否可以自动删除已过期的行 我使用的代码是 有效期是日期 query select from bonusdetails where BonusType Ma
  • 更改 Fullcalendar 中过去事件的颜色

    我正在尝试实施这个解决方案 https stackoverflow com questions 4016044 adding a class to past events using fullcalendar with google cal
  • Yii ClistView 分页不起作用

    我的 Clistview 分页无法正常工作 我尝试了所有方法 但仍然没有成功 这是我的模型函数 public function getallone criteria new CDbCriteria criteria gt select t
  • 将 XML 转换为 Java 对象的最佳实践是什么?

    我需要将 XML 数据转换为 Java 对象 将此 XML 数据转换为对象的最佳实践是什么 想法是通过 Web 服务获取数据 它不使用 WSDL 仅使用 HTTP GET 查询 因此我无法使用任何框架 答案采用 XML 格式 处理这种情况的
  • 添加了 Lombok,但 Intellij IDEA 无法识别 getter 和 setter

    我在 ubuntu 上使用 IntelliJ IDEA 我添加了龙目岛 jar进入我的项目并安装 IDEA 的 Lombok 插件 我可以访问注释 但是getters and setters没有生成 如果我尝试访问不存在的 getter 或
  • 如何使soapUI 附件路径相对?

    我正在使用soapUI 来测试HTTP 服务器 我需要发送一个多部分 表单数据请求 当我通过文件选择器并附加它时 该请求工作正常 但它将路径保存为绝对路径 并且我需要保存相对于我的测试文件的路径 但没有缓存在我的测试文件中 我怎样才能做到这
  • UITableViewCell 与 UIImage,宽度未更新初始显示的单元格

    我想动态调整 UITableViewCell 内 UIImage 的宽度 我使用情节提要来设计 UITableViewCell 我刚刚添加了一个标签和一个图像 属性得到正确更新 我什至加载了将宽度放入标签以显示它是正确的值 对于图像 我正在
  • Hadoop MapReduce 与 MPI(与 Spark、Mahout 与 Mesos) - 何时使用其中之一?

    我是并行计算新手 刚刚开始在 Amazon AWS 上尝试 MPI 和 Hadoop MapReduce 但我对何时使用其中一种而不是另一种感到困惑 例如 我看到的一个常见的经验法则可以总结为 大数据 非迭代 容错 gt MapReduce
  • docker-machine 和 docker-compose 有什么区别?

    我想我不明白 首先 我创建了 docker machine docker machine create d virtualbox dev eval docker machine env dev 然后我编写了 Dockerfile 和 doc
  • MVC 区域 - 非区域路由解析为区域

    我已在我的 MVC 3 项目中添加了一个区域 我似乎无法在非常简单的场景中使用路由 看来总是想去区解决一下 这是我的配置 启动时 AreaRegistration RegisterAllAreas IgnoreRoute resource
  • HTML5:输入类型持续时间

    有没有办法使用输入类型持续时间 我正在尝试以某种方式进行输入 用户可以添加类似这样的持续时间06 30 27 15 hh mm ss ms 并且应该只允许 0 23 0 59 0 59 0 59 任何帮助表示赞赏 NOTE 我想在 Angu
  • TypeError: jQuery(...).validate 不是一个函数

    我将动态 html 内容添加到另一个 html 内容上 这基本上是一个编辑表单 html 视图 但是当我尝试验证 from 时 它给出了 TypeError jQuery validate is not a function 错误 我使用的
  • conda 'base' 和 'root' 环境有什么区别?

    我最近一直在努力组织我的 conda 环境 我最终重新安装了 miniconda 现在一切顺利 我的问题是 当我跑步时conda env list I get conda environments base Users rheft mini
  • 是否有即将推出的 Cloud Spanner 框架?

    我开始研究 Google 的 Cloud Spanner 它看起来确实很有趣 由于ruby有rails MongoDB有Meteor RethinkDB有Horizo n 是否有关于Cloud Spanner拥有某种专用框架的讨论 或者是否
  • 在近实时分析中,为什么 Lambda-->Firehose-->S3 优于 Lambda-->S3?

    许多用于无服务器实时分析的 AWS 参考架构建议通过 Kinesis Firehose 将处理后的数据从 Lambda 推送到 S3 e g https aws amazon com blogs big data create real t