问题标签 [amazon-kinesis-firehose]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 使用 Kinesis Firehose 可以在 S3 和 Redshift 之间进行 ETL 吗?
我的团队正在尝试使用 Redshift 来整合来自多个不同数据库的信息。在我们第一次尝试实施此解决方案时,我们使用 Kinesis Firehose 将 POST 记录写入我们的 API 到 S3,然后发出 COPY 命令将插入的数据写入 Redshift 中的正确表。但是,这仅允许我们插入新数据,而不允许我们转换数据、在更改时更新行或删除行。
在不使用批量转换的情况下,在 Redshift 中维护更新的数据仓库的最佳方法是什么?理想情况下,只要本地数据库中的数据发生更改,我们希望“自动”(< 5 分钟)进行更新。
java - java.lang.ClassNotFoundException:com.amazonaws.ClientConfigurationFactory
自过去 6 个月以来,我一直在使用 aws,并且我开发了将批处理请求发送到 firehose 的应用程序。直到今天它工作正常,但是当我重新部署到我的本地系统时它说java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory
。我知道这个错误意味着什么。但我的问题是为什么我今天得到了这个例外?我在我的项目中使用以下依赖项:
我搜索ClientConfigurationFactory
了类,但没有找到任何地方(任何地方都意味着我的依赖)。
我的问题是这门课在哪里,为什么我今天才收到这个错误?因为我在最初的开发中(6个月前)没有遇到这个错误。我今天没有更改任何依赖项/代码。而且我没有在我的项目中使用这个类(我怀疑
aws-sdk
可能在里面使用过)。
注意:我不能问我是否错过了任何依赖项?因为它以前工作得很好。
如果您有任何疑问,请发表评论。谢谢。
amazon-web-services - 自动将 kinesis 流连接到 kinesis firehose?
我正在将数据发布到由一些消费者处理的运动流。我希望发布到流的原始数据也存储在 s3 中。是否可以将 kinesis 流自动连接到 kinesis firehose,或者我是否需要直接从 kinesis 消费者发布到 firehose?
amazon-redshift - 是否有使用单个 firehose 传输流将数据写入多个 redshift 表的方法
我将一些 json 数据传递给 firehose 传输流,最终将其保存到 Redshift 表中。对于我的用例,我希望将数据存储在不同的表中。
我是否为不同的表创建不同的交付流?如果我以这种方式创建它,S3 中将存在数据重复,因为数据必须通过 S3 才能使用 Firehose 传输流将数据推送到 Redshift。
amazon-web-services - 使用 AWS Firehose 时连接 s3 文件
我有一个AWS Kinesis Firehose 流,它使用以下配置将数据放入 s3:
一切正常。唯一的问题是 Firehose 为每个数据块创建一个 s3 文件。(在我的情况下,每分钟一个文件,如屏幕截图所示)。随着时间的推移,这是很多文件:每天 1440 个文件,每年 525k 个文件。
这很难管理(例如,如果我想将存储桶复制到另一个存储桶,我需要一个接一个地复制每个文件,这需要时间)。
两个问题:
- 有没有办法告诉 Kinesis 将旧文件组合/连接在一起。(例如,超过 24 小时的文件每天被分组为一个块)。
COPY
从大量 s3 文件而不是少数几个 s3 文件时,COPY redshift 性能有何影响?我没有精确地测量过这个,但根据我的经验,很多小文件的性能要差得多。据我所知,使用大文件时,大约 2M 行的 COPY 大约需要 1 分钟。2M 行包含大量小文件(约 11k 个文件),最多需要 30 分钟。
我的两个主要担忧是:
- 更好的 redshift COPY 性能(来自 s3)
- 更轻松的整体 s3 文件管理(备份、任何类型的操作)
amazon-web-services - 如何在 AMAZON Kinesis 中处理静态数据?
我们如何在 Amazon kinesis 中处理静态数据?例如,我在 Excel 表中有数据,我想在 Kinesis 中处理它们。可能吗?如果是,那么如何实现呢?
php - 通过 AWS Kinesis Firehose 插入时,是否可以手动设置 ElasticSearch 文档 ID?
我设置了一个 AWS Kinesis Firehose Stream 来将数据馈送到 AWS ElasticSearch 集群,我可以通过将文档发送到 Firehose Stream 来成功插入文档,Firehose Stream 将它们加载到 ElasticSearch 中。
但我希望能够在将文档id
发送到 Firehose Stream 时手动指定/设置文档的值。我已成功使用 AWS PHP SDK 将数据发送到 Firehose,但我不知道是否有办法手动设置文档的id
.
我尝试在 JSON 数据中设置id
、_id
和esDocumentId
值,但均无济于事。
有人有想法么?
amazon-web-services - AWS Firehose 中间 S3 存储桶和传输流依赖问题
为多个传输流设置一个 s3 存储桶是个好主意吗?(例如:考虑两个具有不同流吞吐量、s3 缓冲区大小/缓冲区间隔的传输流......)
如果两个交付流(S1、S2)正在将数据路由到 redshift。S1 将数据传送到 T1,S2 传送到 T2。在 T2 中,T1 上有一个外键约束。是否可以保证当 S2 向 T2 传递数据(D2)时,D2 引用的 T1 中的所有记录都已被 S1 传递?(即交付流中存在依赖关系)
顺便说一句,我正在使用 firehose 将我的应用程序日志推送到 redshift 以进行分析。
cassandra - Cassandra 数据库上数据分析的替代方案
我们需要对 Cassandra 数据库执行分析和报告。
以下是我们迄今为止确定的方法。
1)在 cassandra 上使用 spark 。
缺点 :
我们将在 cassandra 中大量使用聚合函数,因为数据是按行键分区的。如果 groupby 行与我们的行键匹配,那么性能会很差。
用于显示报告的 spark 没有开箱即用的 UI
它需要一个程序员(java/scala/python)来添加/修改未来的
需求,这会导致高昂的维护成本
2)将数据移至红移并在其上执行分析。
这对我们的聚合查询很有效,因为 redshift 是列式数据库。
在 redshift 中创建表时,能够根据我们的分析查询指定排序和分发
可用于报告的 UI 合作伙伴
即席查询支持 SQL(较少维护)
缺点 :
- 我们需要将数据从 cassandra 移动到 redshift。我们已经确定 AWS Firehose 可以为我们执行此操作。除了写入 cassandra,我们还将写入 firehose 流,该流将为我们写入 redshift。
- AWS 成本涉及 redshift 和 Firehose 。
到目前为止,我们倾向于 redshift 。我上面的假设有什么错误吗?有没有其他选择?
aws-lambda - kinesis 代理到 lambda,如何获取原始文件和服务器
我有一个 kinesis 代理,可以将大量日志文件信息流式传输到 kinesis 流,并且我有一个解析信息的 Lambda 函数。在 Lambda 上,除了字符串之外,我还需要知道源文件名和机器名是否可能?