草庐IT

hadoop - 在 Amazon EMR 上运行 Pig 字数统计脚本时出现错误

以下是我的代码示例。我正在尝试制作旧约字数统计的演示。当我尝试通过亚马逊EMR运行此代码时,该步骤失败。我已将代码作为纯文本文件上传到EMR,并且我的所有路径都是正确的。这是我的代码:a=load's3://joe-hadoop-first-try/oldtest/oldtest.txt'as(f1:chararray);b=foreachagenerateFLATTEN(TOKENIZE(f1))asword;c=groupbbyword;d=FOREACHcGENERATECOUNT(b),group;storedinto's3://joe-hadoop-first-try/wor

hadoop - AWS EMR kerberizing 集群 hadoop.security.AccessControlException

我正在尝试对AWSEMR集群进行Kerberize。我启用了hadoop安全性,创建了kerberos主体并将它们部署在所有节点上。但是,当我使用命令“sudostarthadoop-hdfs-namenode”启动名称节点时,会抛出以下异常。2016-06-0806:14:06,515INFOorg.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor(main):Numberoffailedstoragechangesfrom0to02016-06-0806:14:06,515INFOorg.apache.hado

hadoop - 将中间 Amazon EMR 任务输出写入 S3

我正在运行一个输出数千GB数据的EMR作业。每个map任务输出10GB的数据,据我所知,这些中间输出存储在运行map任务的机器的磁盘上。因此,在同一台机器处理了多个map任务后,它会耗尽磁盘空间来存储这些map任务的中间结果。我知道如何在S3上存储最终结果(在reducer运行之后),但是有没有办法将中间输出(映射器的结果)也存储在S3上?不幸的是,仅仅分配更多的机器(或具有更多内存的机器)并不是一个实际的解决方案,因为我将在数百TB的数据上运行相同的作业。如有任何帮助,我们将不胜感激。 最佳答案 为了防止其他人遇到这个问题,我无法

python - 映射一系列 warc.gz 文件,EMR

我一直在使用用Python编写的映射器和缩减器在AWS/EMR中运行流式处理步骤,以映射CommonCrawl中的一些文件以进行情绪分析。我正在从较旧的通用爬网textData格式迁移到较新的warc.gz格式,我需要知道如何为我的EMR输入指定一系列warc.gz文件。例如:在旧格式中,我可以这样指定文本数据文件的输入范围:s3://aws-publicdatasets/common-crawl/parse-output/segment/1341690165636/textData-000[0-9][0-9]但新格式看起来像这样:第一个文件:s3://aws-publicdatase

hadoop - 步骤因 exitCode、Amazon Emr Hadoop、S3DistCp 而失败

我正在尝试创建一个“步骤”并将许多小文件收集到一个文件中,这样我就可以将它分开几天。问题是我正在跑intetando却不让我跑。执行它对我来说效果很好命令:hadoopdistcps3n://buket-name/output-files-hive/*s3n://buket-name/files-hive/test但是如果我已经输入了命令“groupby”或“srcPattern”,它不会让我有任何东西。在AmazonEMR控制台中创建“步骤”后,始终出现错误。你指出了文件命令:awsemradd-steps--cluster-idj-XXXXXXX--stepsName="S3Dis

ruby - 如何通过 Ruby 连接到 Amazon EMR Hive?

我想从Ruby连接到AWSEMRHive实例。我找到了https://github.com/forward3d/rbhive,但不确定服务器地址是否与Hadoop服务器地址相同,也不确定Hive正在监听的端口。 最佳答案 对于AWSEMRHive,这是您连接到默认版本的方式。RBHive.tcli_connect('',10_000)do|connection|connection.fetch('SHOWTABLES')end并且Hive监听端口10000以获取Hive0.13.1版本。如果您想连接到不同的版本,请检查此链接。htt

java - 在 AWS EMR 中,我如何记录类路径以调试类加载器问题

我陷入了Classloaderhell-Hadoop(最高2.7.2)使用了过时版本的HttpClient(4.2.5)https://hadoop.apache.org/docs/r2.7.2/hadoop-mapreduce-client/hadoop-mapreduce-client-core/dependency-analysis.html这与我使用的HttpClient版本4.5.1冲突。我试图在我的EMR作业中首先加载用户类路径,但随后我在Codec类上发生冲突。我什至重写了类以使用旧版本(4.2.5),但仍然遇到一些冲突。在我的EMR作业中,如何打印StdOut/StdE

amazon-web-services - 由 s3 透明支持的 EMR hdfs

有了hadoop,我可以使用s3作为存储url。但目前我有很多使用hdfs://...的应用程序,我想将整个集群和应用程序迁移到EMR和s3。我是否必须将每个应用程序中的url从hdfs://...更改为s3://...或者是否可以以某种方式告诉EMR存储s3上的hdfs内容所以每个应用程序仍然可以使用hdfs://...但实际上它会指向s3?如果是,怎么办? 最佳答案 这是一个很好的问题。有协议(protocol)欺骗这样的东西吗?您真的可以通过编写覆盖协议(protocol)处理方式的内容来影响此行为吗?老实说,这种解决方案让我

hadoop - 用于 sqoop 导入的 Oozie 工作流在 Amazon emr hue 中失败

我创建了一个oozie工作流来执行从mysql到hive系统的sqoop导入。我用于创建sqoop作业的Sqoop作业成功运行,但是当我尝试执行作业以从MySQL导入Hive时,它​​失败了。这里我附上了日志sqoop--hive-import(失败的sqoop操作所做的)分两步发生。首先将sqoop导入到HDFS目录(我的xml中引用了targetDir)。然后将此sqoop导入的输出移动并导入到Hive中。当我通过oozie运行我的sqoop作业时,我在targetDir中看到一个_SUCCESS文件,表明sqoop导入成功。只有后期(第2步)失败了。我以hue用户身份运行Oozi

amazon-web-services - AWS EMR jupyter 密码

我正在使用EMR并想使用jupyter(ipython),所以我向集群添加了引导操作:s3://elasticmapreduce.bootstrapactions/ipython-notebook/install-ipython-notebook我执行了端口隧道以从我的本地主机访问jupyter并且工作正常,但它要求输入登录密码,尝试为空,尝试hadoop,但没有运气,有人知道jypyter密码是什么吗? 最佳答案 当我使用相同的引导操作时,我也遇到了这个问题。我试着加入Args=[--password,jupyter]我也无法工作