草庐IT

sql - 通过选择在 Hive 中插入值

我正在尝试在配置单元列中插入某些派生值,并想知道为什么它不起作用。我的代码如下。Insertintomonthasselectmonth(datestamp)asmonthfromgc_1;此处month列已存在,其中包含NULL值,gc_1是表名。我不确定是否可以使用month、date等函数从另一列添加到hive中。 最佳答案 从你的问题来看,我认为你正在努力实现以下目标:有一个名为gc_1的表,其中已经存在一个名为datestamp的列,它可能包含一个日期适合作为month函数参数的字符串。然后您想在gc_1中创建一个名为mo

scala - 基于级联的烫伤(旧版本)计数器

在scalding的旧版本中,其API中仍然没有引入计数器。HadoopCountersInScalding建议如何在烫伤中回退到级联计数器defaddCounter(pipe:Pipe,group:String,counter:String)={pipe.each(()->('addCounter))(fields=>newBaseOperation[Any](fields)withFunction[Any]{defoperate(flowProcess:FlowProcess[_],functionCall:FunctionCall[Any]){try{flowProcess.as

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");并将数据加