hadoop - 如何在 Google Cloud Storage 中存储大量小的 HTML 文件以优化 Dataproc?

标签 hadoop google-cloud-storage google-cloud-dataproc

我有兴趣在 HTML 解析任务上试用 Google Cloud Dataproc。我们目前在谷歌存储中有很多(200M+)小的 HTML 文件。我们希望能够将所有这些文件提取到 Hadoop(MapReduce 或 Spark)中进行处理。

但是,我的理解是 Dataproc 在列出和读取大量小文件时性能会很差,而且 Hadoop 通常也是如此。所以我的问题是,我应该如何将大量小文件打包成更大的文件,以便能够高效地列出和读取?

我考虑过像 TAR/ZIP 这样的标准东西,但我的理解是这些东西是不可分割的,因此并发性是有限的。

是否有其他推荐的格式用于此类内容?我考虑过使用 avro,并且只是将 HTML 存储为 avro 记录中的字节字段,但我认为 avro 并不真正适用于这种用例。

最佳答案

您可以使用 Hadoop SequenceFile按照建议解决此问题here .

关于hadoop - 如何在 Google Cloud Storage 中存储大量小的 HTML 文件以优化 Dataproc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53857631/

相关文章:

java - 是否可以使现有的 mapreduce 程序从输入文件的指定偏移量开始运行

java - 本地镜像上传未显示在 Google App Engine 上

python - 导入错误: unknown location

hadoop - 最小化Google Dataproc上Apache Spark作业的初始化时间的最佳方法是什么?

pyspark - Dataproc 中的 BigQuery 和 Pyspark

java - 在映射器之间共享 FSDataInputStream?

hadoop - 尝试在 HDP Sandbox 2.6 中执行 kylin.sh start 时出错

hadoop - 在 hbase 集群上设置多个 tsd

java - getDefaultGcsBucketName 不包含任何数据

nlp - FastText 无法打开以从存储桶加载