草庐IT

s3DistCp

全部标签

hadoop - 有没有办法让 Spark 在不使用 Hadoop 的情况下读取 AWS S3 文件?

独立程序可以通过使用AWS客户端jar文件在没有Hadoop的情况下读取/写入AWSS3文件。Spark程序可以在没有Hadoop的情况下读/写文件。然而,Spark需要读取/写入AWSS3文件的程序才能使用Hadoop。即便如此,即使设置了Hadoop目录,Spark1.4和Hadoop2.6&2.7仍会出现关于缺少S3的Hadoop类的运行时错误。Spark程序是否可以通过AWS客户端jar文件在不使用Hadoop的情况下读取/写入S3文件?如果不是,我该如何解决Spark在运行时缺少Hadoop的S3类的问题? 最佳答案 Sp

hadoop - 停止 hadoop/EMR/AWS 创建带有 _$folder$ 扩展名的 S3 路径

在EMR上运行spark作业,输出直接写入S3。我注意到每个S3目录路径(例如/the/s3/path)都包含一个名为/the/s3/path_$folder$的标志文件。这导致使用spark重新加载数据时出现问题(它是Parquet,spark提示额外的文件等)。我怎样才能阻止AWS/无论它是什么来创建这个标志?它过去也发生在hadoop作业中,所以我不认为它是spark(尽管它使用hadoopFS的东西)。 最佳答案 嗯,是的,我以前也获取过这些文件夹,但是它们不再出现了...我怀疑是因为我对hadoopConfiguratio

hadoop - Hdfs 到 s3 Distcp - 访问 key

为了将文件从HDFS复制到S3存储桶,我使用了命令hadoopdistcp-Dfs.s3a.access.key=ACCESS_KEY_HERE\-Dfs.s3a.secret.key=SECRET_KEY_HERE/path/in/hdfss3a:/BUCKETNAME但是访问key和sectetkey在这里是可见的,这是不安全的。有没有什么方法可以从文件中提供凭据。我不想编辑配置文件,这是我遇到的方法之一。 最佳答案 我也遇到过同样的情况,在从matadata实例获得临时凭证之后。(如果您使用的是IAM用户的凭证,请注意这里提到

java - 在使用存储在 amazon s3 上的数据运行 Map reduce WordCount 作业时需要帮助

我正在尝试对存储在Amazons3存储桶中的文本文件运行MapreduceWordCount作业。我已经为mapreduce框架设置了与Amazon通信所需的所有必需的身份验证,但我继续运行此错误。知道为什么会这样吗?13/01/2013:22:15ERRORsecurity.UserGroupInformation:PriviledgedActionExceptionas:rootcause:org.apache.hadoop.mapred.InvalidInputException:Inputpathdoesnotexist:s3://name-bucket/test.txtExc

hadoop - IllegalArgumentException 必须指定 bucketName 参数。 com.amazonaws.services.s3.AmazonS3Client.rejectNull

使用(hfs-textline)在AWS-EMR集群上运行Clojurejar并获取:IllegalArgumentExceptionThebucketNameparametermustbespecified.com.amazonaws.services.s3.AmazonS3Client.rejectNull`. 最佳答案 在我的例子中,它确实是关于bucketname的。我输错了s3:///mkay4242(3个斜线)而不是s3://mkay4242。 关于hadoop-Illega

amazon-web-services - AWS EMR 使用 KMS 加密 S3 存储桶

我的EMR出现以下情况,有人可以指导如何进行相同的配置吗?EMR集群跨数据管道执行多项操作:使用KMSKEY1将EMR写入S3BUCKET1使用KMSKEY2将EMR写入S3BUCKET2如何在EMR中配置以上内容?我知道配置EMR的唯一选项位于emrfs-site.xml&/etc/hadoop/conf.empty/core-site.xml这些有标签fs.s3.serverSideEncryption.kms.keyId如何使用上述KMSkey实现我的要求?我需要为不同的存储桶写入在KMSkey之间切换。 最佳答案 您可以为E

Hadoop distcp 到 HTTP 代理后面的 S3

我正在尝试使用distcp将一些文件从HDFS复制到Amazons3。我的Hadoop集群通过HTTP代理连接到互联网,但我不知道在连接到s3时如何指定它。我目前遇到问题:httpclient.HttpMethodDirector:I/Oexception(org.apache.commons.httpclient.ConnectTimeoutException)caughtwhenprocessingrequest:Thehostdidnotaccepttheconnectionwithintimeoutof60000ms这表明它正在尝试直接连接到亚马逊。如何让distcp使用代理主

hadoop - Sqoop 增量导入到 S3 Wrong FS 报错

使用--incrementalappend时sqoopimport中的标志,作业将失败。ERRORtool.ImportTool:ImportedFailed:WrongFS:s3n://:@bucket/folder/完整命令如下:sqoopimport--connectjdbc:postgresql://someplace.net:12345/db--warehouse-dirs3n://:@bucket/folder/--tablemy_table--hive-drop-import-delims--escaped-by"\\"--usernameroot--passwordsa

hadoop - 连接 S3 文件以在 EMR 中读取

我有一个S3存储桶,其中包含我想要连接的日志文件,然后用作EMR作业的输入。日志文件的路径如下:bucket-name/[date]/product/out/[hour]/[minute-based-file]。我想获取所有日期目录中所有小时目录中的所有分钟日志,并将它们连接到一个文件中。我想将该文件用作EMR作业的输入。原始日志文件需要保留,新合并的日志文件可能会写入不同的S3bucket。我尝试通过SSH在EMR主节点上使用hadoopfs-getmerge,但出现此错误:此文件系统对象(file:///)不支持访问请求路径's3://target-bucket-name/merg

hadoop - S3DistCp 按文件夹分组

我正在尝试使用S3DistCp解决Hadoop中的小文件问题。它正在工作,但输出有点烦人。我正在处理的文件路径如下:s3://test-bucket/test/0000eb6e-4460-4b99-b93a-469d20543bf3/201402.csv并且该文件夹中可以有多个文件。我想按文件夹名称分组,所以我在s3distcp中使用以下按参数分组:--groupBy'.*(........-.........-....-............).*'它确实对文件进行了分组,但它仍然会产生多个输出文件夹,每个文件夹中有一个文件。有什么方法可以将分组的文件输出到一个文件夹,而不是多个?