amazon-web-services - AWS EMR Spark 文件拆分
问题描述
我有一个在 AWS EMR 服务上运行的 Apache Spark 作业。它从 S3 存储桶中读取带有域的文本文件,并进行一些处理。10K 域的输入文件大小约为 250Kb。
当我运行作业时,只创建了 2 个任务。而且无论我使用什么集群大小,它都不会并行运行它们。
读取输入文件的代码示例:
val conf = new SparkConf().setAppName(appName)
val sc = new SparkContext(conf)
val spark = SparkSession.builder.appName(appName).getOrCreate
val domains = sc.textFile("s3://bucket/file.txt")
我发现有一个fs.s3.block.size
选项可以控制文件读取拆分(默认值大于我的输入文件)。但我找不到应用它的地方。尝试了下一个配置:
[
{
"classification": "emrfs-site",
"properties": {"fs.s3.block.size":"20480"},
"configurations": []
}
]
但它没有任何效果。
我可以使用什么配置来增加输入文件的 Spark 任务?
AWS EMR 版本 5.29.0
输入文件示例:
domain1
domain2
domain3
...
解决方案
推荐阅读
- bash - 如何通过 bash 脚本使用此处的字符串将字母传递给 abaqus 数据检查?
- android - 当我在其中使用 docker 时,jenkinsfile 失败
- zabbix - zabbix Trapper VS zabbix agent
- druid - 如何检查德鲁伊转换规范表达式中的“IN”子句
- kotlin - 如何解决 PW Generator 无法处理特定字符?
- python - 如何使用这个 django 模型创建表单?
- shell - 从一个文件中获取数据并使用 awk 将其发送到另一个文件
- excel - 修改循环以包含 3 个字符串
- python - 使用 Python 读取()图像文件并将其发送到 HttpResponse
- python - keras 迁移学习在之前添加一层并选择特定层作为输出