草庐IT

input_text

全部标签

java - 链接两个作业时 hadoop.mapreduce.lib.input.FileInputFormat.getBlockIndex 中的 NullPointerException

我正在尝试构建倒排索引。我链接了两个作业。基本上,第一个作业解析输入并对其进行清理,并将结果存储在文件夹“output”中,该文件夹是第二个作业的输入文件夹。第二个工作应该实际构建倒排索引。当我刚找到第一份工作时,它工作得很好(至少,没有异常(exception))。我像这样链接两个作业:publicclassMain{publicstaticvoidmain(String[]args)throwsException{StringinputPath=args[0];StringoutputPath=args[1];StringstopWordsPath=args[2];Stringfi

java - 错误 : java. io.IOException : wrong value class: class org. apache.hadoop.io.Text 不是类 Myclass

我的映射器和缩减器如下。但是我遇到了一些奇怪的异常。我不明白为什么会抛出这种异常。publicstaticclassMyMapperimplementsMapper{@Overridepublicvoidmap(LongWritablekey,Textvalue,OutputCollectoroutput,Reporterreporter)throwsIOException{Texttext=newText("someText")//processoutput.collect(text,infoObjeject);}}publicstaticclassMyReducerimplemen

python - 具有 python 转换功能的配置单元 : "cannot recognize input near ' transform'"error

我有一个Hive表,用于跟踪对象在流程各个阶段移动时的状态。该表如下所示:hive>descjourneys;object_idstringjourney_statusesarray这是一个典型的记录示例:12345678["A","A","A","B","B","B","C","C","C","C","D"]表中的记录是使用Hive0.13的collect_list生成的,状态有顺序(如果顺序不重要,我会使用collect_set).对于每个object_id,我想缩写旅程以按它们出现的顺序返回旅程状态。我编写了一个从标准输入读取的快速Python脚本:#!/usr/bin/envp

hadoop - pig : Force one mapper per input line/row

我有一个PigStreaming作业,其中映射器的数量应等于输入文件中的行数。我知道那个设定setmapred.min.split.size16setmapred.max.split.size16setpig.noSplitCombinationtrue将确保每个block为16个字节。但是我如何确保每个map作业都只有一行作为输入?这些行的长度是可变的,因此对mapred.min.split.size和mapred.max.split.size使用常量不是最佳解决方案。这是我打算使用的代码:input=load'hdfs://cluster/tmp/input';DEFINECMD`

hadoop - 这对 Text.hashCode() 和 Interger.MAX_VALUE 意味着什么?

最近在看hadoop的权威指南。我有两个问题:1.看到一段自定义Partitioner的代码:publicclassKeyPartitionerextendsPartitioner{@OverridepublicintgetPartition(TextPairkey,Textvalue,intnumPartitions){return(key.getFirst().hashCode()&Interger.MAX_VALUE)%numPartitions;}}这对&Integer.MAX_VALUE意味着什么?为什么要使用&运算符?2.我还想为IntWritable编写一个自定义分区程序

hadoop - 配置单元失败 : ParseException line 2:0 cannot recognize input near '' macaddress '' ' CHAR' '(' in column specification

我试过运行hive-v-fsqlfile.sql文件内容如下CREATETABLEUpStreamParam('macaddress'CHAR(50),'datats'BIGINT,'cmtstimestamp'BIGINT,'modulation'INT,'chnlidx'INT,'severity'BIGINT,'rxpower'FLOAT,'sigqnoise'FLOAT,'noisedeviation'FLOAT,'prefecber'FLOAT,'postfecber'FLOAT,'txpower'FLOAT,'txpowerdrop'FLOAT,'nmter'FLOAT,'

input - hadoop可以从多个目录和文件中获取输入吗

因为我将fileinputFormat设置为hadoop输入。arg[0]+"/*/*/*"表示不匹配任何文件。我想要的是从多个文件中读取:Directory1---Directory11---Directory111--f1.txt--f2.txt---Directory12Directory2---Directory21在Hadoop中可以吗?谢谢! 最佳答案 您可以使用*****运算符从多个目录和文件获取输入。很可能是因为“arg[0]”参数不正确,因此找不到文件。作为替代方案,您也可以使用InputFormat.addInp

java - 象夫 : To read a custom input file

我在玩Mahout,发现FileDataModel接受以下格式的数据userId,itemId,pref(long,long,Double).我有一些格式的数据String,long,double在Mahout上使用此数据集的最佳/最简单方法是什么? 最佳答案 一种方法是创建FileDataModel的扩展.您需要覆盖readUserIDFromString(Stringvalue)使用某种解析器进行转换的方法。您可以使用IDMigrator的实现之一。,正如肖恩建议的那样。例如,假设您有一个已初始化的MemoryIDMigrato

hadoop - HDFS 错误放置 : `input' : No such file or directory

我已经安装了hadoop2.6.0,并且正在试用它。我正在尝试伪分布式设置,并按照http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Execution上的说明进行操作我卡在了第5步,即当我运行命令时bin/hdfsdfs-putetc/hadoopinput我收到以下错误。15/02/0200:35:49WARNutil.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...u

java - Hadoop : Provide directory as input to MapReduce job

我正在使用ClouderaHadoop。我能够运行简单的mapreduce程序,我提供一个文件作为MapReduce程序的输入。此文件包含所有其他要由mapper函数处理的文件。但是,我卡在了一点。/folder1-file1.txt-file2.txt-file3.txt如何将MapReduce程序的输入路径指定为"/folder1",以便它可以开始处理该目录中的每个文件?有什么想法吗?编辑:1)首先,我提供了inputFile.txt作为mapreduce程序的输入。它运行良好。>inputFile.txtfile1.txtfile2.txtfile3.txt2)但是现在,我不想提