草庐IT

s3DistCp

全部标签

带有隐藏 key 对的 Hadoop distcp 到 S3a

如何隐藏访问AmazonS3的ACCESS_ID_KEY和SECRET_ACCESS_KEY?我知道将它添加到core-site.xml,但也许有不同的解决方案。因为使用这种方法,集群中的每个用户都将使用相同的key运行distcp。也许有一些解决方案,比如将它存储在每个集群用户的某个属性文件中?谢谢。 最佳答案 请看我的HCCpost在此用例中使用HadoopCredentialAPI。 关于带有隐藏key对的Hadoopdistcp到S3a,我们在StackOverflow上找到一个

hadoop distcp异常无法重命名tmp文件

我正在尝试使用distcp命令将数据从一个cdh(CDH4.7.1)集群移动到另一个cdh(cdh5.4.1)集群:hadoopdistcp-Dmapred.task.timeout=60000000-updatehdfs://namenodeIpofsource(CDH4):8020/user/admin/distcptest1webhdfs://namenodeIpoftarget(CDH5):50070/user/admin/testdir使用此命令,目录和子目录从源集群cdh4复制到目标集群cdh5,但源集群中的文件未复制到目标集群,失败并出现以下错误:无法将tmp文件(=we

hadoop - 如何在 S3 上指定 Hive EXTERNAL TABLE 数据的文件大小

我可以在Hive中创建一个EXTERNALTABLE,其中数据以Gzip格式存储在S3存储桶中。但是,这些文件非常大(每个超过6GB)。能否配置Hive使EXTERNALTABLE中的文件具有特定大小,比如512MB? 最佳答案 这对我来说听起来很奇怪,默认情况下,我的外部表通常有大约300MB的文件大小。无论如何,最简单的调整方法是使用PARTITIONBY键(可能是基于时间戳的东西),这将强制文件变小,并且具有使数据更容易的附加优势查询。此外,您应该考虑使用像Parquet这样的可拆分格式,因为这样文件大小就不再重要了。

hadoop - 在 distcp 中更改目标文件名/位置

我在hdfs的文件夹中有许多文件,它们的名称在hdfs中的格式为filename.yyyy-mm-dd-hh.machinename.gz。我需要将它们传输到s3,但我想将它们放在yyyy/mm/dd/hh/filename.yyyy-mm-dd-hh.machinename.gz(这将是对象名称,因为s3具有平面结构)下我指定的桶。distcp命令可以将文件从hdfs传输到s3但是否有执行上述操作的选项?如果不是,我如何扩展distcp来执行此操作? 最佳答案 请注意:这不是解决方案,只是一个提示。我不知道确切的答案,也没有实际尝

hadoop - 在 EMR 3.10 中添加步骤或引导操作以将文件从本地复制到 s3

我正在使用AmazonEMR3.10将文件从本地复制到AmazonS3...我在参数中使用“script-runner.jar”,我在参数中提到了一个命令sudoawss3cp/home/hadoop/conf/hdfs-site.xmls3://testbucket/myfolder/--recursive....但是该步骤失败并抛出以下异常:Exceptioninthread"main"java.lang.RuntimeException:Localfiledoesnotexist.atcom.amazon.elasticmapreduce.scriptrunner.ScriptR

hadoop - 你可以选择 boto3 s3 协议(protocol)吗?

显然,普通的s3uri协议(protocol)几乎已被弃用。这是boto3使用的吗?我们可以选择新的首选方法s3n或s3a吗?来自AmazonS3wiki:Ablock-basedfilesystembackedbyS3.Filesarestoredasblocks,justliketheyareinHDFS.Thispermitsefficientimplementationofrenames.Thisfilesystemrequiresyoutodedicateabucketforthefilesystem-youshouldnotuseanexistingbucketcontai

hadoop - 如何根据 S3 中的特定模式修改文件内容

我有许多json文件(下面给出的示例)以压缩格式存在于S3文件夹(比如s3://data/)中,如foo.json.gz、foo1.json.gz、foo2.json.gz。其中一个类别(例如1010)被错误分配,需要将所有文件更改为1020。我们如何进行此更改并使用修改后的内容在S3中重新打包这些文件?foo.json{"flower":"lilly","animal":"cat","category":"1010"}{"flower":"rose","animal":"dog","category":"1000"}{"flower":"daisy","animal":"cat","

java - 如何在 java 中导入 distcp 包?

如何在Java中导入distcp包?我尝试了"org.apache.hadoop"%"hadoop-distcp"%"2.7.1"依赖项并使用了如下导入语句importorg.apache.hadoop.tools.util.DistCp但是DistCp无法识别。我正在尝试使用工具运行器在我的javahadoop代码中调用distcp,但导入不起作用。谢谢 最佳答案 这里你需要注意的一个简单的事情是,包org.apache.hadoop.tools.util不包含distcp类。不仅如此,包org.apache.hadoop.too

hadoop - 如何列出事件的 DISTCP 作业?

如何列出事件的DISTCP作业?我正在两个集群之间运行一个distcp作业。hadoopdistcphdfs://x/y/x/y我想持续运行它,但需要确保现有的distcp任务已完成。我已经在源集群和目标集群上尝试了以下操作,但我看不到复制操作。映射作业-listall 最佳答案 这基本上是YarnapigetapplicationsbyelapsedTime的变体.在您的情况下,您可以使用RMClusterApplicationsAPI获取所有应用程序(不幸的是它不会过滤name),然后过滤name等于distcp的应用程序。下面

scala - 将 DataFrame 作为文本文件加载到 HDFS 和 S3

这个问题在这里已经有了答案:WritesingleCSVfileusingspark-csv(16个答案)关闭5年前。我正在尝试使用以下代码将DataFrame作为文本格式文件加载到HDFS和S3中。DataFrame名称为finalData。valtargetPath="/user/test/File"valnow=Calendar.getInstance().getTime()valformatter=newSimpleDateFormat("yyyyMMddHHmmss")valtimeStampAfterFormatting=formatter.format(now)valta