【问题标题】:Spark to process many tar.gz files from s3Spark 处理来自 s3 的许多 tar.gz 文件
【发布时间】:2015-11-13 08:21:35
【问题描述】:

我在 s3 中有许多 log-.tar.gz 格式的文件。我想处理它们,处理它们(从每一行中提取一个字段)并将其存储在一个新文件中。

我们有很多方法可以做到这一点。一种简单方便的方法是使用 textFile 方法访问文件。

//Read file from s3
rdd = sc.textFile("s3://bucket/project_name/date_folder/logfile1.*.gz")

我担心集群的内存限制。这样,主节点就会过载。对集群类型可以处理的文件大小有粗略的估计吗?

我想知道是否有一种方法可以并行化从 s3 获取 *.gz 文件的过程,因为它们已经按日期分组。

【问题讨论】:

  • 已经并行化了...
  • @zero323 感谢您的回答。你的意思是 textFile 方法是优化的方法吗?
  • 是的。这就是为什么必须从所有工作节点访问数据的原因。

标签: amazon-s3 apache-spark


【解决方案1】:

除了parallelize / makeRDD 之外,所有创建RDDs / DataFrames 的方法都要求所有工作人员都可以访问数据,并且在不加载驱动程序的情况下并行执行。

【讨论】:

  • 感谢您的回答。请问可以处理的文件大小有粗略的估计吗
  • 这也取决于您的查询和集群大小
猜你喜欢
  • 2018-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-17
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多