草庐IT

HADOOP_PREFIX

全部标签

hadoop - 在 MapReduce 中因为/n 读取被分解成两行的记录

我正在尝试编写一个自定义阅读器,用于读取具有定义字段数的记录(位于两行中)。例如1,2,3,4(","canbethereornot),5,6,7,8我的要求是读取记录并将其作为单个记录推送到映射器中,如{1,2,3,4,5,6,7,8}。请提供一些意见。更新:publicbooleannextKeyValue()throwsIOException,InterruptedException{if(key==null){key=newLongWritable();}//Currentoffsetisthekeykey.set(pos);if(value==null){value=newT

hadoop - Apache Hadoop(大数据)

在hadoop中,数据被分成64mb或128mb的block。假设我有一个大小为70mb的文件。它是否分成两个block64mb和6mb。如果是这样,第二个block只占用了6mb,该block中的其他空间是被浪费了还是被另一个block占用了? 最佳答案 在hadoop中,block大小可以由通过dfs.blocksize属性写入hdfs的应用程序选择:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml对于应该

hadoop - 语义异常 [错误 10007] : Ambiguous column reference _c1

我在配置单元查询中使用四级嵌套时遇到问题。以下是我正在执行的查询-SELECT*,SUM(qtod.amount)OVER(PARTITIONBYqtod.id,qtod.year_begin_dateORDERBYqtod.tran_date)FROM(SELECT*,SUM(mtod.amount)OVER(PARTITIONBYmtod.id,mtod.quarter_begin_dateORDERBYmtod.tran_date)FROM(SELECT*,SUM(wtod.amount)OVER(PARTITIONBYwtod.id,wtod.month_begin_dateO

python - 使用 Bash 的 Hadoop 流式传输——有多慢?

我从几篇文章中听说,使用bash的Hadoop流式处理比编译代码或python慢得多。这仅适用于排序命令等吗?我的脚本需要-复制文件到节点-onnode以文件作为参数执行商业程序-将输出传回文件夹我的直觉告诉我,这应该与编译版本的速度相似。会是吗? 最佳答案 HadoopStreaming被认为速度慢的主要思想是,对于mapper和reducer,你必须通过标准输入传递参数,这意味着你必须将它们序列化为文本,并获得mapper和reducer的输出您必须将它们从文本反序列化回Java结构,这通常会消耗很多时间。如果您有第三方编译的应

hadoop - 在 Hadoop 中使用 SequenceFile 而不是文本文件的原因

使用SequenceFile而不是文本文件的原因是什么?我猜它们很好,因为输入/输出是序列化的,而不是解析一个对象,如果一个对象需要多次使用的话。另外,我读到它执行文件压缩,因此它占用的空间更少,并且将许多小文件聚合成一个大文件很好。这个论点有效吗?还有什么? 最佳答案 二进制数据(如在SequenceFiles中)通常比文本数据(TextFiles)更紧凑,即使没有显式压缩也是如此。因此需要从硬盘读取/写入硬盘的数据更少。空间节省取决于写入的数据。读取二进制数据的CPU效率高于字符串解析。但是,SequenceFiles不能被人类

hadoop中的JAVA路径错误

我在观看youtube视频时安装了hadoop。当我尝试在终端中运行它时,它给了我这个错误$/usr/local/hadoop-2.6.0/bin/hadoopversion/usr/local/hadoop-2.6.0/bin/hadoop:line144:/usr/iib/java/jdk1.8.0_31/bin//bin/java:Nosuchfileordirectory我在/usr/lib/java/jdk1.8.0_31/bin/中有java,但我不知道为什么错误显示不同的路径。我已经在hadoop-env.sh中设置了这样的路径JAVA_HOME=/usr/iib/jav

hadoop - 如何用 pig latin 压平和减去列

我刚学pig;我怎么能接受这个:((a,b),c,(x,y),z)得到这样的东西:(a,b,c,x,y,z,ABS(c-z)) 最佳答案 和你写的差不多。A=load'foobar'as(t:((a:double,b:double),c:double,(x:double,y:double,)z:double));B=foreachAgenerateflatten(t);C=foreachBgeneratea,b,c,x,y,z,ABS(c-z);我假设double作为值的数据类型。不能100%确定展平,这取决于您的确切模式,这可能会

hadoop - 在配置单元中执行插入覆盖查询时出错

我使用的是hadoop1.2、hbase0.94.8和hive0.14。我正在尝试使用配置单元将数据插入到hbase表中。我已经创建了表:CREATETABLEhbase_table_emp(idint,namestring,rolestring)STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITHSERDEPROPERTIES("hbase.columns.mapping"=":key,cf1:name,cf1:role")TBLPROPERTIES("hbase.table.name"="emp");并将数据加

java - 将输入数据动态添加到 Hadoop Map-Reduce 作业?

我能否在运行时将输入文件或输入数据附加到map-reduce作业而不创建竞争条件? 最佳答案 我认为理论上你可以在输入中添加更多文件,只要它:匹配您的FileInputFormat模式发生在InputFormat.getSplits()调用之前,这确实让您在提交作业后的时间很短。关于计算拆分后的竞争条件,请注意附加到现有文件仅在版本0.21.0之后可用。.即使您可以修改您的文件,您的分割点也已经预先计算好了,而且您的新数据很可能不会被映射器获取。不过,我怀疑这会导致您的流程崩溃。您可以尝试的是禁用文件内的拆分(即为每个文件分配一个映

java - 即使将库添加到 hadoop 文件夹后也找不到 BSONFileInputFormat

我正在使用crcmnky的存储库处理电影推荐工作。https://github.com/crcsmnky/mongodb-spark-demo我编译了mongo-hadoop和mongo-java-driver并存储了jar:mongo-hadoop-core-1.3.2-SNAPSHOT和mongo-java-driver-2.13.3.jar在$HADOOP_HOME/lib文件夹中。完成所有这些之后,我构建了项目并按照README文件中的给定说明运行它。我收到错误:Exceptioninthread"main"java.lang.NoClassDefFoundError:com/