首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于点击流分析的AWS S3数据格式

用于点击流分析的AWS S3数据格式
EN

Stack Overflow用户
提问于 2018-04-21 17:50:40
回答 1查看 486关注 0票数 0

我们使用Kafka队列从不同的devices.We中收集json格式的点击流数据,需要通过Hive (或者可能是Spark)来分析这些数据。我们考虑使用每小时分区,我们将在每小时调用我们的蜂箱/火花作业。我阅读了有关不同文件格式的信息,但无法确定最佳的文件格式以获得更好的查询性能。我们试图以s3格式保存json数据,但是查询速度很慢。

我们可以将json数据作为一种列格式插入到s3中。(相反,如果插入一个包含整个json记录的列),您认为在s3中不同的列中保存每个json属性会怎么样呢?(我们的模式很少改变)

我们将每小时运行一次/激发工作。因此,我们需要检索每小时分区中的所有记录。但是,我将在不同的查询中查询不同的列。哪种文件格式更适合我们的情况?(avro、parquet、orc等)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-22 05:04:23

首先,Hive或Spark在S3数据上的速度非常快。Presto/Athena在S3上的特殊SQL查询上会更快。请记住,如果你使用这些选项,你需要一个方法来更新蜂巢转移.仅仅在S3中将文件降到新的每小时文件路径是不够的。

兽人或帕奎特比阿夫罗更有表现力。Avro比JSON或纯文本更有表现力(外加模式演化)。Netflix使用Presto对ORC和Parquet进行了性能测试

不知道你所说的“我们试图用avro格式保存json数据”是什么意思.如果您使用的是卡夫卡S3连接器,并且使用了转换器,那么此时它不提供Hive集成。但是,如果您以某种方式添加了Hive,并且得到了缓慢的查询,那么您需要增加文件的刷新大小。除了JSON或Avro之外,它也不支持有用的查询格式。

如果你在使用派息证券,那就提供了卡夫卡提供的Parquet & ORC支持,以及Hive集成,所以我会推荐它。

如果您希望在流框架中而不是在批处理中处理每小时记录,您也可以使用这些记录,并且比等待S3结果更快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49958606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档