草庐IT

s3DistCp

全部标签

hadoop - 从 Internet 直接下载文件到我的 S3 存储桶

我在AWS基础设施上使用EMR(ElasticMapReduce),为程序提供输入文件(大型数据集)的默认方式是将它们上传到S3存储桶并从中引用那些存储桶在EMR内。通常我将数据集下载到我的本地开发机器,然后将它们上传到S3,但是对于较大的文件,这变得越来越困难,因为上传速度通常比下载速度低得多。我的问题是有没有一种方法可以从互联网上下载文件(给定它们的URL)直接到S3中,这样我就不必将它们下载到我的本地机然后手动上传? 最佳答案 没有。您需要一个中介-通常,使用EC2实例而不是您的本地机器来提高速度。

hadoop - 在配置 EMR 后,如何将文件从 S3 复制到 Data Pipeline 中的 Amazon EMR?

我正在AWS中创建一个数据管道来运行Pig任务。但是我的Pig任务需要EMR中的附加文件。在创建集群之后和运行pigtasked之前,我如何告诉DataPipeline将文件复制到EMR?我只需要运行这两个命令。hdfsdfs-mkdir/somefolderhdfsdfs-putsomefile_from_s3/somefoler/ 最佳答案 如果您可以选择修改Pig脚本,则可以运行mkdir并将命令放在脚本的顶部(https://pig.apache.org/docs/r0.9.1/cmds.html)。否则,您可以使用在Emr

hadoop - 执行 distcp 时映射器的数量

如何设置映射器的数量来执行distcp作业?我知道我们可以通过执行Hadoopdistcp-m来设置映射器的最大数量。但是是否可以设置数量而不是映射器的最大数量?谢谢 最佳答案 不,目前无法为distcp设置准确的映射器数量。如你所说,我们只能用-m指定最大同时复制数。Hadoophdfs处理并发复印机以尽可能最好的方式完成复制工作。所以这可能是不让我们指定确切数字的原因。distcp-hadoop2.7.2 关于hadoop-执行distcp时映射器的数量,我们在StackOverfl

Hadoop 可以列出 s3 内容,但 spark-shell 抛出 ClassNotFoundException

我的传奇还在继续-简而言之,我正在尝试为spark创建一个测试堆栈-旨在从s3存储桶中读取文件,然后将其写入另一个存储桶。Windows环境。我在尝试访问S3或S3n时反复遇到错误,因为抛出了ClassNotFoundException。这些类作为s3和s3n.impl添加到core-site.xml我将hadoop/share/tools/lib添加到类路径中无济于事,然后我将aws-java-jdk和hadoop-awsjar添加到share/hadoop/common文件夹,我现在可以在命令行上使用haddop列出存储桶的内容。hadoopfs-ls"s3n://bucket"显

scala - Spark Scala S3 存储 : permission denied

我在Internet上阅读了很多关于如何让Spark与S3一起工作的主题,但仍然没有任何东西可以正常工作。我已经下载了:Spark2.3.2withhadoop2.7andabove.我只从Hadoop2.7.7(匹配Spark/Hadoop版本)复制了一些库到Sparkjars文件夹:hadoop-aws-2.7.7.jarhadoop-auth-2.7.7.jaraws-java-sdk-1.7.4.jar我仍然无法使用S3N或S3A来让spark读取我的文件:对于S3A我有这个异常(exception):sc.hadoopConfiguration.set("fs.s3a.acc

scala - 如何在 Spark 提交中将 s3a 与 Apache spark 2.2(hadoop 2.8) 一起使用?

我正在尝试使用使用hadoop2.8版本构建的spark2.2.0从spark访问S3数据,我正在使用/jars/hadoop-aws-2.8.3。jar,/jars/aws-java-sdk-s3-1.10.6.jar和/jars/aws-java-sdk-core-1.10.6.jar在类路径我得到以下异常java.lang.NoClassDefFoundError:org/apache/hadoop/fs/StorageStatisticsatjava.lang.Class.forName0(NativeMethod)atjava.lang.Class.forName(Class

hadoop - 当我使用 aws 凭证时出现 Distcp 重试错误

我正在尝试将一些日志文件从hdfs推送到s3存储桶我正在为此使用distcp命令,但它一直在尝试很长时间,请帮助我解决问题。sudo-uhdfshadoopdistcp-Dfs.s3a.access.key="xxxxxxxxxx"-Dfs.s3a.secret.key="xxxxxxxxxxxxxx"hdfs://prod1/data/exchange/inventory_snapshot/20160610s3a://test-inventory-snapshot/test/18/11/2715:01:41INFOtools.DistCp:InputOptions:DistCpOpt

java - 如何在 hadoop 配置中正确设置 s3a 配置?

我收到奇怪的错误,例如-无法获取aws凭据或无法从...加载凭据有没有办法在hadoop配置中明确设置s3a凭证? 最佳答案 由于s3a是相对较新的实现(并且从hadoop2.7开始可以正常工作),您需要在hadoop配置中设置两组属性-conf.set("fs.s3a.access.key",access_key);conf.set("fs.s3a.secret.key",secret_key);conf.set("fs.s3a.awsAccessKeyId",access_key);conf.set("fs.s3a.awsSec

hadoop - 您可以将 s3distcp 与 gzip 压缩输入一起使用吗?

我正在尝试使用s3distcp来编译许多小的gzip文件,不幸的是,这些文件没有以gz扩展名结尾。s3distcp有一个可用于压缩输出的outputCodec参数,但没有相应的inputCodec。我正在尝试将--jobconf与hadoop流调用一起使用,但它似乎没有做任何事情(输出仍然是压缩的)。我使用的命令是hadoopjarlib/emr-s3distcp-1.0.jar-Dstream.recordreader.compression=gzip\--srcs3://inputfolder--desthdfs:///data任何想法可能会发生什么?我正在运行AWSEMRAMI-

hadoop - 从 S3 读取超过 500GB 的数据并将 400GB 输出保存到 S3 是个好主意吗?

我的MR作业从AWSS3读取500GB数据,同时将中间数据保存在S3中,并将reducer的输出(大约400GB)写入S3,这是一个好的设计吗?还有其他更便宜、更稳定的解决方案吗?谢谢! 最佳答案 我们的ETL作业在AWS中运行。我们使用Oozie进行工作流管理。当您在EMR(ElasticMapReduce)中运行时,您可以选择写入s3或本地HDFS。将数据存储在s3或HDFS中的决定取决于多种因素,例如:数据的性质:临时(使用HDFS)或永久(使用s3)成本:存储在s3中会花费您一些美分/美元带宽:当您将数据上传到s3时,您会消