草庐IT

shell - 如何分离文件和目录以便我可以对文件执行某些操作/处理?

我使用以下命令从给定目录列出所有文件和目录。`hadoopdfs-lsr`这个列表文件和目录drwxrwxrwx-rootxyz02014-10-0918:39-rw-rw-rw-3rootxyz1339985122015-04-0803:36我想要一个脚本来获取这些输出并仅过滤文件路径。我相信只看每行的第一个字符就足够了drwxrwxrwx和-rw-rw-rw-但我不知道如何为它编写脚本。可能我需要学习awk。 最佳答案 是的,您可以为此使用AWK。hadoopdfs-lsr|awk'{if($1!~/d.*/){print$0;

java - 如何在 MapReduce 作业开始使用 JobControl 之前执行操作

我有JobControl控制n个作业链。for(inti=0;i我只想在每个作业开始之前清理输出目录;但在作业初始化时不得清除目录。我目前的解决方案是将清除代码放入映射阶段,这会大大减慢执行速度。publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{FileSystemfs=FileSystem.get(context.getConfiguration());if(fs.exists(newPath(context.getConfiguration().

hadoop - "Unexpected Error"加入 2 个简单表

我已经创建了一个配置单元数据库。我使用HortonworksODBC驱动程序为Hive创建了一个ODBC数据源。我使用来自Tableau9(桌面)的数据源。我可以查询表DimA,我可以查询表FactA。但是在tableau中,如果我尝试进行连接,则会出现错误[Hortonworks][HiveODBC](35)ErrorfromHive:errorcode:'0'errormessage:'ExecuteStatementfinishedwithoperationstate:ERROR_STATE'.UnexpectedError我可以轻松地转到我的集群并在hiveshell中发出相同

hadoop - 执行查询时hadoop如何处理ram?

在像mysql这样的关系数据库模型中,当用户向数据库发送查询时,如“SELECTmessage.message_idFROMmessage”,整个​​表'message'加载到RAM中。当表非常大并且服务器没有足够的内存时,mysql崩溃。抱歉我的问题。我不知道如何描述我的问题。我在大学的数据库类(class)要求搜索有关hadoop如何处理表以及查询发送到数据库并且hadoop尝试执行查询时的查询 最佳答案 由于这是家庭作业,我不会完全回答您的问题,但我会为您指明正确的方向。在传统的关系数据库(MySQL、PostgreSQL、S

hadoop - 没有 YARN 的 MapReduce 2

考虑到YARN是运行mapreduce2的更好选择这一事实,但是是否可以在没有YARN的情况下运行MR2?我尝试使用MR2,但它与YARN一起运行。 最佳答案 MRv2实际上是YARN!所以,不,你不能在没有YARN的情况下运行mapreduce2作业!Officialdocumentation:ApacheHadoopNextGenMapReduce(YARN)MapReducehasundergoneacompleteoverhaulinhadoop-0.23andwenowhave,whatwecall,MapReduce2.

hadoop - 我如何拥有多个映射器和缩减器?

我有这段代码,我在其中设置了一个映射器和一个缩减器。我想再包含一个映射器和一个缩减器来完成进一步的工作。问题是我必须将第一个mapreduce作业的输出文件作为下一个mapreduce作业的输入。是否可以这样做?如果是,我该怎么做?publicintrun(String[]args)throwsException{JobConfconf=newJobConf(getConf(),DecisionTreec45.class);conf.setJobName("c4.5");//thekeysarewords(strings)conf.setOutputKeyClass(Text.clas

java - 在 MapReduce 中处理用户输入字符串

我开始使用MapReduce的Hadoop变体,因此对来龙去脉一无所知。我理解它在概念上应该如何运作。我的问题是在我提供的一堆文件中找到特定的搜索字符串。我对这些文件不感兴趣-已排序。但是你会如何征求意见呢?您会在程序的JobConf部分提问吗?如果是这样,我如何将字符串传递到作业中?如果它在map()函数中,您将如何实现它?它不会在每次调用map()函数时只要求搜索字符串吗?下面是主要方法和JobConf()部分,您应该可以了解一下:publicstaticvoidmain(String[]args)throwsIOException{//Thisproducesanoutputfi

hadoop - 如何Hadoop Map Reduce整个文件

我玩过各种流映射减少字数统计示例,其中Hadoop/Hbase似乎采用大文件并在节点之间平均拆分(在换行符处)。然后它将部分文档的每一行提交到我的代码的map部分。我的问题是,当我有很多小的非结构化和半结构化文档时,如何让Hadoop将整个文档提交到我的map代码? 最佳答案 文件拆分由InputFormat.getSplits计算。因此,对于每个输入文件,它都会获得拆分数,并且每个拆分都会提交给映射器。现在基于InputFormatMapper将处理输入拆分。我们有不同类型的输入格式,例如TextInputFormat,它将文本文

hadoop - 节点管理器是否在每个 DataNode 内部执行 Map 和 Reduce 阶段?

我了解资源管理器将MapReduce程序发送到每个节点管理器,以便MapReduce在每个节点中执行。但是在看到这张图片之后,我对实际Map&Reduce作业的执行位置以及数据节点之间的洗牌如何发生感到困惑?难道不是花时间对不同数据节点的数据进行排序和混洗/发送数据来执行ReduceJob吗?请解释一下。另外请告诉我什么是图中的MapNode和ReduceNode。图片来源:http://gppd-wiki.inf.ufrgs.br/index.php/MapReduce 最佳答案 inputsplit是存储在hdfs上的文件的逻辑

sql - 如何在配置单元中选择计数和文字值

为什么此查询返回错误。我试图将表的代码作为常量字符串加载,数据的标志再次作为常量字符串,插入时间和表的计数。我想,让我在编写插入内容之前尝试运行secelct。但出于某种原因,它无法列出我试图从中获取计数的表中的列名。我只需要两个常量值,一个日期和一个计数。也尝试删除groupby,引发另一个错误。hive-e“选择“WEB”作为src_cd,“1Hr”作为Load_Flag,from_unixtime((unix_timestamp(substr(sysDate,0,11),'dd/MMM/yyyy')),'MM/dd/yyyy')作为时间,计数(*)来自博客其中年=2015月=04