草庐IT

max_split_size_mb

全部标签

hadoop - hive - Split 函数中的正则表达式不提供输出

输入:[a,b],[c,d],[e,f]selectsplit(col,'\\,')fromtable_1;通过上面的查询,我可以在每个逗号上进行拆分。(大括号内外)我只需要在大括号外的逗号处进行拆分。所以我按如下方式更改了查询。selectsplit(col,',(?=\[)')fromtable_1;据我所知,我使用的正则表达式是正确的,但无法获得输出。需要的输出:"[a,b]","[c,d]","[e,f]" 最佳答案 看起来你的数据之间有一个空格,所以试试这个正则表达式:,\\s(?=\\[)编辑:所以,我不确定你的列中是否

Hadoop 流与 Python : splitting input files manually

我是Hadoop的新手,正在尝试将其流功能与Python编写的映射器和缩减器一起使用。问题是我的原始输入文件将包含要由映射器识别的行序列。如果我让Hadoop拆分输入文件,它可能会在序列的中间进行拆分,因此不会检测到该序列。所以,我正在考虑手动拆分文件。这也将打破一些序列,因此,除此之外,我还将提供替代拆分,以创建与“第一个”拆分重叠的文件。这样我就不会丢失任何序列。我将运行thisarticle中描述的以下命令:hduser@ubuntu:/usr/local/hadoop$bin/hadoopjarcontrib/streaming/hadoop-*streaming*.jar\-

hadoop - 计算大于 100MB 的 hdfs 压缩文件

有人可以帮我构建命令来计算HDFS中根目录中大于100MB的.snappy压缩文件的数量吗?我使用此命令从根目录中获取.snappy文件的数量:hdfsfsck/-files|grep".snappy"|wc-l现在我需要统计大于100MB的压缩文件。 最佳答案 使用hdfs和awk命令应该可以做到这一点。这是片段hdfsdfs-ls-R/path_to_dir/|awk'{if($5>104857600&&$8~/\.snappy/)print$8}' 关于hadoop-计算大于100

Hadoop Pig Max - 输出不正确

我在使用一个看似简单的PIGMAX函数时遇到了一些问题,但它对我不起作用。我做了一个分组,计算了总和。C3=FOREACHC2GENERATEgroup,SUM(C1.figures);我收到以下输出(Peter,345)(Paul,459)(Andi,500)现在我想得到最大值,这样输出就是(Andi,500)我正在尝试下面的代码C4=FOREACHC3GENERATE$0as(id:chararray),$1as(id2:long);C5=GROUPC4ALL;C6=FOREACHC5GENERATEC4.id,MAX(C4.id2);但是作为输出我得到了({Peter,Paul,

hadoop - 当 rolloverSize 设置为 150 MB 时,每隔几秒就会刷新一次 Flume 消息

我创建了一个flume管道,使用flume将数据从Kafka移动到HDFS。我已将rolloverSize设置为150MB,它可以正确滚动。但是我希望将消息频繁写入HDFS文件,而不是将所有消息一次性写入,即目前消息保存在缓冲区中,并在达到150MB大小时刷新。基本上,我想以近乎实时的方式将消息写入HDFS,并在达到150MB时翻转文件。我尝试设置batchSize属性,但没有太大帮助。上面的需求是否可以在flume中实现? 最佳答案 hdfs.rollInterval是你应该在你的flumeconf中设置的。此参数使Flume每隔

scala - Spark : split only one column in dataframe and keep remaining columns as it is

我正在读取spark数据框中的文件。在第一列中,我将得到两个用“_”连接的值。我需要将第一列拆分为两列,并保持其余列不变。我将Scala与Spark结合使用例如:col1col2col3a_1xyzabcb_1lmnopq我需要有新的DF作为:col1_1col1_2col2col3a1xyzabcb1lmnopq只有一列需要拆分成两列。我尝试使用带有df.select的拆分函数,但我需要为剩余的列编写选择并考虑具有100列的不同文件,我想对所有文件使用可重用代码。 最佳答案 你可以这样做:importspark.implicits

sql - 使用 MAX 的子句不能像我在 HIVE 查询中预期的那样工作

我正在尝试选择仅匹配表中最大DATE1列和前一个月的记录。我曾尝试使用标准的having子句语法编写此代码,但这没有用,所以我能够使用CTE获得我期望的结果。该解决方案应该适用于我正在尝试做的事情,但我更想了解为什么HAVING子句不起作用。在这些例子中MAX(DATE1)=2018-02-28查询我期待的工作selectID,sum(money)asmoney,date1fromtable1groupbyID,date1havingdate1betweenadd_months(max(date1),-1)andmax(date1)这将返回类似于此的结果集|ID|Money|date1

configuration - Hadoop 配置 - 映射器/组合器是否受 io.sort.factor 和 io.sort.mb 影响?

如果我修改io.sort.factor和io.sort.mb,在map端发生的本地排序是否使用这些变量,或者它们是否仅由在reducer端完成的排序使用? 最佳答案 是的,它们也用在map端(不管你有没有组合器):MapTask.javaio.sort.factor-第1695行io.sort.mb-第932-944行 关于configuration-Hadoop配置-映射器/组合器是否受io.sort.factor和io.sort.mb影响?,我们在StackOverflow上找到一个

sql - 如何用 Hive 做 Max in count(*)?

我有两个表:飞行:年份,产地机场:代码,名称这是一个数据样本:飞:1989,SF1989,SF1989,NY1993,NY1998,Par1998,Par1998,NY机场:SF,InternationalAirportNY,InterAirPar,CharlesdeGaulle我想获得每年使用最多的机场。所以首先我做了这个请求来获取每个机场每年出现的次数:SELECTv.Year,a.airport,count(*)FromairportsaJOINVolvON(a.iata=v.Dest)GroupByv.Year,a.airportORDERBYYearASC,airportAS

Hadoop2.4.0 创建 39063 映射任务以在具有无效 Inputsplit 配置的本地模式下处理 10MB 文件

我正在使用hadoop-2.4.0,所有默认配置如下:FileInputFormat.setInputPaths(job,newPath("in"));//10mbfile;justonefile.FileOutputFormat.setOutputPath(job,newPath("out"));job.getConfiguration().set("mapred.max.split.size","64");job.getConfiguration().set("mapred.min.split.size","128");PS:我设置的maxsplitsize小于min(一开始我设置