草庐IT

hadoop-mapreduce

全部标签

hadoop - 如何获取 hdfs 文件上最后添加的数据?

我有数据以一定的速度传输到HDFS文件中。我有一个建立在它之上的外部配置单元表。Data有一个timestamp列和一个int列。每5分钟,将添加一行。我有一个JDBC程序,如果int列值是否超过限制,它需要检查最后添加的行。我以为我会为新的时间戳写一个搜索查询,获取行并检查它的int列值。但是,它遍历整个表以搜索最后附加的行。我可以在时间戳列上创建索引。有没有其他方法可以检索最近添加的数据,这样性能就不会下降? 最佳答案 按日期(例如load_date)对表进行分区,您可以使用date()函数从时间戳字段中导出日期。当然,您还需要

hadoop - 失败 : Execution Error, 在配置单元中的连接操作期间从 org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask​​ 返回代码 2

我正尝试在配置单元中对以下两个表运行连接查询-selectb.locationfromuser_activity_ruleainnerjoinuser_info_rulebwherea.uid=b.uidanda.cancellation=true;QueryID=username_20180530154141_0a187506-7aca-442a-8310-582d335ad78dTotaljobs=1OpenJDK64-BitServerVMwarning:ignoringoptionMaxPermSize=512M;supportwasremovedin8.0Executionl

hadoop - Hadoop 为什么选择MapReduce 作为计算引擎?

我知道MapReduce(MR)是Hadoop的三大核心框架之一,我熟悉它的mapper-shuffle-reducer进度。我的问题可以分为两部分:1)是什么让MR对Hadoop如此独特?为什么其他计算算法不如此?2)其他语言(例如:shell、python)的计算部分是如何工作的?它们的计算过程是否与MR类似? 最佳答案 “分而治之”是处理数据集的一种非常强大的方法。MapReduce提供了一种读取大量数据的方法,但以可扩展的方式分配工作负载。通常,即使是非结构化数据也有办法从原始文件中分离出单独的“记录”,而Hadoop(或其

apache-spark - 为什么在 hadoop 上使用 H2O 时在 Yarn 中看不到具体的任务执行?

我按照官方要求在yarn上运行了H2O:http://h2o-release.s3.amazonaws.com/h2o/rel-wolpert/11/index.html这是我的命令:cd~/opt/h2o-3.18.0.8-hdp2.6hadoopjarh2odriver.jar-nodes1-mapperXmx6g-output/user/spark/h2o-3_output而且h2o集群运行成功。但是我在h2o-flow中运行exampleflow之后,并没有看到任何与GBM算法相关的计算,只有H2O本身。我想我会看到这样的东西。这是使用RapidMiner的决策树流程图的结果,

Java 序列化 vs Hadoop 序列化 vs Spark 序列化

我研究过Java的Serialization和Deserialization过程,并试图理解Hadoop和Spark还有。谁能告诉我Hadoop、Spark和Java的序列化过程之间的区别。 最佳答案 Hadoop有自己的序列化接口(interface)(Writable),旨在让产生的垃圾尽可能少。当mapper或reducer运行时,实现它的对象是可变的和重用的,从而进一步减少了垃圾量。此外,经过适当设计的Writable可以由不同版本的代码编写,解决了Serializable的固有问题。Spark没有自己的序列化,默认使用原生

maven - 为什么在 Hadoop 3.1.0 中删除了 DFSInotifyEventInputStream?

我正在使用DFSInotifyEventInputStream来监视HDFS中的事件。我有一个Maven项目,我在其中导入了hadoop-hdfs和hadoop-common。如果我在两个依赖项上都使用版本2.7.1,则会正确找到DFSInotifyEventInputStream。然而,在最新版本的hadoop(3.1.0)中,这个类是缺失的。为什么会这样? 最佳答案 看着:HDFS-8053-将DFSIn/OutputStream和相关类移动到hadoop-hdfs-client您应该导入hadoop-hdfs-client。J

hadoop - 如何从 guest 操作系统打开 Hue 门户?

我已经在virtualbox中安装了hadoop的clouderadist。guest操作系统是Mac操作系统。我可以通过ssh连接到vm并通过scp发送文件。如果VM的ip是19.168.1.1,我如何从Mac打开Hue门户?我使用的是4GBmacair,它在VM中非常慢。尝试启动http://192.168.1.1:8888,但它没有打开。 最佳答案 您必须通过ClouderaManager启动Hue服务(这需要至少6GB的VM,我相信从桌面上的ClouderaExpress图标启动)上次我使用CDH时,默认情况下没有Hadoo

java - Hadoop 的命令 start-dfs.sh 显示一个奇怪的错误

当我尝试运行下面的命令时,弹出一个错误Alis-Mac:hadoop-2.7.3naziaimran$sbin/start-dfs.sh错误如下,2018-06-0501:04:31.424java[1879:21215]UnabletoloadrealminfofromSCDynamicStore18/06/0501:04:31WARNutil.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...usingbuiltin-javaclasseswhereapplicableStartingnamenod

hadoop - Mapreduce 作业消耗更多资源和更改队列

我有一个运行超过1.7亿条记录的MapReduce作业。这导致消耗了98%的队列资源和89%的集群资源。管理团队建议他们创建配置有限的新队列,我应该将我的工作推送到该队列中。这里有问题,我有:-1-我怎样才能将我的mapreduce作业(“hadoopjar”)推送到新队列并进行最少的更改?2-由于新创建的队列资源有限,如果队列容量已满怎么办?它会导致长期运行或作业失败吗?3-是否有任何其他最佳方法来防止作业消耗所有资源,如果作业运行时间稍长一点,我们就可以接受。请指教。任何帮助都会很棒。 最佳答案 如果您正在使用容量/公平份额调度

hadoop - Cloudera hadoop数据存储到特定节点

我有10个amazonec2节点集群用于每天的数据处理,我想将所有10个节点用于每天的批处理(仅处理2小时),一旦生成报告数据点,我想关闭5节点,并在一天的其余时间仅使5个节点处于事件状态以进行成本优化。我的复制因子是3。在某些情况下,所有3个数据block(实际和复制block)都存储在我正在关闭的那5个节点中。因此我无法正确读取数据。我能否在cloudera管理器中进行一些设置以将特定数据库或特定表持久保存到给定节点中,这样我在只有5个事件节点时读取数据时不会有任何问题。或任何其他建议将不胜感激。 最佳答案 您可以使用机架感知(