sparkR中的Hadoop配置

问题描述 投票:3回答:2

我有一些问题,配置带有sparkR的hadoop,以便从amazon S3读取/写入数据。 例如,这些是在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")

有人可以帮我解决这个问题吗?

r hadoop amazon-s3 apache-spark sparkr
2个回答
2
投票

通过使用callJMethodhttps://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虽然工作 - 可能它在某些时候发生了变化。


1
投票

你可以设置

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

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

© www.soinside.com 2019 - 2024. All rights reserved.