开发者社区 问答 正文

E-MapReduce Spark参数说明是什么?


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.number5并发进行 OSS 的 upload part copy 的并发度
spark.hadoop.fs.oss.copy.simple.max.byte134217728使用普通接口进行 OSS 内部 copy 的文件大小上限
spark.hadoop.fs.oss.multipart.split.max.byte67108864使用普通接口进行 OSS 内部 copy 的文件分片大小上限
spark.hadoop.fs.oss.multipart.split.number5使用普通接口进行 OSS 内部 copy 的文件分片数目,默认和拷贝并发数目保持一致
spark.hadoop.fs.oss.implcom.aliyun.fs.oss.nat.NativeOssFileSystemOSS 文件系统实现类
spark.hadoop.fs.oss.buffer.dirs/mnt/disk1,/mnt/disk2,…OSS 本地临时文件目录,默认使用集群的数据盘
spark.hadoop.fs.oss.buffer.dirs.existsfalse是否确保 OSS 临时目录已经存在
spark.hadoop.fs.oss.client.connection.timeout50000OSS Client 端的连接超时时间(单位毫秒)
spark.hadoop.fs.oss.client.socket.timeout50000OSS Client 端的 socket 超时时间(单位毫秒)
spark.hadoop.fs.oss.client.connection.ttl-1连接存活时间
spark.hadoop.fs.oss.connection.max1024最大连接数目
spark.hadoop.job.runlocalfalse当数据源是 OSS 时,如果需要本地调试运行 Spark 代码,需要设置此项为“true”,否则为“false”
spark.logservice.fetch.interval.millis200Receiver 向 LogHub 取数据的时间间隔
spark.logservice.fetch.inOrdertrue是否有序消费分裂后的 Shard 数据
spark.logservice.heartbeat.interval.millis30000消费进程的心跳保持间隔
spark.mns.batchMsg.size16批量拉取 MNS 消息条数,最大不能超过 16
spark.mns.pollingWait.seconds30MNS 队列为空时的拉取等待间隔
spark.hadoop.io.compression.codec.snappy.nativefalse标识 Snappy 文件是否为标准 Snappy 文件,Hadoop 默认识别的是 Hadoop 修改过的 Snappy 格式文件

展开
收起
nicenelly 2017-10-30 15:46:19 1591 分享 版权
阿里云 AI 助理回答

您列出的参数配置是用于优化和定制Apache Spark作业与阿里云对象存储服务(OSS)交互时的行为。这些配置帮助确保数据读写操作高效、安全,并且能够根据具体需求进行调整。下面是对部分关键参数的简要解释,以帮助您更好地理解和使用它们:

  1. 访问密钥配置:

    • spark.hadoop.fs.oss.accessKeyIdspark.hadoop.fs.oss.accessKeySecret: 分别设置访问OSS所需的AccessKey ID和AccessKey Secret,这是认证和授权的基础。
    • spark.hadoop.fs.oss.securityToken: 如果使用STS临时凭证访问OSS,需要设置此参数。
  2. 连接和端点配置:

    • spark.hadoop.fs.oss.endpoint: 指定OSS服务的访问地址,例如http://oss-cn-hangzhou.aliyuncs.com,需根据实际使用的区域替换。
  3. 性能优化相关:

    • spark.hadoop.fs.oss.multipart.thread.number: 控制OSS文件上传或内部复制时的并发度,提高大文件处理速度。
    • spark.hadoop.fs.oss.multipart.split.max.bytespark.hadoop.fs.oss.multipart.split.number: 调整文件分片大小和数量,影响大文件上传效率。
    • spark.hadoop.fs.oss.buffer.dirs: 指定Spark在本地暂存数据的目录,可以提升读写性能。
  4. 高级特性及调试:

    • spark.hadoop.fs.oss.connection.max: 限制到OSS的最大连接数,避免对OSS服务造成过大压力。
    • spark.job.runlocal: 当开发和调试阶段,如果数据源为OSS,设置为true可以在本地运行Spark作业,便于快速迭代。
  5. 日志服务和消息队列集成:

    • 参数如 spark.logservice.fetch.interval.millis, spark.mns.batchMsg.size 等,涉及Spark与阿里云日志服务(LogHub)或消息服务(MNS)的集成,用于控制数据拉取频率、批量大小等,适用于特定场景下的数据处理。
  6. 压缩和格式支持:

    • spark.hadoop.io.compression.codec.snappy.native: 配置是否使用原生Snappy压缩库,这会影响Snappy压缩文件的处理效率。

通过合理配置这些参数,您可以显著提升基于Spark的应用程序在阿里云环境中的执行效率和稳定性。请根据您的具体应用场景和资源状况来调整这些参数。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答