草庐IT

input-type-file

全部标签

hadoop - Amazon EMR 的 CLI 中如何指定多个文件为 "-files"?

我正在尝试通过amazonCLI启动amazon集群,但我有点困惑我应该如何指定多个文件。我目前的调用如下:awsemrcreate-cluster--stepsType=STREAMING,Name='Intracountrydevelopment',ActionOnFailure=CONTINUE,Args=[-files,s3://betaestimationtest/mapper.py,-files,s3://betaestimationtest/reducer.py,-mapper,mapper.py,-reducer,reducer.py,-input,s3://betae

file - 文件格式存储的最佳实践 (Hadoop)

我想获得有关数据格式的建议,尤其是将我的数据存储在HDFS中的最佳解决方案是什么。我收到了很多JSON和XML格式的消息。为了高效处理,我需要将这些文件转换为适合Hadoop的更好格式,并将它们存储在HDFS中。这些文件的架构不会随时间改变,并且这些文件可大可小(因此,经过一些研究,我认为最适合我的用例的格式是Avro(即使我不需要进行模式演化),因为它提供了压缩和可拆分性。但是,我不确定这个解决方案。感谢您的帮助:) 最佳答案 取决于您的需求:Avro是一种很好的存储文件的文件格式,因为它具有良好的压缩性,并且Avro可插入pig

apache-spark - HDFS 和 Spark : Best way to write a file and reuse it from another program

我有一些来自Spark应用程序的结果作为名为part-r-0000X(X=0、1等)的文件保存在HDFS中。而且,因为我想将所有内容加入到一个文件中,所以我使用了以下命令:hdfsdfs-getmergesrcDirdestLocalFile前面的命令在bash脚本中使用,该脚本清空输出目录(保存part-r-...文件的位置),并在循环内执行上面的getmerge命令。问题是我需要在另一个Spark程序中使用生成的文件,该程序需要将该合并文件作为HDFS的输入。所以我将其保存为本地,然后将其上传到HDFS。我想到了另一种选择,即以这种方式从Spark程序写入文件:outputData

Hadoop 'put' 命令 : No such file or directory

我尝试将文本文件添加到HDFS文件系统,但Hadoop拒绝了它并显示错误消息“没有这样的文件或目录”。$bin/hdfsdfs-put/home/NDelt/Datasets/SampleText.txt/home/NDelt/HadoopDir/hdataput:`/home/NDelt/HadoopDir/hdata':Nosuchfileordirectory:`hdfs://localhost:9000/home/NDelt/HadoopDir/hdata'但是SampleText.txt和hdata目录的路径是正确的。有什么问题?这是我的hdfs-site.xml文件:dfs

hadoop - 使用 Pig 加载 Hbase 表。 float 给出 FIELD_DISCARDED_TYPE_CONVERSION_FAILED

我有一个通过HBaseJavaapi加载的HBase表,如下所示:put.add(Bytes.toBytes(HBaseConnection.FAMILY_NAME),Bytes.toBytes("value"),Bytes.toBytes(value));(其中变量value是一个普通的javafloat。)我继续使用Pig加载它,如下所示:raw=LOAD'hbase://tableName'USINGorg.apache.pig.backend.hadoop.hbase.HBaseStorage('family:value','-loadKeytrue-limit5')AS(id

hadoop - MapReduce 与 Hadoop : Type mismatch in key from map

我正在运行一个简单的wordcount程序,但出现以下错误:Typemismatchinkeyfrommap:expectedorg.apache.hadoop.io.Text,receivedorg.apache.hadoop.io.LongWritable这是什么意思,我该如何纠正? 最佳答案 您可以在主函数中使用以下任一行:conf.setMapOutputKeyClass(Text.class);conf.setMapOutputValueClass(IntWritable.class);假设您正在使用JobConfconf

hadoop - Input Split 大小是常量还是取决于逻辑记录?

Hadoop权威指南说:WhenyouhaveMinimumsplitsize1,MaximumsplitsizeLong.MAX_VALUE,Blocksize64MBthentheSplitsizeis64MB.TextInputFormat的逻辑记录是行。由于每行长度不同,我们如何才能将大小拆分为恰好64MB? 最佳答案 HDFSblock是字节序列。他们不知道线条或任何其他结构。所以你可能有一个只有一个block(当然大小为64MB)的分割,在一行的中间结束(即不包括整个最后一行)。当您使用TextInputFormat读取

Hadoop 映射器 : Appropriate input files size?

我的集群HDFSblock大小为64MB。我有包含100个纯文本文件的目录,每个文件的大小为100MB。作业的InputFormat是TextInputFormat。将运行多少个映射器?我在HadoopDeveloper考试中看到了这个问题。答案是100。其他三个答案选项是64、640、200。但我不确定100是怎么来的,或者答案是错误的。请指导。提前致谢。 最佳答案 我同意你的判断,这似乎是错误的当然除非有更多的考试问题没有发布:这些“纯”文本文件是否经过gzip压缩-在这种情况下它们不可拆分?)簇分割大小可能是64MB,但输入文

hadoop - pig : Splitting large large file into multiple smaller files

我需要拆分由另一个Pig脚本生成的输出部分文件,并生成每个包含1000行的组。这些组将发布到网络服务以供进一步处理。数据之间没有关系,所以我无法将数据分组到特定字段。我如何在Pig中执行此操作? 最佳答案 如果拆分与数据无关,为什么还要使用Pig或MapReduce?作为替代方案,如果我没有误解的话,您可以只使用标准拆分程序来拆分数据。例如:catpart-*|split-d-l1000-result- 关于hadoop-pig:Splittinglargelargefileintomu

java - Hadoop 错误 : type mismatch in write method

我刚刚编写了一个简单的hadoop程序,我正在尝试使用AES算法加密文本文件。我在我的map方法中一行一行地读取,加密并写入上下文。很简单。我在我的map方法中进行加密并使用行偏移量作为key,所以我不需要reducer类。这是我的代码:publicclassEnc{publicstaticclassMapextendsMapper{privateTextword=newText();publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{Stringst