开发者社区> 问答> 正文

S3中的压缩数据需要用于EMR或Redshift上的机器学习

我在S3存储中有压缩格式的巨大CSV文件。我只需要数据中的一部分列用于机器学习目的。如何在不传输整个文件的情况下将这些列提取到EMR然后再提取到Redshift?

我的想法是将所有文件处理成EMR,然后提取子集并将所需的列推送到Redshift。但这需要花费很多时间。如果有优化的方法来处理这些数据,请告诉我。

展开
收起
小六码奴 2019-04-23 14:50:23 1949 0
1 条回答
写回答
取消 提交回答
  • 如果目标是在Redshift中实现表中文件列的子集,那么您拥有的一个选项是Redshift Spectrum,它允许您在S3中的CSV文件上定义“外部表”。

    然后,您可以从外部表中选择相关列,并将它们插入到实际的Redshift表中。

    当Spectrum扫描CSV文件以查询它们时,您将受到初始成本损失,这将根据文件的大小而有所不同,但这可能远远低于启动EMR集群来处理数据。

    2019-07-17 23:34:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
生命密码-基因数据的EMR实践 立即下载
基于Spark的面向十亿级别特征的 大规模机器学习 立即下载
EMR弹性低成本离线大数据分析最佳实践 立即下载