我尝试过使用简单的Map/Reduce任务Amazon Elastic MapReduce,只需3分钟即可完成任务.是否可以重用同一个实例来运行另一个任务.
即使我刚刚使用该实例3分钟亚马逊将收取费用1 hr,所以我想使用余额57分钟来运行其他几项任务.
已解决:请参阅下面的更新#2以了解此问题的"解决方案".
~~~~~~~
在s3中,我有一些log*.gz文件存储在嵌套目录结构中,如:
s3://($BUCKET)/y=2012/m=11/d=09/H=10/
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用多级分区规范将这些加载到Hlastic on Elastic Map Reduce(EMR)上,例如:
create external table logs (content string)
partitioned by (y string, m string, d string, h string)
location 's3://($BUCKET)';
Run Code Online (Sandbox Code Playgroud)
创建表工作.然后我尝试恢复所有现有分区:
alter table logs recover partitions;
Run Code Online (Sandbox Code Playgroud)
这似乎工作,它确实钻取我的s3结构并添加所有不同级别的目录:
hive> show partitions logs;
OK
y=2012/m=11/d=06/h=08
y=2012/m=11/d=06/h=09
y=2012/m=11/d=06/h=10
y=2012/m=11/d=06/h=11
y=2012/m=11/d=06/h=12
y=2012/m=11/d=06/h=13
y=2012/m=11/d=06/h=14
y=2012/m=11/d=06/h=15
y=2012/m=11/d=06/h=16
...
Run Code Online (Sandbox Code Playgroud)
因此,Hive似乎可以成功查看和解释我的文件布局.但是,没有实际数据被加载.如果我尝试做一个简单的计数或选择*,我什么都得不到:
hive> select count(*) from logs;
...
OK
0
hive> select * from logs limit 10;
OK
hive> select * from logs where y = '2012' and m = '11' …Run Code Online (Sandbox Code Playgroud) hadoop hive amazon-s3 amazon-web-services elastic-map-reduce
我正在Amazon Elastic MapReduce上运行大型(超过100个节点)系列的mapreduce作业.
在reduce阶段,已经完成的map任务会随之失败
Map output lost, rescheduling: getMapOutput(attempt_201204182047_0053_m_001053_0,299) failed :
java.io.IOException: Error Reading IndexFile
at org.apache.hadoop.mapred.IndexCache.readIndexFileToCache(IndexCache.java:113)
at org.apache.hadoop.mapred.IndexCache.getIndexInformation(IndexCache.java:66)
at org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:3810)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
at org.apache.hadoop.http.HttpServer$QuotingInputFilter.doFilter(HttpServer.java:835)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:180)
at java.io.DataInputStream.readLong(DataInputStream.java:399)
at org.apache.hadoop.mapred.SpillRecord.<init>(SpillRecord.java:74)
at org.apache.hadoop.mapred.SpillRecord.<init>(SpillRecord.java:54)
at org.apache.hadoop.mapred.IndexCache.readIndexFileToCache(IndexCache.java:109)
... 23 more
Run Code Online (Sandbox Code Playgroud)
映射器针对这种情况的比例很少,足,我不会介意,只是当它,减速机全部暂停,等待1地图任务重新运行所以整个工作一直暂停,每次1-5分钟. …
hadoop jetty amazon-web-services amazon-emr elastic-map-reduce
我们想在我们当前的数据库之上使用Amazon Elastic MapReduce(我们在EC2上使用Cassandra).查看Amazon EMR常见问题解答,应该可以: Amazon EMR常见问题解答:问:我可以从Internet或Amazon S3以外的其他地方加载数据吗?
但是,在创建新作业流时,我们只能将S3存储桶配置为输入数据源.
关于如何做到这一点的任何想法/样本?
谢谢!
PS:我已经看到了这个问题如何使用Elastic MapReduce的外部数据,但答案并没有真正解释如何进行/配置它,只是有可能.
我已经为自己设置了Amazon Elastic MapReduce,以便执行各种标准的机器学习任务.我过去曾广泛使用Python进行本地机器学习,而且我不懂Java.
据我所知,没有用于分布式机器学习的完善的Python库.另一方面,Java有Apache Mahout和最近来自Cloudera的Oryx.
基本上我似乎必须在两个选项之间进行选择.通过并行化自己的算法来使用Hadoop流式传输或Hadoop的Python包装器之间的Slog,直到存在体面的库或跳转到Java以便我可以使用Mahout/Oryx.编写自己的MapReduce字数统计代码和编写自己的MapReduce SVM之间存在着天壤之别!即使与像伟大的教程帮助这个.
我不知道哪个是更明智的选择,所以我的问题是:
A)是否有一些我错过的Python库有用?如果没有,你知道在不久的将来是否有任何开发项目有用吗?
B)如果上面的答案是否定的,那么我的时间会更好地花在跳船上去Java吗?
主要问题:如何在python和scikit-learn中组合不同的randomForests?
我目前正在使用R中的randomForest包来使用弹性贴图reduce生成randomforest对象.这是为了解决分类问题.
由于我的输入数据太大而无法放入一台机器的内存中,因此我将数据采样为较小的数据集并生成包含较小树集的随机林对象.然后,我使用修改的组合函数将不同的树组合在一起,以创建新的随机森林对象.此随机林对象包含特征重要性和最终树集.这不包括oob错误或树的投票.
虽然这在R中运行良好,但我想在Python中使用scikit-learn做同样的事情.我可以创建不同的随机森林对象,但我没有办法将它们组合在一起形成一个新对象.任何人都可以指出一个可以结合森林的功能吗?这可能是使用scikit-learn吗?
以下是关于如何在R中进行此过程的问题的链接:在R中组合使用不同训练集构建的随机森林.
编辑:生成的随机森林对象应包含可用于预测的树以及特征重要性.
任何帮助,将不胜感激.
我注意到mrjob和boto都不支持在Amazon Elastic MapReduce(EMR)上提交和运行Hive作业的Python接口.是否有其他支持在EMR上运行Hive的Python客户端库?
我是亚马逊服务的新手.我在创建工作流程方面遇到了问题.每当我创建任何作业流程时,它都会失败或关闭.输入,输出或映射函数上传技术对我来说并不清楚.我已经关注了开发人员部分,但事情并没有明确.任何建议都会有所帮助.提前致谢.
错误日志是
Last State Change: No active keys found for user account
Run Code Online (Sandbox Code Playgroud) 根据http://blog.cloudera.com/blog/2014/04/apache-hadoop-yarn-avoiding-6-time-consuming-gotchas/,确定每个节点并发运行任务数的公式为:
min (yarn.nodemanager.resource.memory-mb / mapreduce.[map|reduce].memory.mb,
yarn.nodemanager.resource.cpu-vcores / mapreduce.[map|reduce].cpu.vcores) .
Run Code Online (Sandbox Code Playgroud)
但是,将这些参数设置为(对于c3.2xlarges的集群):
yarn.nodemanager.resource.memory-mb = 14336
mapreduce.map.memory.mb = 2048
yarn.nodemanager.resource.cpu-vcores = 8
mapreduce.map.cpu.vcores = 1,
我发现当公式显示7应该是每个节点时,我只能同时运行4个任务.这是怎么回事?
我在AMI 3.1.0上运行Hadoop 2.4.0.
amazon-web-services elastic-map-reduce hadoop-streaming hadoop-yarn hadoop2
在尝试在AWS EMR集群上使用Spark时,我最近遇到了一些问题.
我正在使用以下内容创建集群:
./elastic-mapreduce --create --alive \
--name "ll_Spark_Cluster" \
--bootstrap-action s3://elasticmapreduce/samples/spark/1.0.0/install-spark-shark.rb \
--bootstrap-name "Spark/Shark" \
--instance-type m1.xlarge \
--instance-count 2 \
--ami-version 3.0.4
Run Code Online (Sandbox Code Playgroud)
问题是每当我尝试从S3获取数据时,我都会遇到异常.所以,如果我启动spark-shell并尝试类似:
val data = sc.textFile("s3n://your_s3_data")
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
WARN storage.BlockManager: Putting block broadcast_1 failed
java.lang.NoSuchMethodError:
com.google.common.hash.HashFunction.hashInt(I)Lcom/google/common/hash/HashCode;
Run Code Online (Sandbox Code Playgroud) hadoop ×4
python ×3
amazon-ec2 ×2
amazon-s3 ×2
hive ×2
mapreduce ×2
amazon-emr ×1
apache-spark ×1
boto ×1
cassandra ×1
emr ×1
hadoop-yarn ×1
hadoop2 ×1
jetty ×1
r ×1
scikit-learn ×1