Spark 代码中可使用如下参数配置:
属性名 | 默认值 | 说明 |
spark.hadoop.fs.oss.accessKeyId | 无 | 访问 OSS 所需的 AccessKey ID(可选) |
spark.hadoop.fs.oss.accessKeySecret | 无 | 访问 OSS 所需的 AccessKey Secret(可选) |
spark.hadoop.fs.oss.securityToken | 无 | 访问 OSS 所需的 STS token(可选) |
spark.hadoop.fs.oss.endpoint | 无 | 访问 OSS 的 endpoint(可选) |
spark.hadoop.fs.oss.multipart.thread.number | 5 | 并发进行 OSS 的 upload part copy 的并发度 |
spark.hadoop.fs.oss.copy.simple.max.byte | 134217728 | 使用普通接口进行 OSS 内部 copy 的文件大小上限 |
spark.hadoop.fs.oss.multipart.split.max.byte | 67108864 | 使用普通接口进行 OSS 内部 copy 的文件分片大小上限 |
spark.hadoop.fs.oss.multipart.split.number | 5 | 使用普通接口进行 OSS 内部 copy 的文件分片数目,默认和拷贝并发数目保持一致 |
spark.hadoop.fs.oss.impl | com.aliyun.fs.oss.nat.NativeOssFileSystem | OSS 文件系统实现类 |
spark.hadoop.fs.oss.buffer.dirs | /mnt/disk1,/mnt/disk2,… | OSS 本地临时文件目录,默认使用集群的数据盘 |
spark.hadoop.fs.oss.buffer.dirs.exists | false | 是否确保 OSS 临时目录已经存在 |
spark.hadoop.fs.oss.client.connection.timeout | 50000 | OSS Client 端的连接超时时间(单位毫秒) |
spark.hadoop.fs.oss.client.socket.timeout | 50000 | OSS Client 端的 socket 超时时间(单位毫秒) |
spark.hadoop.fs.oss.client.connection.ttl | -1 | 连接存活时间 |
spark.hadoop.fs.oss.connection.max | 1024 | 最大连接数目 |
spark.hadoop.job.runlocal | false | 当数据源是 OSS 时,如果需要本地调试运行 Spark 代码,需要设置此项为“true”,否则为“false” |
spark.logservice.fetch.interval.millis | 200 | Receiver 向 LogHub 取数据的时间间隔 |
spark.logservice.fetch.inOrder | true | 是否有序消费分裂后的 Shard 数据 |
spark.logservice.heartbeat.interval.millis | 30000 | 消费进程的心跳保持间隔 |
spark.mns.batchMsg.size | 16 | 批量拉取 MNS 消息条数,最大不能超过 16 |
spark.mns.pollingWait.seconds | 30 | MNS 队列为空时的拉取等待间隔 |
spark.hadoop.io.compression.codec.snappy.native | false | 标识 Snappy 文件是否为标准 Snappy 文件,Hadoop 默认识别的是 Hadoop 修改过的 Snappy 格式文件 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您列出的参数配置是用于优化和定制Apache Spark作业与阿里云对象存储服务(OSS)交互时的行为。这些配置帮助确保数据读写操作高效、安全,并且能够根据具体需求进行调整。下面是对部分关键参数的简要解释,以帮助您更好地理解和使用它们:
访问密钥配置:
spark.hadoop.fs.oss.accessKeyId
和 spark.hadoop.fs.oss.accessKeySecret
: 分别设置访问OSS所需的AccessKey ID和AccessKey Secret,这是认证和授权的基础。spark.hadoop.fs.oss.securityToken
: 如果使用STS临时凭证访问OSS,需要设置此参数。连接和端点配置:
spark.hadoop.fs.oss.endpoint
: 指定OSS服务的访问地址,例如http://oss-cn-hangzhou.aliyuncs.com
,需根据实际使用的区域替换。性能优化相关:
spark.hadoop.fs.oss.multipart.thread.number
: 控制OSS文件上传或内部复制时的并发度,提高大文件处理速度。spark.hadoop.fs.oss.multipart.split.max.byte
和 spark.hadoop.fs.oss.multipart.split.number
: 调整文件分片大小和数量,影响大文件上传效率。spark.hadoop.fs.oss.buffer.dirs
: 指定Spark在本地暂存数据的目录,可以提升读写性能。高级特性及调试:
spark.hadoop.fs.oss.connection.max
: 限制到OSS的最大连接数,避免对OSS服务造成过大压力。spark.job.runlocal
: 当开发和调试阶段,如果数据源为OSS,设置为true
可以在本地运行Spark作业,便于快速迭代。日志服务和消息队列集成:
spark.logservice.fetch.interval.millis
, spark.mns.batchMsg.size
等,涉及Spark与阿里云日志服务(LogHub)或消息服务(MNS)的集成,用于控制数据拉取频率、批量大小等,适用于特定场景下的数据处理。压缩和格式支持:
spark.hadoop.io.compression.codec.snappy.native
: 配置是否使用原生Snappy压缩库,这会影响Snappy压缩文件的处理效率。通过合理配置这些参数,您可以显著提升基于Spark的应用程序在阿里云环境中的执行效率和稳定性。请根据您的具体应用场景和资源状况来调整这些参数。