【问题标题】:Hadoop configuration in sparkRsparkR中的Hadoop配置
【发布时间】:2015-12-24 04:12:48
【问题描述】:


为了从亚马逊 S3 读取/写入数据,我在使用 sparkR 配置 hadoop 时遇到了一些问题。
例如,这些是在 pyspark 中工作的命令(用于解决相同的问题):

sc._jsc.hadoopConfiguration().set("fs.s3n.impl","org.apache.hadoop.fs.s3native.NativeS3FileSystem")
sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", "myaccesskey")
sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", "mysecretaccesskey")
sc._jsc.hadoopConfiguration().set("fs.s3n.endpoint", "myentrypoint")

谁能帮我解决这个问题?

【问题讨论】:

  • awsSecretAccessKeyawsAccessKeyId 可以使用环境变量进行设置。见:Running Spark on EC2

标签: r hadoop amazon-s3 apache-spark sparkr


【解决方案1】:

你可以设置

<property>
    <name>fs.s3n.impl</name>
    <value>org.apache.hadoop.fs.s3native.NativeS3FileSystem</value>
</property>

在您的 core-site.xml(纱线配置)中

【讨论】:

    【解决方案2】:

    使用callJMethod (https://github.com/apache/spark/blob/master/R/pkg/R/backend.R#L31) 可以实现更接近您使用 PySpark 所做的解决方案

    > hConf = SparkR:::callJMethod(sc, "hadoopConfiguration")
    > SparkR:::callJMethod(hConf, "set", "a", "b")
    NULL
    > SparkR:::callJMethod(hConf, "get", "a")
    [1] "b"
    

    更新:

    hadoopConfiguration 对我不起作用:conf 起作用了——大概它在某个时候发生了变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-16
      • 2014-05-23
      • 1970-01-01
      • 2018-04-25
      • 2016-12-19
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多